随笔分类 -  字符串处理——字典树

摘要:2018-2019 ICPC, NEERC, Southern Subregional Contest 闲谈: 被操哥和男神带飞的一场ACM,第一把做了这么多题,荣幸成为7题队,虽然比赛的时候频频出锅,差点被鸽,但还算打完了5h 总的来说这场还是不算难的,7题还是少了点 A 题目: 给出a,b,求出 阅读全文
posted @ 2018-10-23 15:05 Star_Feel 阅读(365) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ4477】 简要题意: 给出一棵n个点的树,树上的边都代表一个字符串,给出Q个询问,每个询问输入x,y和字符串s,求出x到y的路径上以s为前缀的字符串个数 题解: 自己yy了一波可持久化字典树 将每条边的字符串放到深度更深的节点保存 对于x到y的路径,将rt[x]+rt[y]-2* 阅读全文
posted @ 2018-04-24 08:18 Star_Feel 阅读(270) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ3261】 简要题意: 给出n个数,有m个操作,有两种操作: A x在序列末尾添加一个数x,序列长度+1 Q l r x在l到r中选出一个位置q,使得a[p]^a[p+1]^... ^a[n]^x最大,求出这个最大值 题解: 可持久化01字典树的例题 其实建图和查找都和主席树差不多 阅读全文
posted @ 2018-04-22 20:27 Star_Feel 阅读(196) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ3439】 简要题意: 给出n个字符串,给出ki,求出以每个字符串为后缀的字符串中的编号为ki的字符串,如果没有则输出-1 题解: 倒着把字符串插进字典树里,这样子就可以保证一个点是它的子树的所有点的后缀(字典树里一个点代表一个字符串) 然后跑一遍dfs,求dfs序,然后用主席树求 阅读全文
posted @ 2018-04-17 15:12 Star_Feel 阅读(194) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ4260】 简要题意: 给出一个长度为n的序列 求出l1,r1,l2,r2,使得a[l1]^a[l1+1]...a[r1]+a[l2]^a[l2+1]...a[r2]最大,且1<=l1<=r1<l2<=r2<=n 题解: 01字典树,get到了字典树处理异或和的操作 只要用贪心的思 阅读全文
posted @ 2018-04-16 13:48 Star_Feel 阅读(219) 评论(0) 推荐(0) 编辑
摘要:【传送门:51nod-1526】 简要题意: 给出n个真名和笔名,都是字符串 要求n个真名和笔名一一匹配,一个真名和一个笔名所带来的价值是这两个字符串的最长公共前缀 题解: 直接将真名和笔名插进字典树里面 d1[i]表示真名在字典树的的第i个点被经过的次数,d2[i]表示笔名在字典树在第i个点经过的 阅读全文
posted @ 2018-04-13 14:07 Star_Feel 阅读(210) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ1212】 简要题意: 给出n个单词,m个母串,输出每个母串最多能用单词覆盖的最长前缀长度(单词与单词之间不可重叠) 题解: 一开始想着用AC自动机,结果发现fail指针一点用也没有 就直接建字典树,v[i]表示母串1到i能够被单词覆盖,true表示能覆盖,一开始v[0]=true 阅读全文
posted @ 2018-01-30 16:23 Star_Feel 阅读(205) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示