没有题面差评 先来遍SA求出h,再给h排序,从大到小计算,并查集维护连续的区间(表达能力太弱。。还是看代码好说话) 1 #include<bits/stdc++.h> 2 #define inc(i,l,r) for(int i=l;i<=r;i++) 3 #define dec(i,l,r) fo
分类:
其他好文 时间:
2016-02-11 23:50:12
阅读次数:
486
明显要用求SA再求h,而lcp(i,j)就等于i到j之间最小的h 用f[i]表示i跟比i大的后缀的lcp的和,然后用单调栈维护最小值就好了(有点像DP?) 1 #include<bits/stdc++.h> 2 #define inc(i,l,r) for(int i=l;i<=r;i++) 3 #
分类:
其他好文 时间:
2016-02-11 16:52:39
阅读次数:
336
#include<bits/stdc++.h> #define REP(i,a,b) for(int i=a;i<=b;i++) #define MS0(a) memset(a,0,sizeof(a)) using namespace std; typedef long long ll; const
分类:
其他好文 时间:
2016-02-10 21:05:05
阅读次数:
195
复制一下原串处理环,然后直接出SA就可以了 1 #include<bits/stdc++.h> 2 #define inc(i,l,r) for(int i=l;i<=r;i++) 3 #define dec(i,l,r) for(int i=l;i>=r;i--) 4 #define link(x
分类:
其他好文 时间:
2016-02-10 21:01:47
阅读次数:
331
SA入门题,将2个串中间用另外的字符链接即可 调了半天一直以为是模板的错,原来是乘法超了intQAQ 1 //#include<bits/stdc++.h> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include
分类:
其他好文 时间:
2016-02-10 18:45:23
阅读次数:
248
题意:就是不存在环,而且各点相互连通 分析:就是一颗树,树的条件,连通,不含圈,边恰好为n-1个,只要满足其中两个条件就可以了,这道题统计节点个数,可以用set,map统计,用并查集判断是否存在圈,只要注意空树也是正确答案就行了 代码: 2016/2/8 #include<bits/stdc++.h
分类:
其他好文 时间:
2016-02-08 21:23:43
阅读次数:
182
状压DP,f[i][j]表示在i状态下余数为j的情况 然后就是i的表示。。先认为数字互不相同(坑爹的想法= =),然后就有没有用到压缩状态 然后还要去重。。对每个数字来说除以数字个数的阶乘即可 1 #include<bits/stdc++.h> 2 #define inc(i,l,r) for(in
分类:
其他好文 时间:
2016-02-06 01:50:15
阅读次数:
211
这个题。。。 1 #include <bits/stdc++.h> 2 #define rep(i, a, b) for (int i = a; i <= b; i++) 3 #define drep(i, a, b) for (int i = a; i >= b; i--) 4 #define R
分类:
其他好文 时间:
2016-02-06 01:49:47
阅读次数:
254
题目描述: everse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented in binary as 00000010100101000001111010011100),
分类:
编程语言 时间:
2016-02-05 22:20:31
阅读次数:
301
最近好懒散QAQ 就是状压DP+概率。。由于顺着推还要计方案数略麻烦,所以就倒着推 1 #include<bits/stdc++.h> 2 #define inc(i,l,r) for(int i=l;i<=r;i++) 3 #define dec(i,l,r) for(int i=l;i>=r;i
分类:
其他好文 时间:
2016-02-05 22:16:55
阅读次数:
167