Atcoder abc265
https://atcoder.jp/contests/abc265/tasks
G - 012 Inversion
长n序列A, 元素只有0,1,2
q个询问
类型1, 输出A[l..r] 中逆序对个数
类型2, 同时 让A[l..r] 中 0->S,1->T,U->2
范围
n 1e5
q 1e5
5s
1024mb
我的思路
看起来, 就是 线段树 + 记录0,1,2个数 和逆需对个数
但是问题是, 虽然很容易计算 左侧选点 与右侧选点构成的逆需对个数
所以跨区间的容易计算
但是内部的 0,1,2 翻转 并不能只靠0,1,2个数就能得到
但如果记录 (0,1) (1,0) (0,2) (2,0) (1,2) (2,1) 个数
那么翻转就好计算了
甚至不需要记录逆对个数了, 直接统计(1,0) (2,0) (2,1) 个数即可
就过了..