摘要:题目:传送门 题意 思路 看数据很容易想到二维 DP,只不过只想到 DP 还远远不够。 和不超过 20 的字符串不超过 2500 个,长度最长为 20。 那我们可以先暴力预处理出这些字符串,并建 trie 树. 用 dp[i][j] 表示处理完前 i 个字符,后缀在 trie 树上对应着 节点 j
阅读全文
摘要:题目:传送门 题意 思路 邓老师精讲 #include <bits/stdc++.h> #define LL long long #define ULL unsigned long long #define UI unsigned int #define mem(i, j) memset(i, j,
阅读全文
摘要:题目:传送门 题意 给你一个字符串,求每个前缀的最小后缀对应的起始位置。 总的字符串长度 <= 2e7 思路 Lydon 分解: 参考博客 Lyndon 串:对于字符串x,如果x的字典序严格小于x的所有后缀的字典序,我们称x是简单串,或者Lyndon串。 近似Lyndon串: 若x为Lyndon串,
阅读全文
摘要:题目:传送门 题意 思路 官方题解 #include <bits/stdc++.h> #define LL long long #define ULL unsigned long long #define UI unsigned int #define mem(i, j) memset(i, j,
阅读全文
摘要:转载自:https://blog.csdn.net/qq_30277239/article/details/90348638 题目描述: 如果一个字符串正着读和倒着读是一样的,则称它是回文的。给定一个长度为N的字符串S,求他的最长回文子串的长度是多少。 输入格式 输入将包含最多30个测试用例,每个测
阅读全文
摘要:题目:传送门 题意:给你字符串 s ,问长度最大的字符串 t = a + b 是什么,其中,t 是回文串, a 是字符串 s 的前缀, b 是字符串 s 的后缀。 思路: 我们先把能构成回文的,前缀和后缀取出来,然后对剩下的字符串,求,最长的前缀回文,最长后缀回文,取两者最大即可。 #include
阅读全文
摘要:马拉车讲解 HDU 3068 #include <bits/stdc++.h> #define LL long long #define ULL unsigned long long #define mem(i, j) memset(i, j, sizeof(i)) #define rep(i, j
阅读全文