T1
可以发现值域的区间最多有klnk个,对于位置分块,每个块都处理出每个k的ans,
复杂度$ O(S*(n/S+klnk)+m*(n/S+S)) $
当S=sqrt(klnk+n)时复杂度最优
T2
先把x排序
$ f[i][0/1] $代表以i为第一个端点向左/右的方案数,枚举j:
1> $ y[j]<y[i] f[i][0]+=f[j][1]; $
2> $ y[j]>y[i] $ 枚举$ j<k<i $ && $ y[k]<y[i] f[j][1]+=f[k][1] $
复杂度 $ O(n^3) $
接着我们发现根本不用枚举k,他的sum值就是现在的f[i][0]
T3
考虑逆着把1全染成0
枚举每个点,以这个点为中心不断地把和它在一个块里面的全染成另一个颜色,直到全成0
这个结论我也不会证明
这样的复杂度是 $ O(n^5) $ 的,本题无法承受
经过观察可以发现,最后的答案就是相邻点建边(同色w=0,不同w=1)的到黑色点的dis最大值。
复杂度 $ O(n^4) $