"题目链接" 带修改莫队: 普通莫队的扩展,依旧从[l,r,t]怎么转移到[l+1,r,t],[l,r+1,t],[l,r,t+1]去考虑 对于当前所在的区间维护一个vis[l~r]=1,在修改值时根据是否在当前区间内修改即可。 块大小取$O(n^{\frac{2}{3}})$,排序依次按左端点所在 ...
分类:
其他好文 时间:
2018-02-21 10:45:54
阅读次数:
119
枚举每个人,计算他必定是诚实者的情况下至少有几个人说谎,若超过$t$则他肯定是说谎者。 对于至少有几个人说谎,区间信息可以合并: 每个区间维护最左最右两个人$l,r$以及$f[i][j]$表示$l$和$r$诚实说谎状态分别为$i,j$时他们之间至少几个人说谎。 利用前缀和、后缀和可以在$O(1)$时 ...
分类:
其他好文 时间:
2018-02-18 10:31:26
阅读次数:
105
【题意】给定n棵高度初始为0的草,每天每棵草会长高a[i],m次收割,每次在d[i]天将所有>b[i]的草收割到b[i],求每次收割量。n<=500000。 【算法】线段树上二分 【题解】按照生长速度a[]排序后,容易发现数列永远单调。 在线段树上的区间维护以下值: 1.最后一棵草的高度a 2.上次 ...
分类:
其他好文 时间:
2018-02-15 15:58:04
阅读次数:
148
滚回来更新,,, 在Day1我们学了最基本的线段树套平衡树 Day2开始我们要学习一些黑科技 (所以很大概率会出现Day3 w 1.线段树上的黑科技 这一段我们分几项来讲 1.权值线段树 权值线段树以权值为下标建树(就像求逆序对时用的树状数组),一开始所有节点都为0,通过线段树的区间极值,区间和来表 ...
分类:
其他好文 时间:
2017-12-16 19:40:49
阅读次数:
131
今天满课啊,天气太冷了,网上找了一下虚树的东西,还没弄懂~~~(;´д`)ゞ 牛客网挑战赛1 给定一棵n个点的树,问其中有多少条长度为偶数的路径。路径的长度为经过的边的条数。x到y与y到x被视为同一条路径。路径的起点与终点不能相同。 输入描述: 输出描述: 示例1 输入 3 1 2 1 3 输出 1 ...
分类:
其他好文 时间:
2017-10-18 00:22:13
阅读次数:
129
单调栈解决的是以某个值为最小(最大)值的最大区间,实现方法是:求最小值(最大值)的最大区间,维护一个递增(递减)的栈,当遇到一个比栈顶小的值的时候开始弹栈,弹栈停止的位置到这个值的区间即为此值左边的最大区间;同时,当一个值被弹掉的时候也就意味着比它更小(更大)的值来了,也可以计算被弹掉的值得右边的最 ...
分类:
其他好文 时间:
2017-10-02 17:18:55
阅读次数:
191
做完题目很少有写题解的习惯,强行PO一组吧。 比赛链接:https://www.codechef.com/LOCAUG17 PRINCESS 给定字符串s,问s是否存在长度大于1的回文子串。 解:分两种情况。设n=|s|。 1. 存在回文子串长度为奇数。则存在2<=i<n,使得s[i-1]==s[i ...
分类:
其他好文 时间:
2017-08-25 19:55:19
阅读次数:
212
这个题目是Segment-Tree-beats的论文的第一题。 首先我们考虑下这个问题的不同之处在于,有一个区间对x取max的操作。 那么如何维护这个操作呢? 就是对于线段树的区间,维护一个最大值标记,最大值出现次数,以及严格次大值。 接下来考虑处理操作。 首先如果x>maxv[o]证明已经是无所谓 ...
分类:
其他好文 时间:
2017-08-17 21:32:50
阅读次数:
205
写了5KB,1发AC。。。 题意:给出一颗树,支持5种操作。 1.修改某条边的权值。2.将u到v的经过的边的权值取负。3.求u到v的经过的边的权值总和。4.求u到v的经过的边的权值最大值。5.求u到v经过的边的权值最小值。 基于边权的树链剖分,放在线段树上变成了区间维护问题了,线段树维护4个量min ...
分类:
其他好文 时间:
2017-05-22 00:15:43
阅读次数:
237
题意: 给定一个数列,最多10万次查询l到r不超过h的数字的个数。 分析: 唉,太菜啦。 在线做法应该比较明显,区间维护平衡树,用线段树套平衡树,或者分块套平衡树,应该都能A,但是没试过,只是BB,如有错误欢迎指正。 其实最方便的做法离线做法,太巧妙啦。 把数列按升序排列,把所有查询按h升序排列。 ...
分类:
编程语言 时间:
2017-05-20 18:55:27
阅读次数:
216