M
逆序对+双端队列。
一开始以为要用值域线段树来动态维护,线段树都写完了突然发现由于是个 $1\sim n$ 的排列,所以并不需要。但是还是要先求出初始的逆序对数。
求出后,维护一个双端队列,每次根据是否翻转次数取出队头/队尾来计算其对答案的影响即可。
时间复杂度 $O(n\log n)$ 。
E
扩欧。
humblerats
推出来一个式子,是一个同余方程,然后我套了个扩欧,就能得出结果。
C
想了半天,只发现了如果在第 $i$ 次执行了第二种操作,那么第 $i$ 次之前的操作都是无关紧要的。
后来 dreamskycx
发现答案只有两种,取较大值即可。
L
赛后补的。
直接贴个题解。
G
赛后补的。
换根DP 。
只有两种情况,一种是两条路径没有交点,另一种是两条路径只有一个交点。
两种情况都需要用换根DP来求。