随笔分类 - 字符串——字典树 Trie
摘要:https://acm.hdu.edu.cn/showproblem.php?pid=6955 题意: 找最短的异或和>=k的连续子序列 先求前缀异或和a[] 问题转化成求l和r(l<r),满足a[r]^a[l]>=k且r-l最小 用字典树存储每个节点对应异或区间的最靠后的位置 把0位置异或0加进字
阅读全文
摘要:题意: 给出一个字典树 给出一个字符串 匹配的时候,如果在字典树上失配了,则回到根节点,从字符串的下一个位置开始匹配 给出q个询问 每次询问字符串区间[l,r],会在字典树上失配几次,最后停在字典树的哪个节点 求出字典树上的所有前缀哈希值,并标记这个哈希值对应的字典树上的节点 二分+上面的哈希值 求
阅读全文
摘要:http://codeforces.com/contest/923/problem/C Trie树
阅读全文
摘要:期望得分:100+100+40=240 实际得分:100+100+20=220 T1 sum[r]^sum[l-1]<k 对前缀异或和建trie树 假设当前是第i位,sum[r]的地i位是l 如果k的第i位为1,累加l,当前指针转到sum[r]的l^1 否则,当前指针直接转到sum[r]的l #in
阅读全文
摘要:期望得分:100+100+0=200 实际得分: 坐标的每一位不是0就是1,所以答案就是 C(n,k) #include<cstdio> #include<iostream> using namespace std; const int mod=1e9+7; void read(int &x) {
阅读全文
摘要:实际得分:100+0+0=100 T1 右上角是必败态,然后推下去 发现同行全是必胜态或全是必败态,不同行必胜必败交叉 列同行 所以n,m 只要有一个是偶数,先手必胜 #include<cstdio> using namespace std; int main() { freopen("star.i
阅读全文
摘要:期望得分:20+40+100=160 实际得分:20+20+100=140 破题关键: f(i)=i 证明:设[1,i]中与i互质的数分别为a1,a2……aφ(i) 那么 i-a1,i-a2,…… i-aφ(i) 也与i互质 所以 Σ ai = i*φ(i)- Σ ai 所以 Σ ai = i*φ(
阅读全文
摘要:5分。。。。 T1 LOJ 计算几何瞎暴力 维护以下操作: 1、序列末尾加一个数 2、序列全体从小到大排序 3、查询区间和 4、序列全体异或一个数k 序列全体异或一个数,很明显是trie树 那么序列全体从大到小排序就是把一个个数插入trie树的过程 那么就需要一个数组,存储还没有插入trie树的数
阅读全文
摘要:Finding Palindromes http://poj.org/problem?id=3376 Time Limit: 10000MS Memory Limit: 262144K Case Time Limit: 2000MS Description A word is called a pa
阅读全文
摘要:https://vjudge.net/problem/UVA-11732 题意: 给出许多字符串,他们两两按下面的函数比较 输出比较次数 s[i]==t[i] , 和 s[i]=='\0' 各算一次比较 法一: 每两个字符串,要么全部匹配,要么中间停止匹配 如果全部匹配,比较次数为 2*len+2(
阅读全文
摘要:https://vjudge.net/problem/UVALive-3942 题意:给出一个字典和一个字符串,将这个字符串分解成若干个单词的连接(单词可以重复使用),问有多少种分法 dp[i]表示以i开始(即后缀[i,L])的字符串的分解方案数 dp[i]=Σ dp[i+len[x]] (x是[i
阅读全文
摘要:3261: 最大异或和 Description 给定一个非负整数序列 {a},初始长度为 N。 有 M个操作,有以下两种操作类型: 1 、A x:添加操作,表示在序列末尾添加一个数 x,序列的长度 N+1。2 、Q l r x:询问操作,你需要找到一个位置 p,满足 l<=p<=r,使得: a[p]
阅读全文
摘要:Trie树(字典树) 一、引入 字典是干啥的?查找字的。 字典树自然也是起查找作用的。查找的是啥?单词。 看以下几个题: 1、给出n个单词和m个询问,每次询问一个单词,回答这个单词是否在单词表中出现过。 答:简单!map,短小精悍。 好。下一个 2、给出n个单词和m个询问,每次询问一个前缀,回答询问
阅读全文
摘要:统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submission(s): 36643 Accepted Submission(s): 13626 Problem
阅读全文