上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页

2013年8月25日

poj2774 Long Long Message 后缀数组求最长公共子串

摘要: 题目链接:http://poj.org/problem?id=2774这是一道很好的后缀数组的入门题目题意:给你两个字符串,然后求这两个的字符串的最长连续的公共子串一般用后缀数组解决的两个字符串的问题都通过将一个字符串加在另一个字符串的后面来解决我们知道对于任意一个子串都是当前字符串的某一个后缀的前缀预处理时,假设当前输入的两个字符串为s,p;我们将p加在s的h后面那么求这两个字符串的最长公共子串,就转化为求某两个后缀的最长公共前缀我们知道任意两个后缀的最长公共前缀一定是height数组中的某一个值(对于sa[i]和sa[j] ,他们的最长公共前缀就是minheight[k](i 2 #inc 阅读全文

posted @ 2013-08-25 14:32 GyyZyp 阅读(514) 评论(0) 推荐(0) 编辑

2013年8月24日

hdu4597 Play Game 区间DP

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4597全国邀请赛通化赛区第8题--题目重现思路:区间DP的思想,想法是队友想出来的,感觉很秒,自己处理的边界,果断AC边界处理很重要!!对于两列牌。我们定义f[x][y][k][h]表示对于当前状态中第一列牌处于区间(i,j),第二列牌处于区间(k,h)时,先手(即当前要选择牌的选手)和后手之间的最大差值定义sum1[x][y][k][h]表示先手的在此区间的获得的分数的最大值,sum2[x][y][k][h]表示后手在此区间的获得的分数的最大值那么如果对于当前的区间,当前的选手选择y位置的牌,那么 阅读全文

posted @ 2013-08-24 17:43 GyyZyp 阅读(324) 评论(0) 推荐(0) 编辑

2013年8月23日

spoj 694. Distinct Substrings 后缀数组求不同子串的个数

摘要: 题目链接:http://www.spoj.com/problems/DISUBSTR/思路:每个子串一定是某个后缀的前缀,那么原问题等价于求所有后缀之间的不相同的前缀的个数。如果所有的后缀按照suffix(sa[1]),suffix(sa[2]),suffix(sa[3]),……suffix(sa[n])的顺序计算,不难发现,对于每一次新加进来的后缀suffix(sa[k]),它将产生n-sa[k]+1个新的前缀。但是其中有height[k]个是和前面的字符串的前缀是相同的。所以suffix(sa[k])将“贡献”出n-sa[k]+1-height[k]个不同的子串。累加后便是原问题的答案。这 阅读全文

posted @ 2013-08-23 22:14 GyyZyp 阅读(200) 评论(0) 推荐(0) 编辑

ural 1297. Palindrome

摘要: 题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1297求最长回文子串典型的后缀数组的入门题目,但是可以用更简单的方法解决,毕竟数据量比较小啊转载:题目大意:给出一个字符串,求它的连续最长回文子串。分析:这题数据规模不大(n 2 #include 3 #include 4 using namespace std; 5 const int maxn=2010; 6 int n,w[maxn],wa[maxn],wb[maxn],wv[maxn]; 7 int a[maxn],sa[maxn],rank[maxn],height[maxn 阅读全文

posted @ 2013-08-23 19:38 GyyZyp 阅读(192) 评论(0) 推荐(0) 编辑

poj3261 Milk Patterns 后缀数组求可重叠的k次最长重复子串

摘要: 题目链接:http://poj.org/problem?id=3261思路:后缀数组的很好的一道入门题目先利用模板求出sa数组和height数组然后二分答案(即对于可能出现的重复长度进行二分) ,二分的时候,对 height进行分组,看是否存在一组height值使得其重复的次数大于等于k代码如下: 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 #define maxn 20010 7 int wa[maxn],wb[maxn],wv[maxn],wq[maxn]; 8 int rank[maxn],sa 阅读全文

posted @ 2013-08-23 15:56 GyyZyp 阅读(163) 评论(0) 推荐(0) 编辑

poj1743 Musical Theme 后缀数组的应用(求最长不重叠重复子串)

摘要: 题目链接:http://poj.org/problem?id=1743题目理解起来比较有困难,其实就是求最长有N(1 2 #include 3 #include 4 #include 5 using namespace std; 6 #define maxn 20010 7 8 int wa[maxn],wb[maxn],wv[maxn],wq[maxn]; 9 int height[maxn];10 int s[maxn];11 int rank[maxn];12 int sa[maxn];13 bool cmp(int *r,int a,int b,int l)14 {return r.. 阅读全文

posted @ 2013-08-23 11:19 GyyZyp 阅读(162) 评论(0) 推荐(0) 编辑

后缀数组模板

摘要: /*后缀数组模板*/#include#include#include#include#define maxn 1010using namespace std;int wa[maxn],wb[maxn],wv[maxn],wq[maxn];int rank[maxn],sa[maxn];int r[maxn];int height[maxn];int cmp(int *r,int a,int b,int l){return r[a]==r[b]&&r[a+l]==r[b+l];}void da(int *r,int *sa,int n,int m)//n为字符串长度 m为字符串取 阅读全文

posted @ 2013-08-23 11:11 GyyZyp 阅读(125) 评论(0) 推荐(0) 编辑

2013年8月21日

poj 1056 IMMEDIATE DECODABILITY 字典树

摘要: 题目链接:http://poj.org/problem?id=1056思路:字典树的简单应用,就是判断当前所有的单词中有木有一个是另一个的前缀,直接套用模板再在Tire定义中加一个bool类型的变量用来判断当前到达的位置是否构成另一个单词的编码代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 const int MAX=2; 8 class Trie 9 {10 public:11 bool isCode;12 Trie *next[MAX];13 };... 阅读全文

posted @ 2013-08-21 16:31 GyyZyp 阅读(119) 评论(0) 推荐(0) 编辑

2013年8月19日

hdu3586 Information Disturbing 树形DP+二分

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3586题目大意:给定n个敌方据点,编号1为司令部,其他点各有一条边相连构成一棵树,每条边都有一个权值cost表示破坏这条边的费用,叶子节点为前线。现要切断前线和司令部的联系,每次切断边的费用不能超过上限limit,问切断所有前线与司令部联系所花费的总费用少于m时的最小limit。1 2 #include 3 #include 4 #include 5 using namespace std; 6 #define MAX 1010 7 #define INF 1000010 8 class node 阅读全文

posted @ 2013-08-19 23:25 GyyZyp 阅读(114) 评论(0) 推荐(0) 编辑

hdu2196Computer 树形DP

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2196思路:一看就是一道树形DP的题目,对于一个节点来说,到它的最远距离的路径可能来于子树,也可能来源于经过父亲节点的路径,所以我们两次DFS即可。第一次DFS自底向上(从叶节点开始),依次求出每个节点的在其子树上的最大距离和次大距离第二次DFS自顶向下(从根节点开始),通过比较经过父亲节点的路径的最大距离和来源于子树的最大距离比较然后更新最大距离至于为什么要保存次大距离呢??因为经过父亲节点的最大距离可能刚好经过当前的孩子节点,那么我们就只能通过当前孩子到父亲节点的距离加上经过父亲节点的路径次大值 阅读全文

posted @ 2013-08-19 16:46 GyyZyp 阅读(214) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页

导航