ACM笔记-2串树
cj1064789374
大佬们多多指教
展开
-
K-D树
#include <bits/stdc++.h> using namespace std; #define INT_INF 0x3fffffff #define EPS 1e-12 #define MOD 1000000007 #define PI 3.141592653579798 #define N 60000 str...原创 2019-01-02 12:26:44 · 168 阅读 · 0 评论 -
后缀数组倍增法模板
后缀数组倍增法模板原创 2019-01-01 00:40:17 · 199 阅读 · 0 评论 -
后缀自动机补充说明
后缀自动机补充说明原创 2019-01-01 00:40:23 · 493 阅读 · 0 评论 -
后缀自动机
#include <bits/stdc++.h>#define ll long longusing namespace std; //关于命名本例作了更改:step->l,fa->fail,np->nowp,nq->nowqchar s[105]; //接收输入的字符串int cnt,len,S,last; //节点数,串长,自动机...原创 2019-01-02 12:27:02 · 204 阅读 · 0 评论 -
回文树建树图例
回文串建树图例:插入串S = abbaabba原创 2019-01-02 12:27:08 · 159 阅读 · 0 评论 -
回文树
回文树hud3948题意求本质不同的回文子串个数建好回文自动机后输出新建的节点数即可Sample Input3aaaaabababcdSample OutputCase #1: 4Case #2: 4Case #3: 4回文树能做到如下几点:1.求串S前缀0~i内本质不同回文串的个数(两个串长度不同或者长度相同且至少有一个字符不同便是本质不同)2.求串S内每一个本质...原创 2019-01-02 12:27:11 · 126 阅读 · 0 评论 -
倍增法LCA
#include<bits/stdc++.h>using namespace std;int n,q,a,b,rt,dsu[40][100],dep[100];vector<int> g[10005];void dfs(int v,int p,int d){ //预处理深搜用邻接表打好父亲数组与深度数组 dsu[0][v]=p; //记录父亲...原创 2018-12-30 12:51:37 · 248 阅读 · 0 评论 -
可持久化并查集
可持久化并查集原创 2018-12-30 12:50:40 · 167 阅读 · 0 评论 -
启发式合并
启发式合并原创 2018-12-30 12:49:45 · 232 阅读 · 0 评论 -
权值线段树
权值线段树原创 2018-12-30 12:34:06 · 122 阅读 · 0 评论 -
树的重心
树的重心原创 2018-12-30 12:33:31 · 253 阅读 · 0 评论 -
字符串哈希
字符串哈希原创 2019-01-01 00:40:11 · 129 阅读 · 0 评论 -
归并树
归并树原创 2019-01-01 00:40:04 · 169 阅读 · 0 评论 -
A自动机C+dp
AC+dp bzoj1030 [JSOI2007]文本生成器题意:给出N个模板串,问生成长为M的不含任意模板串的串的方案数(只有大写字母)#include <bits/stdc++.h>#define MOD 10007using namespace std;const int mod=10007;int n,m,tot=0;int fail[6010],ch[601...原创 2019-01-02 12:26:47 · 105 阅读 · 0 评论 -
AC自动机(KMP+字典树)
AC自动机(KMP+字典树)题目:输入N个串,判断有多少个搜索串的子串In out1 47aababcabcdabcdeabcdefabcdefgabcd#include<bits/stdc++.h>using namespace std;char str[1000000+100];struct node{ int count; ...原创 2019-01-02 12:26:55 · 185 阅读 · 0 评论 -
DFS序+树状数组
#include<bits/stdc++.h>using namespace std;int tr[10003],in[10003],ou[10003],fo[10003];vector<int>edge[10003];int n,m,key;//修改节点k,添加代入1,删除代入-1void add(int x,int val){ while(x<...原创 2019-01-02 12:26:52 · 268 阅读 · 0 评论 -
LCA转RMQ
#include <bits/stdc++.h>using namespace std;const int N = 40010;const int M = 25;int dp[2*N][M]; //这个数组记得开到2*N,因为遍历后序列长度为2*n-1bool vis[N];struct edge{int u,v,w,next;}e[2*N];int tot,head...原创 2019-01-02 12:26:59 · 200 阅读 · 0 评论 -
Hash求LCP最长公共前缀
Hash求LCP最长公共前缀原创 2019-01-01 00:39:42 · 489 阅读 · 0 评论 -
manacher回文串
#include<bits/stdc++.h>using namespace std;const int maxn=3e5;char s[maxn],str[maxn];int len1,len2,p[maxn],ans;void init(){ str[0]='$'; str[1]='#'; for(int i=0;i<len1;i++){ ...原创 2019-01-01 00:39:36 · 134 阅读 · 0 评论 -
splay区间翻转
splay区间翻转原创 2019-01-01 00:39:11 · 386 阅读 · 0 评论 -
拆点并查集
拆点并查集原创 2019-01-01 00:39:48 · 413 阅读 · 0 评论 -
带权并查集
带权并查集原创 2019-01-01 00:39:53 · 120 阅读 · 0 评论 -
动态树LCT
动态树LCT原创 2019-01-01 00:39:58 · 154 阅读 · 0 评论 -
树堆treap
树堆treap原创 2018-12-30 12:32:45 · 144 阅读 · 0 评论 -
树链剖分求LCA
树链剖分求LCA原创 2018-12-30 12:32:03 · 139 阅读 · 0 评论 -
无旋treap
无旋treap原创 2018-12-30 12:14:25 · 158 阅读 · 0 评论 -
字符串添加
字符串添加原创 2018-12-17 00:15:00 · 2516 阅读 · 0 评论 -
字符串增改
字符串增改原创 2018-12-17 00:14:55 · 116 阅读 · 0 评论 -
字符串修改
字符串修改原创 2018-12-16 12:45:04 · 995 阅读 · 0 评论 -
左偏堆
左偏堆原创 2018-12-16 11:05:41 · 565 阅读 · 0 评论 -
AC自动机失配指针
AC自动机失配指针原创 2018-12-16 00:26:16 · 824 阅读 · 1 评论 -
最小树形图
最小树形图原创 2018-12-19 23:34:44 · 153 阅读 · 0 评论 -
Alpha-Beta剪枝
Alpha-Beta剪枝原创 2018-12-13 23:19:05 · 377 阅读 · 0 评论 -
字符串同构
字符串同构原创 2018-12-13 23:12:09 · 1171 阅读 · 0 评论 -
树论入门
树论入门原创 2018-12-13 23:10:10 · 630 阅读 · 0 评论 -
硬盘存储B-+树及地图搜索R树
硬盘存储B-+树及地图搜索R树原创 2018-12-13 23:08:56 · 175 阅读 · 0 评论 -
字符串删除
字符串删除原创 2018-12-17 00:15:05 · 463 阅读 · 0 评论 -
字符串的最小表示法
字符串的最小表示法原创 2018-12-17 00:15:10 · 183 阅读 · 0 评论 -
主席树
主席树原创 2018-12-30 12:13:38 · 97 阅读 · 0 评论 -
倒序找规律
倒序找规律原创 2018-12-18 16:53:05 · 292 阅读 · 0 评论