启发式合并
alan_cty
蒟蒻一只
别打脸(⊙o⊙)哦
展开
-
[bzoj3123][SDOI2013]森林
Description给出一片森林,要求维护以下操作。 Q x,y,k 询问x到y的路径上权值第k小的是什么。 L x,y 在x,y之间连一条边,保证操作之后原图仍是一片森林。 强制在线。 n<=8*10^4,权值<=10^9Solution看到求k小值,立马想到主席树。(Chair_Man Tree大法好) 那么询问操作很简单。 那么合并呢? 启发式合并! 也就是选择要合并的两棵树原创 2016-07-01 12:47:19 · 748 阅读 · 0 评论 -
西行妖
Description给出一棵树,你可以让最多s个叶子节点被染色。 然后,如果一个节点的儿子至少有一个被染色,那么他也会被染色。 如果一棵树有大于等于m个被染色的点,那么这棵树就是美丽的。 问给出一棵树,有多少种染色方案使得它是美丽的。 n,m<=1000,s<=20Solution很好的一道考验思维的题目。 我们可以按照dfs序中的顺序来对叶子节点进行dp。 我们设F[i,j,k]表示原创 2016-07-09 17:20:37 · 853 阅读 · 1 评论 -
【GDOI2017模拟8.14】守鹤之砂
Description有n个数,执行n-1次合并。 每次合并两个数所在的集合并进行一次询问。 把这个合并后的集合里的数按照数轴上的顺序排序,你可以任意交换相邻的两个数,时间为他们之间的距离。 交换可以同时进行,一个数在进行交换时不能被选择。 当最小值和最大值进行交换时,时间为距离/2并且询问结束。 求最小时间。 n<=50000Solution首先,一次询问的答案是,对于相邻的两个数aj原创 2016-08-15 22:22:36 · 601 阅读 · 0 评论 -
[校内模拟]字符串
Description定义一个字符串S的权值f(S)为,其所有不同后缀两两的LCP的最大值给出一个字符串S,每个位置有权值aim次询问,每次询问给出[l,r,x],求一个[l,r]的子区间[a,b],满足f(S[a,b])>=x,且max(ai)最小n,m<=5e4Solution这题分成两部分1:给出[L,R],求f(S[L,R])考虑SAM,枚举parent树上的一...原创 2019-06-29 22:13:17 · 273 阅读 · 0 评论