上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 37 下一页
摘要: 题目传送门 解题思路: 先跑一遍KMP,维护出不包括题目所给串(暂且称他文本串)本身的其他串中最大的最长公共前后缀(mm),然后找文本串的公共前后缀中小于mm最大的那一个(u),如果长度为0,说明没答案,如果不为0,则前mm个字符即为答案,感性证明一下,mm不为0说在中间有一部分与开头匹配,且长度1 阅读全文
posted @ 2020-02-25 22:59 Mr^Simon 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 这道题题面比较乱,先说一下这道题要求什么: 对于一个字符串,求它及它的所有前缀的一个答案串的长度之和,答案串就是对于一个字符串,找到一个它的一个前缀,这个前缀后面在复制一遍,得到一个新串,这个新串包含原来那个字符串,而且这个前缀要求找符合要求的最长的. 这道题要求的答案串很显 阅读全文
posted @ 2020-02-25 22:48 Mr^Simon 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 这道题其实就是求一个字符串的所有前缀及其本身的循环节(如果有),思路同另一道题. AC代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 5 using namespace std; 6 7 in 阅读全文
posted @ 2020-02-25 22:34 Mr^Simon 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 本题所要求的循环节,其实就是最长公共前缀的前缀长度减去前后缀重叠的一部分 AC代码: 1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 int n,j,next[1000001]; 7 s 阅读全文
posted @ 2020-02-25 22:30 Mr^Simon 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 首先说KMP的作用:对于两个字符串A,B(A.size() > B.size()),求B是否是A的一个字串或B在A里的位置或A里有几个B,说白了就是字符串匹配. 下面创设一个问题背景 : 有两个字符串A,B,求B在A中的位置. A : abcdcbd B: cdcb 对于上述 阅读全文
posted @ 2020-02-24 23:40 Mr^Simon 阅读(198) 评论(1) 推荐(0) 编辑
摘要: 题目传送门 解题思路: f[i][j]表示数i被j个数构成的方案数,然后就跟完全背包差不多了 AC代码: 1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 int t,n = 32768,f[32800][5]; 阅读全文
posted @ 2020-02-22 23:59 Mr^Simon 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: f[i][j]表示区间i~j可获得的最大利润,则每个区间可能从两个状态转移过来,即我上一次卖了第i-1个或第j+1个. AC代码: 1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 int 阅读全文
posted @ 2020-02-22 23:57 Mr^Simon 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: f[i]表示打到第i层的最小值 AC代码: 1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 long long n,t,a[1001],sum[1001]; 7 long long f[ 阅读全文
posted @ 2020-02-22 23:54 Mr^Simon 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 区间DP,f[i][j]表示区间i~j可获得的最大值,因为本题的所有区间是可以直接一次性把自己全删掉的,所以所有区间初始化为被一次性删除的值,然后枚举断点,跑区间DP. AC代码: 1 #include<iostream> 2 #include<cstdio> 3 #incl 阅读全文
posted @ 2020-02-22 23:52 Mr^Simon 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: f[i][j]表示第j天到第i个城市消耗的最小体力值,对于每种状态,我们可能从两种状态转移过来:1.我们可以选择前一天没动,即f[i][j-1]2.可以选择前一天动了,即f[i-1][j-1] 还有,第1座城市比较特殊,所以要单独处理一下. AC代码: 1 #include< 阅读全文
posted @ 2020-02-22 23:48 Mr^Simon 阅读(127) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 37 下一页