省选模拟8
\(T1:\)
分块,块内排序,因为M操作只有递增时有用,所以可以每次在块上暴力移动指针,均摊下来是对的
利用差分\(O(1)\)记录M操作使权值变化的次数,每次询问时重构所在块即可
A操作很简单,整块打标记,两端暴力重构即可
因为重构的块数是\(O(n)\)的,所以每次暴力sort就行了,复杂度是加起来的
最终复杂度为\(O(n \sqrt n +n log \sqrt n )\)
\(T2:\)
题解说的对啊!
\(T3:\)
考虑最小割,然后样例就炸了
发现有些路径经过了不止一条边,又发现这些路径都是从S集合->T集合->S集合->T集合
其中都经过了一条从T集合到S集合的边
考虑如何求在割去这种边的情况下的最小割
将反边设置为INF即可