tg 41 solution?
T1
照着题解写就完事了
\(S<0\)这部分分就是把所有\(a_i>S\)的全部扔掉
剩下就是\(S\geq 0\)
分讨:
\(1.a_i>0\)这部分就是如果加了以后\(sum>S\)就把最大值全扔掉
\(2.a_i<0\)这部分就把最小值全扔掉,最后把\(x\)插进去
部分分:
随随便便啥都不干xjb二分可\(40pts\)
check写最大子段和
默认删权值最大的前\(i\)个
T2
随随便便搞搞?但是码很烦......
随着它向上走,当前权值单调不降
于是对于每个节点维护一个类似单调栈一样的东西?
但是我们似乎维护单调栈很麻烦的样子......
于是直接重建一棵树代替一下
倍增一下都能搞了
(实际上删去的点显然连续区间,用上倍增确认在哪插点就好了)
(同,有可持久化栈做法,但是没搞过)
暴力分:
纯暴力可以拿\(20pts\)
后边\(kiritokatuzo\)先生的主席树\(70pts\)
T3
不会

浙公网安备 33010602011771号