10 2024 档案
摘要:原题链接:https://www.luogu.com.cn/problem/P4592 题意解读:在一定范围内,查找一个值与z异或最大,依然是一个区间异或问题,直觉上可以使用持久化Trie。 解题思路: 设seq[i]表示节点i在dfs过程的顺序号siz[i]表示节点i为根的子树大小,depth[i
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P4735 题意解读:已知长度为n的数组a[],要在l~r范围找到一个p,使得a[p]^a[p+1]^...^a[n]^x最大,求这个最大的异或值。 解题思路: 1、利用前缀和将问题转化 设s[]是a[]的前缀异或数组,要计
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P2922 题意解读:已知M个01串,给出N个01串,对于N个串的每一个,求在M个串中有多少与其有公共前缀,且前缀长度是两个串中较小者。 解题思路: 用Trie树存储M个01串,用cnt1[]记录某个节点结束的01串个数,c
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P2375 题意解读:计算字符串所有子串的不重叠相同前后缀数量。 解题思路: 1、KMP+暴力 通过Next数组,可以计算所有子串相同前后缀的数量 然后枚举Next数组,通过回跳Next[j]、Next[Next[j]-1]
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P3435 题意解读:定义字符串a是b的周期,当a是b的真前缀,且b是aa的前缀。给定字符串s,求s每一个前缀的最大周期长度之和。 解题思路: 针对字符串babababa进行样例模拟: 前缀子串 最大周期 周期长度 b 空
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/CF25E https://codeforces.com/contest/25/problem/E 题意解读:给定a,b,c三个字符串,求包含a、b、c的最短字符串长度。 解题思路: 要得到包含a、b、c的字符串,可以通过a
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1470 题意解读:求s最长前缀长度,使得可以拆解成p集合中的字符串 解题思路: 动态规划: 设s字符串下标从1开始,p集合用set<string>保存所有的元素 状态表示:设f[i]表示前i个字符s[0~i-1]是否能拆
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P5283 题意解读:n个整数,每次从从取l~r的数进行异或得到美味值,一共取k次,并计算这k个美味值之和的最大值。 解题思路: 1、如何O(1)的计算l~r数的异或,得到美味值 可以借助前缀和思想,a[i]为第i个数,s[
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P4551 题意解读:求树中两个结点的最长异或路径。由于异或路径指的是指两个结点之间唯一路径上的所有边权的异或,而两个结点路径之间所有边权的异或又等同于两个结点各自到根节点所有边权的异或再求异或,这是因为如果两个结点到根结点
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P2580 题意解读:给n个字符串,再依次处理m个字符串,对于每个字符串,如果在前面n个字符串中输出OK,如果不在n个字符串中输出WRONG,如果在n个字符串中且不止一次查询过输出REPEAT。 解题思路: 1、set/ma
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1481 题意解读:在n个字符串中找到最长的词链长度,定义字符串a、b、c可以形成词链,即a是b的前缀、b是c的前缀。 解题思路: 1、Trie树定义 Trie树,也称前缀树、字典树,核心思想是将字符串拆解为单个字符,每个
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P4391 题意解读:s1由若干个s2组成,求s2的最小长度,注意题目中说明s1是子串,但是不影响,可以认为s1是补全的由若干s2组成的字符串。 解题思路: 设s1由x个s2组成,如图所示 设s1的Next数组从0开始,那么
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P3375 题意解读:给定两个字符串:原串s,模式串p,求p在s中出现的所有位置,并输出p的长度为1~p.size()的子串的最长相同真前、后缀的长度。 解题思路: KMP模版题,分两问,第一问通过KMP核心算法实现,第二问
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P7562 题意解读:每个活动都是一个区间,在n个区间里选k个没有交叉或者包含关系的区间,使得k个区间编号的字典序最小。 解题思路: 此题本质上是一个区间选择问题,遍历每一个区间,如果这个区间能选就一定优先选先该区间,这样能
阅读全文