2022年3月13日
摘要: 在刚进入递归后以及即将回溯前各记录一次该点的编号 阅读全文
posted @ 2022-03-13 20:26 我疯故我在 阅读(17) 评论(0) 推荐(0)
  2022年3月12日
摘要: int trie[SIZE][26],tot=1; void insert(char* str) { int len=strlen(str),p=1; for(int k=0; k<len; k++) { int ch=str[k]-'a'; if(trie[p][ch]==0) trie[p][c 阅读全文
posted @ 2022-03-12 11:19 我疯故我在 阅读(38) 评论(0) 推荐(0)
摘要: 倍增、DC3、前缀Hash值+sort+二分 阅读全文
posted @ 2022-03-12 11:15 我疯故我在 阅读(28) 评论(0) 推荐(0)
摘要: char s[N * 2]; scanf("%s", s + 1); int n = strlen(s + 1); for(int i = 1; i <= n; i++) s[i + n] = s[i]; int i = 1, j = 2, k; while(i <= n && j <= n) { 阅读全文
posted @ 2022-03-12 11:12 我疯故我在 阅读(73) 评论(0) 推荐(0)
摘要: 一维 KMP算法next数组的求法 初始化 nxt[1]=0; for(int i=2,j=0;i<=n;i++){ while(j>0&&a[i]!=a[j+1]) j=nxt[j]; if(a[i]==a[j+1]) j++; nxt[i]=j; } KMP算法f数组的求法 for(int i= 阅读全文
posted @ 2022-03-12 11:09 我疯故我在 阅读(47) 评论(0) 推荐(0)
摘要: 一维字符串Hash unsigned long long f[N],p[N];//字符串前缀哈希值;p进制,一般取131,13331; unsigned long long get_hash(int l,int r) { return f[r]-f[l-1]*p[r-l+1]; } p[0]=1; 阅读全文
posted @ 2022-03-12 11:04 我疯故我在 阅读(54) 评论(0) 推荐(0)
摘要: 1 int l=1,r=1; 2 q[1]=0; 3 for(int i=1; i<=n; i++) { 4 while(l<=r&&q[l]<i-m) l++; 5 ans=max(ans,sum[i]-sum[q[l]]); 6 while(l<=r&&sum[q[r]]>=sum[i]) r- 阅读全文
posted @ 2022-03-12 10:50 我疯故我在 阅读(32) 评论(0) 推荐(0)
摘要: deque 阅读全文
posted @ 2022-03-12 10:47 我疯故我在 阅读(23) 评论(0) 推荐(0)
摘要: 建立一个总的队列,这个总的队列里的元素分别记录每个子队列的序号 阅读全文
posted @ 2022-03-12 10:46 我疯故我在 阅读(30) 评论(0) 推荐(0)