摘要:
``` #include using namespace std ; const int N=10000000; int a[N],idx,son[N][2]; //把每个数插入到trie树中 void insert(int x) { //从头开始插入 int p=0; for(int i=30;i>=0;i--) { //取出当前位 int u=x>>i&1; //如果之前不存在的话 if(!s 阅读全文
posted @ 2020-02-29 21:00
晴屿
阅读(94)
评论(0)
推荐(0)
摘要:
``` #include using namespace std ; const int N=10000000; int a[N],idx,son[N][2]; //把每个数插入到trie树中 void insert(int x) { //从头开始插入 int p=0; for(int i=30;i>=0;i--) { //取出当前位 int u=x>>i&1; //如果之前不存在的话 if(!s 阅读全文
posted @ 2020-02-29 20:38
晴屿
阅读(125)
评论(0)
推荐(0)
摘要:
参考文章:https://blog.csdn.net/u013686535/article/details/52197912 阅读全文
posted @ 2020-02-29 20:14
晴屿
阅读(74)
评论(0)
推荐(0)
摘要:
```#include#includeusing namespace std ;const int N=1e6+10;int n,m;int ne[N];char p[N],s[N];int main() { int t; cin>>t; while(t--) { cin>>p+1>>s+1; n=strlen(p+1); m=strlen(s+1); int ans=0; for(i... 阅读全文
posted @ 2020-02-29 18:10
晴屿
阅读(84)
评论(0)
推荐(0)
摘要:
``` #include using namespace std; const int maxn = 1000010; int n; char a[maxn]; int ne[maxn]; void cal_next(char b[]) { for (int i=2,j=0;i<=n; i++) { while(j&& b[j+1]!=b[i]) j=ne[j]; if(b[j+1]==b[i]) 阅读全文
posted @ 2020-02-29 18:02
晴屿
阅读(93)
评论(0)
推荐(0)
摘要:
string中find()返回值是字母在母串中的位置(下标记录),如果没有找到,那么会返回一个特别的标记npos。(返回值可以看成是一个int型的数) 阅读全文
posted @ 2020-02-29 17:10
晴屿
阅读(81)
评论(0)
推荐(0)
摘要:
``` #include #include using namespace std; const int N = 10010, M = 100010; int n, m; int ne[N];//ne[i] : 以i为结尾的部分匹配的值 char s[N], p[N]; int main() { while(cin>>s+1) { if(s[1]=='#') break; cin>>p+1; in 阅读全文
posted @ 2020-02-29 16:44
晴屿
阅读(86)
评论(0)
推荐(0)
摘要:
``` #include #include using namespace std; const int N = 10010, M = 100010; int n, m; int ne[N];//ne[i] : 以i为结尾的部分匹配的值 char s[N], p[N]; int main() { int t; cin>>t; while(t--) { int ans=0; cin>>s+1>>p+ 阅读全文
posted @ 2020-02-29 16:32
晴屿
阅读(83)
评论(0)
推荐(0)
摘要:
``` #include #include #include #include #include using namespace std; #define mod 360000 int a[200005],b[200005]; int c[200005],d[200005*2]; int ne[200005]; int sum; int main() { int n; cin>>n; for(in 阅读全文
posted @ 2020-02-29 16:25
晴屿
阅读(182)
评论(0)
推荐(0)
摘要:
``` #include #include using namespace std ; const int N=1000000+10; int n,m; int ne[N]; int p[N],s[N]; int main() { int t; cin>>t; while(t--) { scanf("%d%d",&m,&n); for(int i=1; i<=m; i++) scanf("%d", 阅读全文
posted @ 2020-02-29 16:04
晴屿
阅读(85)
评论(0)
推荐(0)