摘要: "570D Tree Requests" 题意 给出一棵树,每个节点上有字母,查询 u k,问以 u 为根节点的子树下,深度为 k 的所有子节点上的字母经过任意排列是否能构成回文串。 分析 一个数组 $C[i][j]$ 表示深度为 $i$ 字母为 $j$ 的数量,数组 $odd[i]$ 表示深度为 阅读全文
posted @ 2017-07-19 22:07 ftae 阅读(260) 评论(0) 推荐(0) 编辑
摘要: "246E Blood Cousins Return" 题意 给出一棵家谱树,定义从 u 点向上走 k 步到达的节点为 u 的 k ancestor,每个节点有名字,名字不唯一。多次查询,给出 u k,问以 u 为根节点的子树下有多少个深度为 dep[u] + k 的节点(dep[u] 为节点 u 阅读全文
posted @ 2017-07-19 22:05 ftae 阅读(368) 评论(0) 推荐(0) 编辑
摘要: "Distinct Substrings" 题意 求一个字符串有多少个不同的子串。 分析 又一次体现了后缀数组的强大。 因为对于任意子串,一定是这个字符串的某个后缀的前缀。 我们直接去遍历排好序后的后缀字符串(也就是 $sa$ 数组),每遍历到一个后缀字符串,会新添数量为这个后缀字符串的长度的前缀, 阅读全文
posted @ 2017-07-19 22:03 ftae 阅读(146) 评论(0) 推荐(0) 编辑
摘要: "poj1743" 题意 给出一个数字序列(串),现在要去寻找一个满足下列条件的子串: 1. 长度不小于 5 2. 存在重复的子串(如果把一个子串的所有数字都加上或减去一个值,与另一子串的数字对应相同,我们称它们重复) 3. 重复的子串之间不能重叠 分析 把相邻的数字作差(后面的减前面的)得到一个新 阅读全文
posted @ 2017-07-19 22:02 ftae 阅读(202) 评论(0) 推荐(0) 编辑