摘要: [Violet]天使玩偶/SJY摆棋子 "题目传送门" 解题思路 用CDQ分治开了氧气跑过。 将输入给的顺序作为第一维的时间,x为第二维,y为第三维。对于距离一个询问(ax,ay),将询问分为四块,左上,右上,左下,右下,对于坐下,左下的dist即为ax+ay max(bx+by)。所以只要查询时间 阅读全文
posted @ 2019-09-18 21:19 whisperlzw 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 【模板】三维偏序(陌上花开) "题目传送门" 解题思路 用的CDQ分治。先以a为第一关键字,b为第二关键字,c为第三关键字从小到大排序。然后以b为关键字按照从小到大的顺序进行归并排序,在归并排序时,用树状数组来维护c。但是这样只能计算前面的元素对后面的元素的贡献,当存在相等的元素时就会漏算,所以在归 阅读全文
posted @ 2019-09-18 21:02 whisperlzw 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 聪聪可可 "题目传送门" 解题思路 点分治。分别统计(各个点到根的距离%3)的值为0,1,2的个数,然后统计不在同一颗子树中余数相加再%3的值为0的个数x,因为两个人可以选同一个点,所以x+n即为路径为3倍数的点对的个数。概率即为(x+n)/(n n)。 代码如下 cpp include defin 阅读全文
posted @ 2019-09-18 20:51 whisperlzw 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 【模板】点分治1 "题目传送门" 代码如下 cpp include define INF 0x3f3f3f3f using namespace std; typedef long long ll; const int N = 10005; struct T{ int r, w; T(int r, i 阅读全文
posted @ 2019-09-18 20:37 whisperlzw 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 【模板】树链剖分 "题目传送门" 代码如下 cpp include include include define maxn 100005 using namespace std; typedef long long ll; struct T{ int data, next; }e[maxn vec; 阅读全文
posted @ 2019-08-27 20:29 whisperlzw 阅读(162) 评论(0) 推荐(0) 编辑
摘要: Boring counting "题目传送门" 解题思路 后缀数组。枚举每种长度,对于每个字符串,记录其最大起始位置和最小起始位置,比较是否重合。 代码如下 阅读全文
posted @ 2019-08-27 19:57 whisperlzw 阅读(121) 评论(0) 推荐(0) 编辑
摘要: CSL 的密码 "题目传送门" 解题思路 后缀数组。对于每一个后缀$k$都有$n k + 1$个前缀,把所有不和前一个(排序后的)公共且长度大于$m$的前缀个数加起来。 代码如下 阅读全文
posted @ 2019-08-27 19:50 whisperlzw 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 【模板】后缀排序 "题目传送门" 代码如下 cpp include define INF 0x3f3f3f3f using namespace std; typedef long long ll; inline int read(){ int res = 0, w = 0; char ch = 0; 阅读全文
posted @ 2019-08-27 19:39 whisperlzw 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 魔法森林 "题目传送门" 解题思路 把每条路按照$a$的值从小到大排序。然后用LCT按照b的值维护最小生成树,将边按照顺序放入。如果$1$到$n$有了一条路径,就更新最小答案。这个过程就相当于枚举了每一个$a$作为最大的$a$,然后求出了其对应的最小$b$的最大值。 代码如下 阅读全文
posted @ 2019-08-24 15:47 whisperlzw 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 【模板】最小生成树 "题目传送门" 解题思路 用LCT来维护最小生成树。 除了把各顶点作为节点外,每条边也都视为一个节点。对于要加入的边$e$,检查其两顶点$x$和$y$是否在同一棵树中,如果不在,则让$e$连接$x$和$y$如果在一棵树中,则找到$x$到$y$的路径上最长的边,与$e$比较,如果$ 阅读全文
posted @ 2019-08-24 15:14 whisperlzw 阅读(157) 评论(0) 推荐(0) 编辑