摘要:
思路: 抄一波yousiki的… 显然,暴力求解的复杂度是无法承受的。 考虑这样的一种暴力,我们把 z 到根上的点全部打标记,对于 l 到 r 之间的点,向上搜索到第一个有标记的点求出它的深度统计答案。观察到,深度其实就是上面有几个已标记了的点(包括自身)。所以,我们不妨把 ... 阅读全文
摘要:
思路: 李超线段树 我是把线段转成斜率的形式搞得 不知道有没有更简单的方法//By SiriusRen#include #include #include #include using namespace std;int mod1=39989,mod2=1000000000;#d... 阅读全文
摘要:
思路: 李超线段树裸题//By SiriusRen#include #include #include #include using namespace std;#define N 100050int n,t;char op[10];struct Tree{double s,p;}... 阅读全文
摘要:
思路: 论文题……*n 倒过来接上 分奇偶讨论 求LCP 搞棵线段树即可//By SiriusRen#include #include #include using namespace std;#define N 5555int cases,pos,maxans,n,cntA[... 阅读全文
摘要:
思路: 论文题*n Σn-i-ht[i]+1 就是结果 O(n)搞定~//By SiriusRen#include #include #include using namespace std;#define N 55555int cases,n,cntA[N],cntB[N],A[... 阅读全文
摘要:
思路: 论文题 后缀数组&RMQ有一些题解写得很繁//By SiriusRen#include #include #include #include using namespace std;#define N 100050int n,cases,cntA[N],cntB[N],A[... 阅读全文
摘要:
思路: 论文题… 二分+对后缀分组这块一开始不用基数排序 会更快的(其实区别不大)//By SiriusRen#include #include #include using namespace std;#define N 20050int n,k,s[N],cntA[N],cnt... 阅读全文
摘要:
思路: 后缀数组论文题 对后缀分组//By SiriusRen#include #include #include using namespace std;#define N 20005int n,s[N],cntA[N],cntB[N],A[N],B[N],rk[N],sa[N]... 阅读全文
摘要:
思路: 后缀数组 第一次写 留个模板吧先求出后缀数组,问题转换为询问height数组中连续k-1个数的最小值的最大值,单调队列扫描一遍即可。—yousiki手懒用得STL//By SiriusRen#include #include #include #include using ... 阅读全文
摘要:
思路: 1.找次大值 我们不妨设当前点是次大的 那这段区间为 左边第二个比它大的点的坐标+1 和右边第二个比它大的点的坐标-1 2.用可持久化trie树找异或最大值也可以用莫队//By SiriusRen#include #include #include using na... 阅读全文