上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 24 下一页
摘要: HDU 6567 首先我们发现每棵树内部的距离已经固定,只有经过新边的路径才会产生贡献。 又因为重心到树上所有节点的距离和最小,所以我们连接两树重心。 然后我们想到一个经典套路:计算距离可以不枚举点,只枚举边。于是我们枚举每条边,计算出它们各自被经过的次数,再求和即为答案。 维护 \(siz_x\) 阅读全文
posted @ 2024-07-25 17:32 _KidA 阅读(48) 评论(0) 推荐(0)
摘要: 树的重心 当 \(u\) 作为根时,其节点数最大的子树最小,则称 \(u\) 为树的重心。 性质一:节点数最大的子树的节点数不超过 \(\frac{节点总数}{2}\)。 (反证法,若某重心 \(u\) 的节点数最大的子树的节点数超过 \(\frac{节点总数}{2}\),则将其一个子节点提起来会更 阅读全文
posted @ 2024-07-24 17:35 _KidA 阅读(38) 评论(0) 推荐(0)
摘要: 树的中心 当选取树上节点 \(u\) 为根时,最长链最短,则称 \(u\) 为树的中心。 性质一:至多 \(2\) 个且一定相邻。 性质二:一定位于树的直径上。 性质三:若一棵树有多条直径,则它们必定交于树的中心。 性质四:树的中心为根时,根到直径两端点分别为最长 / 次长链。 U392706 板子 阅读全文
posted @ 2024-07-24 17:00 _KidA 阅读(55) 评论(0) 推荐(0)
摘要: 树的直径: 定义:树上两个距离最远的点形成的简单路径(不重复走一条边 / 点) 性质: 不唯一。 树的直径的端点一定是度数为 \(1\) 的点。 证明:显然。 树的直径若有多条,则必交汇于一点,即中心。 证明:首先每条直径只能交于端点(因为是一棵树,一个节点不能有两个父节点),然后此交点必定为最长链 阅读全文
posted @ 2024-07-23 15:56 _KidA 阅读(56) 评论(0) 推荐(0)
摘要: 退役选手复活后的第一篇。 https://www.luogu.com.cn/problem/SP4033 其实只要一个 insert. 就是插入时没新建节点 \(\to\) 自己是别人前缀, 插入时途经了别人的结束节点 \(\to\) 别人是自己前缀。 code #include<bits/stdc 阅读全文
posted @ 2024-07-09 18:02 _KidA 阅读(37) 评论(0) 推荐(0)
摘要: \(\mathcal{TRIE}\):用于存储和查询字符串的树形结构,相同前缀的字符串共用节点,每个节点存储一个字符。 操作: insert:单次 \(O(len)\) search:单次 \(O(len)\) 性质 \(1\):若一个字符串 \(T\) 作为前缀,则包含 \(T\) 的所有字符串的 阅读全文
posted @ 2024-06-20 17:49 _KidA 阅读(45) 评论(0) 推荐(0)
摘要: T1 这是一道 manacher 模板,但是我们使用 二分 + hash \(O(n \log n)\) 的做法。 显然地,若长为 \(len\) 的回文串存在,则长为 \(len-2,len-4,...\) 的回文串也一定存在(在两端各删去若干相同字符即可)。 至此,我们发现回文串分两类:奇回文串 阅读全文
posted @ 2024-06-08 21:54 _KidA 阅读(46) 评论(0) 推荐(0)
摘要: T1 第一问开桶统计即可。 第二问我们采用双指针,不断地移动 \(r\) 直到包下含有最多单词数的区间,再移动 \(l\) 使答案更优并不断更新答案即可。 具体有一些细节见代码。时间复杂度 \(O(n \log n)\)。 可以把代码中的两个 map 换成数组存 hash value,时间可以降至 阅读全文
posted @ 2024-05-25 23:03 _KidA 阅读(47) 评论(0) 推荐(0)
摘要: hash function(哈希函数) 将一个规模很大的字符串用特定规则转化为特定数值, 这种特定规则,我们称之为 hash function。 hash value(哈希值) 字符串由哈希函数生成的数值。 hash collision(哈希冲突) 多个字符串得到了相同的 hash value。 算 阅读全文
posted @ 2024-05-18 23:12 _KidA 阅读(52) 评论(0) 推荐(0)
摘要: T1 https://www.luogu.com.cn/article/wldjmsdb T2 观察到 \(1 \le k \le 16\),考虑状压 dp。 显然的(?),我们令 \(dp_{i,j}\) 表示买了前 \(i\) 个物品,且硬币使用状况为 \(j\) 时的最小花费。 很遗憾,这个状 阅读全文
posted @ 2024-05-14 19:00 _KidA 阅读(46) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 24 下一页