Chri_K

2020年9月12日

kmp

摘要: 总体来说,你、n%(n-next[n])==0代表有循环节,n-next[n]代表循环节长度,n/(n-next[n])代表循环节个数 #include <cstdio> #include <cstring> using namespace std; int next[1000]; char a[1 阅读全文

posted @ 2020-09-12 14:00 Chri_K 阅读(27) 评论(0) 推荐(0) 编辑
P1007(洛谷过了,内网不过。。。)

摘要: #include<stdio.h>int main(){ int i,A[1005]={0},B[1005]={0},n,j; scanf("%d", &n); A[0]=B[0]=1; for (i=2;i<=n;i++){ for (j=0;j<100;j++) B[j]*=i; for (j= 阅读全文

posted @ 2020-09-12 10:35 Chri_K 阅读(109) 评论(0) 推荐(0) 编辑
高精度阶乘和hhh

摘要: #include<stdio.h>int main(){ int i,A[1005]={0},B[1005]={0},n,j; scanf("%d", &n); A[0]=B[0]=1; for (i=2;i<=n;i++){ for (j=0;j<100;j++) B[j]*=i; for (j= 阅读全文

posted @ 2020-09-12 10:25 Chri_K 阅读(10) 评论(0) 推荐(0) 编辑
高精度阶乘和

摘要: #include<cstdio>#include<cstring>#define max(u,v) u>v?u:vint n,s[1000],k[1000];//全局int l1=1,l2=1;void cheng(int u)//阶乘{ int x=0; for(int i=1;i<=l1;i++ 阅读全文

posted @ 2020-09-12 09:59 Chri_K 阅读(22) 评论(0) 推荐(0) 编辑
按位取模

摘要: #include<cstdio>#include<cstring>using namespace std;char a[2000];int n;typedef long long ll;int main(){ scanf("%d%s", &n, a); int l = strlen(a); ll a 阅读全文

posted @ 2020-09-12 09:46 Chri_K 阅读(1) 评论(0) 推荐(0) 编辑
按位取模(高精度)

摘要: 写个按位取模然后输出就可以啦~ 按位取模咋写呢=。=很简单 首先读一个数 把他%n 然后把数乘10读下一个数并%n 如此循环。 注意取模结果为0的话要输出n; 时间复杂度O(logn) 空间复杂度O(1) 以下是代码=。= #include<cstdio> #include<cstring> usi 阅读全文

posted @ 2020-09-12 09:26 Chri_K 阅读(33) 评论(0) 推荐(0) 编辑
同余定理

摘要: 同余定理记住2个公式 注:优先级 * 高于 % 阅读全文

posted @ 2020-09-12 09:19 Chri_K 阅读(62) 评论(0) 推荐(0) 编辑
去重函数

摘要: #include<bits/stdc++.h>using namespace std;int main(void){ int a[10] = {5,33,1,0,54,12,213,5,3,7}; sort(a,a+10); //必须排序,只去重相邻相同元素 ! int n = unique(a,a 阅读全文

posted @ 2020-09-12 08:39 Chri_K 阅读(10) 评论(0) 推荐(0) 编辑