上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 21 下一页
摘要: 同样是可以用LCT解决的树剖问题之一。 注意反转的时候要考虑对左右端点颜色的影响,而且要先反转再打标记(这点不知道为啥) 阅读全文
posted @ 2019-06-24 16:26 jrltx 阅读(252) 评论(0) 推荐(0) 编辑
摘要: LCT试炼题(代码量居然完爆树剖?) 阅读全文
posted @ 2019-06-22 15:33 jrltx 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 #include 4 using namespace std; 5 typedef long long ll; 6 const int N=1e6+10,M=26; 7 char s[N],s2[N]; 8 int n,f,k; 9 struct SAM { 10 int go[N][M],pre[N],mxl[N],c[... 阅读全文
posted @ 2019-05-09 23:30 jrltx 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 #include 4 using namespace std; 5 typedef long long ll; 6 const char* ss="ATCG"; 7 const int N=100+10,M=4,mod=100000; 8 int m,n; 9 char s[N]; 10 struct Mat { 11 i... 阅读全文
posted @ 2019-05-09 23:29 jrltx 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意:统计树上每个结点中恰好出现了k次的颜色数。 dsu on tree/线段树合并裸题。 启发式合并1:(748ms) 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int 阅读全文
posted @ 2019-05-01 22:17 jrltx 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 题目链接 吉司机线段树裸题... 阅读全文
posted @ 2019-04-26 18:56 jrltx 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意:在一条直线上依次建造n座建筑物,每座建筑物建造完成后询问它在多长的部分是最高的。 比较好想的方法是用线段树分别维护每个区间的最小值mi和最大值mx,当建造一座高度为x的建筑物时,若mi>x则答案无贡献,直接退出,若mx<=x则区间赋值为x,答案加上区间长度。其他情况需要继续递归搜索。 阅读全文
posted @ 2019-04-26 16:46 jrltx 阅读(326) 评论(0) 推荐(1) 编辑
摘要: 题目链接 题意:n个人排成一列,一开始他们互不认识,每次选[l,r]上的人开party,使他们互相认识,求出每次party之后新互相认识的人的对数。 思路:把“互相认识”变成单向连边,只考虑左边的人对右边的贡献。对于每个人,他认识的人的区间必然是连续的,可以维护他认识的最右边的人R,这样更新操作相当 阅读全文
posted @ 2019-04-26 14:07 jrltx 阅读(427) 评论(0) 推荐(1) 编辑
摘要: 题目链接 kd树+插入操作 不知为啥我的常数纳么大,加了快读才过的┐(゚~゚)┌ 阅读全文
posted @ 2019-04-25 15:10 jrltx 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 题目链接 splay: 无旋treap(FHQ-treap): 阅读全文
posted @ 2019-04-24 21:05 jrltx 阅读(196) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 21 下一页