摘要: 主要用途 1、主串递减,和模式串比较 从s的i位置开始,i后面的串,和t进行匹配,看最多能匹配多少位(公共前缀)。即为exnext数组 2、模式串和模式串自己的后缀们匹配 t自己,和它的所有后缀们进行匹配,看最大能匹配几个公共前缀,即为next数组(此next数组,对exnext数组有用) #inc 阅读全文
posted @ 2024-04-19 15:37 涤生yang 阅读(17) 评论(0) 推荐(1)
摘要: KMP算法 一个人能能走的多远不在于他在顺境时能走的多快,而在于他在逆境时多久能找到曾经的自己。 ————KMP​ 板子介绍 两个部分分别实现了next数组的构造 和匹配的过程。 本文均是从下标1开始的。(写题的时候就这么做即可,中间过程无虚任何改动) 最后打印的时候(看样例加和减即可) #incl 阅读全文
posted @ 2024-04-19 14:42 涤生yang 阅读(44) 评论(0) 推荐(0)
摘要: 因为马拉车不能求回文子序列个数,所以只能采用这个DP 此DP是不要求连续的回文子串 你要连续的回文子串个数,可以用回文自动机 #include <iostream> using namespace std; int dp[200][200]; string str; int solve(){ int 阅读全文
posted @ 2024-04-17 23:12 涤生yang 阅读(14) 评论(0) 推荐(0)
摘要: 直接上板子 直接输出最长回文子序列的长度 #include<bits/stdc++.h> using namespace std; const int maxl=1100005; int p[32000005]; //p[i]-1表示以i为中点的回文串长度,这个数组要大 string a; //用于 阅读全文
posted @ 2024-04-17 22:31 涤生yang 阅读(20) 评论(0) 推荐(0)
摘要: 求n的p次方,对M的取模 递归: #define M 10003 int PowMod(int n, int p) { if (p == 1) { return n % M; } int temp = Pow(n, p/2); int result = (temp*temp) % M; if (p 阅读全文
posted @ 2024-04-17 10:42 涤生yang 阅读(21) 评论(0) 推荐(0)
摘要: D题 题意: 把给定的一个数字数列放到对角线上,其他位置填写min(横,竖)。 要求找到一个矩形,分别把所有的1,2,3....k 都包含起来 输出其长+宽 思路: 找到最远的那个即可,然后(mx - mn + 1) * 2 #include<bits/stdc++.h> using namespa 阅读全文
posted @ 2024-04-15 23:15 涤生yang 阅读(10) 评论(0) 推荐(0)
摘要: 1、字符串哈希 其实就是把每个字符转换成ASCLL码,然后就把这个字符串当成一个某(base)进制的数字,再转换成十进制。 每个数字要乘它的权重(第一个的权重是很多次幂,是通过前缀加循环的方式实现的,而不是直接乘一个高次幂) 1、字符串的哈希值核心板子: typedef unsigned long 阅读全文
posted @ 2024-04-15 12:11 涤生yang 阅读(25) 评论(0) 推荐(0)
摘要: A题 签到题 找到102345 这个规律,即可,大于10就直接是-1了 先打个1.然后从2开始,有2打0,有3打3-1,有4打4-1 直接打印数字就好了,一共就最多10个,不用转接to_string #include<bits/stdc++.h> using namespace std; #defi 阅读全文
posted @ 2024-04-09 14:31 涤生yang 阅读(23) 评论(0) 推荐(0)
摘要: A题 知识点: 任何数都是0的因数 0和0的公因数是0 #include<bits/stdc++.h> using namespace std; #define int long long signed main() { ios::sync_with_stdio(false); cin.tie(nu 阅读全文
posted @ 2024-04-07 23:49 涤生yang 阅读(23) 评论(0) 推荐(0)
摘要: A题:Dual Trigger 题意:一个01字符串,每次只能选择俩不相邻的0,把他俩变成1(初始情况都是0) 问你最后能不能把这个全0字符串,变成所要求的那样 思路: 首先分奇偶情况,试了几种情况发现,奇数个1是不可能的 而对于偶数,也就只有一种情况是不行的:只有两个1并且最大的连续值就是2。 实 阅读全文
posted @ 2024-04-07 16:12 涤生yang 阅读(37) 评论(0) 推荐(0)