我还是按bzoj AC数量排序做的
4827 这个其实如果推一下(求每个值)式子会发现是个卷积,然后FFT就好了
4826 记不太清了,可以求出每个点左右第一个比他的的点的位置,将点对看成平面上的点,横坐标左端点纵坐标右端点,上述贡献分别对应单点加和线段加,查询就是矩形求和,用主席树维护即可
4825 这个我想做好久了,今天突然会了,因为他spaly的都是最大值或最小值,其实就直接把他放到根,其他形态不变在他的某个子树上,因为还有插入操作,就可以用splay维护这个spaly的dfs序。
我还是按bzoj AC数量排序做的
4827 这个其实如果推一下(求每个值)式子会发现是个卷积,然后FFT就好了
4826 记不太清了,可以求出每个点左右第一个比他的的点的位置,将点对看成平面上的点,横坐标左端点纵坐标右端点,上述贡献分别对应单点加和线段加,查询就是矩形求和,用主席树维护即可
4825 这个我想做好久了,今天突然会了,因为他spaly的都是最大值或最小值,其实就直接把他放到根,其他形态不变在他的某个子树上,因为还有插入操作,就可以用splay维护这个spaly的dfs序。