随笔分类 -  启发式合并/分裂

摘要:Manager,GCD再放送,dict 阅读全文
posted @ 2021-03-05 18:55 liuchanglc 阅读(91) 评论(0) 推荐(2)
摘要:matrix,sequence,permutation 阅读全文
posted @ 2021-03-01 18:26 liuchanglc 阅读(83) 评论(0) 推荐(2)
摘要:GCD和LCM,平面图,路径 阅读全文
posted @ 2021-01-26 09:17 liuchanglc 阅读(87) 评论(0) 推荐(1)
摘要:题目描述 分析 因为一个节点被放了小球后,它的所有祖先节点都要放小球 所以我们可以在递归的时候再把儿子的贡献上传 对于没有小桶限制的情况,显然是一个 \(dsu\) 的板子 对于有小桶限制的情况,关键是怎么处理重复的颜色 我们可以开一个数组记录一下当前颜色最早出现在哪一次操作中 统计当前颜色答案的时 阅读全文
posted @ 2020-10-19 15:45 liuchanglc 阅读(120) 评论(2) 推荐(1)
摘要:题目描述 分析 我们要找的是一段区间的和减去该区间的最大值能否被 \(k\) 整除 那么对于一段区间,我们可以先找出区间中的最大值 然后枚举最大值左边的后缀与最大值右边的前缀之和是否能被 \(k\) 整除 显然暴力枚举肯定会超时 所以我们可以用启发式合并的思想,只枚举长度较小的那一半,而在某种数据结 阅读全文
posted @ 2020-10-17 11:08 liuchanglc 阅读(101) 评论(0) 推荐(1)
摘要:题目描述 一棵根为$1$ 的树,每条边上有一个字符($a-v$共$22$种)。 一条简单路径被称为$Dokhtar-kosh$当且仅当路径上的字符经过重新排序后可以变成一个回文串。 求每个子树中最长的$Dokhtar-kosh$路径的长度。 输入输出样例 输入 #1 4 1 s 2 a 3 s 输出 阅读全文
posted @ 2020-10-08 16:59 liuchanglc 阅读(169) 评论(0) 推荐(0)
摘要:题目描述 分析 方法一(线段树) 线段树维护的是以当前节点为左端点的区间的贡献 而区间的右端点则会从 $1$ 到 \(n\) 逐渐右移 当我们把右端点从 \(i-1\) 的位置扩展到 \(i\) 的位置时 如果原先区间的最近公共祖先到根节点的路径中经过 \(a[i-1]\) 和 \(a[i]\) 的 阅读全文
posted @ 2020-10-07 15:12 liuchanglc 阅读(160) 评论(0) 推荐(0)
摘要:题目描述 有一棵 \(n\) 个结点的以 $1$ 号结点为根的有根树。 每个结点都有一个颜色,颜色是以编号表示的, \(i\) 号结点的颜色编号为 $c_i$​。 如果一种颜色在以 \(x\) 为根的子树内出现次数最多,称其在以 \(x\) 为根的子树中占主导地位。显然,同一子树中可能有多种颜色占主 阅读全文
posted @ 2020-10-06 21:39 liuchanglc 阅读(137) 评论(0) 推荐(0)
摘要:幂次序列 哈希+启发式合并 题目描述 传送门 分析 我们先不考虑精度问题 暴力的思想是对于每一个点$i$,向前找是否存在一个点$j$,使得$sum[i]-sum[j-1]=2^k$ 我们考虑优化这个暴力 对于一段长度为$k$的区间,我们可以找到这个区间中的最大的数$a[i]$ 而区间的和的指数一定不 阅读全文
posted @ 2020-09-08 21:06 liuchanglc 阅读(207) 评论(0) 推荐(2)