摘要: 题目来自《算法竞赛设计指南》 Tire树是一种可以快速查找字符串的数据结构 模板 例题.前缀统计 问题: 给n个字符串和m次询问,每次询问给定一个串T,输出有多少个字符串是T的前缀 解答:加入每个字符串的时候在结尾节点加1, 给T后在Tire树上搜一遍,加上沿途字符串结尾的值即可。注意可能有重复的字 阅读全文
posted @ 2018-10-02 21:19 Sugewud 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 基础算法 倍增 贪心 分块 二分 三分 数据结构 线段树 对顶堆 数学 质数 约数 同余 组合 矩阵乘法 图论 二分图判定以及最大匹配 字符串 Tire树 KMP 最小表示法 Hash Manacher 其他 雅礼集训 对拍教程 阅读全文
posted @ 2018-10-02 16:04 Sugewud 阅读(170) 评论(0) 推荐(0) 编辑
摘要: poj 1985(模板题) 先随便找个点dfs一次找到距离最远的点,再从那个点再同样dfs一次,那个点到其他点最长的距离即为树的直径 不过这种方法不适用于有负权边 还可以用树形dp 树的直径是由其中一个端点到其他端点的最远距离和次远距离组成的 可以用这个性质来dfs 树形dp其实更好写 然后发现其实 阅读全文
posted @ 2018-10-02 11:33 Sugewud 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 点的距离(模板题) 树中两点间的距离就是d[u] + d[v] - 2 * d[lca(u, v)] 暗的连锁 这道题首先有个转化 切两刀能不能切断,取决于非树边,因为非树边会构成环 那么可以把非树边构成的环上所有的树边都覆盖一次 如果只覆盖一次,那么显然有唯一解 如果没有被覆盖,那就加上非树边的数 阅读全文
posted @ 2018-10-02 09:54 Sugewud 阅读(220) 评论(0) 推荐(0) 编辑