是的我BZOJ又没卡过……懒得卡了。
参考:
参考的$O(n)$预处理我反正没看懂……设$L[i]$为i向左能够取到的最远位置,$R[i]$同理。
则我们$O(nlogn)$就能求出来,就是前缀和维护一个st表区间最小值,这样二分答案只要check这个区间最小值+前面没有取到的贡献就行了。
判断的话实际转换成求$L,R$必须满足$L[R]<=L$ $R<=R[L]$
我们可以对R进行排序然后树状数组维护L,具体的做法可以看代码画个图,你就知道为啥对了。
#include
本文共 1261 字,大约阅读时间需要 4 分钟。
是的我BZOJ又没卡过……懒得卡了。
参考:
参考的$O(n)$预处理我反正没看懂……设$L[i]$为i向左能够取到的最远位置,$R[i]$同理。
则我们$O(nlogn)$就能求出来,就是前缀和维护一个st表区间最小值,这样二分答案只要check这个区间最小值+前面没有取到的贡献就行了。
判断的话实际转换成求$L,R$必须满足$L[R]<=L$ $R<=R[L]$
我们可以对R进行排序然后树状数组维护L,具体的做法可以看代码画个图,你就知道为啥对了。
#include
转载于:https://www.cnblogs.com/luyouqi233/p/9209011.html