2013年9月16日

HDU4737 - A Bit Fun(线段树)

摘要: 题目大意 给你一个数组a,定义f(i,j)=ai|ai+1|ai+2|⋯|aj ,|为or运算,求满足f(i,j)#include#include#include#includeusing namespace std;#define MAXN 100005#define lson l,m,s>1; build(lson); build(rson); PushUp(s);}int ... 阅读全文

posted @ 2013-09-16 20:21 仗剑奔走天涯 阅读(197) 评论(0) 推荐(0) 编辑

POJ1226 - Substrings(KMP+二分)

摘要: 题目大意给定n个字符串,字符串可逆序可顺序,求它们的最长公共子串题解在输入的过程中记录一下最短的那个字符串,然后枚举起点,然后进行二分求出子串末位置,然后再验证是否是公共子串,记录最长的公共子串就是最终答案~~~~时间复杂度为O(N^3*logn)代码:#include #include #include #include using namespace std;#define MAXN 105#define INF 0x3f3f3f3fchar T[MAXN][MAXN];int f[MAXN];void getfail(char *p,int len){ int j; f[0... 阅读全文

posted @ 2013-09-16 16:16 仗剑奔走天涯 阅读(289) 评论(0) 推荐(0) 编辑

UVa1328 - Period(KMP找最短循环节)

摘要: 题目大意 给定一个长度为n的字符串,求它的每个前缀的最短循环节 题解 白书例题~~~ ”错位部分“长度为i-f[i], 如果这个前i个字符能够组成一个周期串,那么”错位”部分刚好是一个循环节i-f[i]就是循环节长度~~~~ 代码: #include #include #include #include using namespace std;#define MAXN 1000005int f... 阅读全文

posted @ 2013-09-16 10:56 仗剑奔走天涯 阅读(225) 评论(0) 推荐(0) 编辑

导航