随笔分类 -  字符串-trie

摘要:题目链接 "BZOJ4896" 题解 thu怎么那么喜欢出trie树的题。。。 我们当然可以按题意模拟建trie 询问的时候,由于存在删除操作,不满足单调性,不能直接二分答案 我们就在每个节点上用vector储存每个值第一次出现的时间点 每次询问找到那个点二分一下即可 阅读全文
posted @ 2018-05-25 09:55 Mychael 阅读(213) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ4103" 题解 一眼看过去是二维结构,实则未然需要树套树之类的数据结构 区域异或和,就一定是可持久化trie树 观察数据,m非常大,而np比较小,甚至可以每次询问都枚举xi 所以我们可以考虑对yitrie,每次询问取出对应区间的xi在对 阅读全文
posted @ 2018-05-24 20:11 Mychael 阅读(167) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ4567" 题解 题意真是鬼畜= = 意思就是说我们应先将一个串的所有后缀都插入之后再插入这个串,产生代价为其到上一个后缀的距离 我们翻转一下串,转化为前缀,就可以建trie树来解决了 建好trie后单独取出单词节点,贪心先往子树小的节点编号即可 C++ include 阅读全文
posted @ 2018-05-24 09:50 Mychael 阅读(174) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ4592" 题解 可持久化trie树裸题 写完就A了 C++ include include include include include include define Redge(u) for (int k = h[u],to; k; k = ed[k].nxt) defin 阅读全文
posted @ 2018-05-17 10:44 Mychael 阅读(307) 评论(0) 推荐(0) 编辑
摘要:题目 Welcome to ALO ( Arithmetic and Logistic Online)。这是一个VR MMORPG , 如名字所见,到处充满了数学的谜题。 现在你拥有n颗宝石,每颗宝石有一个能量密度,记为ai,这些宝石的能量 密度两两不同。现在你可以选取连续的一些宝石(必须多于一个) 阅读全文
posted @ 2018-04-25 18:20 Mychael 阅读(234) 评论(0) 推荐(0) 编辑
摘要:题目 FOTILE得到了一个长为N的序列A,为了拯救地球,他希望知道某些区间内的最大的连续XOR和。 即对于一个询问,你需要求出max(Ai xor Ai+1 xor Ai+2 ... xor Aj),其中l include include include define LL long long i 阅读全文
posted @ 2018-04-03 21:17 Mychael 阅读(191) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个非负整数序列{a},初始长度为N。 有M个操作,有以下两种操作类型: 1、Ax:添加操作,表示在序列末尾添加一个数x,序列的长度N+1。 2、Qlrx:询问操作,你需要找到一个位置p,满足l include include include include define LL long 阅读全文
posted @ 2018-04-02 21:26 Mychael 阅读(135) 评论(0) 推荐(0) 编辑

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