字典树
文章平均质量分 61
飞猪不会飞123
ICPC区域赛银,2年算法竞赛辅导经历。北京师范大学计算机研究生
展开
-
CF566A-贪心+字典树
题目大意: 给你两堆字符串,让你给他们两两匹配使得LCPLCPLCP和最大。 题目思路: 首先的第一个想法:先将一堆字符串插到字典树里,之后将另一堆字符串,一个一个贪心查询尽量长的LCP,然后删除。 这样不正确,因为一旦你无法全部匹配,选择删哪一个就会有后效性. 第二个想法:在上面的基础上,先将第二堆LCP排序后再删。 这样显然又不对,删完以后其他字符串的LCP是动态变化的。也无法动态维护字符串的LCP。 考虑在字典树中的每个节点都保存含有该前缀的字符串们。这样就可以枚举LCP 如果我们从叶子节点一层一层往原创 2021-08-27 21:19:13 · 114 阅读 · 0 评论 -
CF888G-巧妙字典树+暴力分治(异或最小生成树)
题目大意 给你一张完全图,任意两个点之间的边权是ai⊕aja_i\oplus a_jai⊕aj.问你最小生成树大小 题目思路 看到异或位运算。自然想到字典树.将所有点插入到字典树.看看效果 性质: 令SiS_iSi为节点iii的所有叶子节点在图中所构成的连通块. 1.图中任意两点连边,等价于树上的对应叶子节点lcalcalca往下的花费。所以LCALCALCA越深越好 2.任意一个节点,若存在两个儿子a,ba,ba,b,那么对于将Sa,SbS_a,S_bSa,Sb联通时,这一位的花费是固定不可避原创 2021-08-27 14:58:43 · 186 阅读 · 0 评论