【ACM HDJ】
paidream
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【2087 HDU KMP 】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087 #include #include #include using namespace std; char s[1005],p[1005]; int next[1005]; void getnext(char *p,int *next){ next[0]=-1;原创 2013-12-07 14:52:01 · 738 阅读 · 0 评论 -
【HDU 2594 KMP】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2594 求a的最长前缀是b的后缀。 将两串拼接成s,a在前b在后,则问题转化为求一个串的前缀是后缀。 注意s的前缀不一定是a的前缀也不一定是b的后缀,所以当f[n]>na或f[n]>nb时我们要忽略子串s[ 1->f[n] ]。 学习:strcat(s1,s2); strcat 在 #原创 2013-12-07 22:01:23 · 573 阅读 · 0 评论 -
【HDU 3746 KMP之next】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746 注意理解: next[ ]存的是前缀和后缀的最大匹配值, length=len-next[], 是循环节。 len%(len-next[])==0 为最大循环节。 length - next[len] % length就是需要添加的字符个数。 总的表达式就是: len-next[原创 2013-12-06 18:22:42 · 550 阅读 · 0 评论 -
【NYOJ 284 BFS+优先队列】
题目背景很有趣,是大家小时候经常玩的坦克大战,哈哈。弱弱地表示本人小时候经常玩游戏机。 此题是在迷宫问题的基础上做了些改动,就是地图上能走的点可能耗费时间1,也可能耗费时间2。 那么,元素在出队列时,不能简单的按照以前的入队顺序出队了,而应该让时间最短的先出队, 这样就能够保证先入队的点一定是时间最短的,那么搜到终点时也时间也一定最小。 现在回头想下,迷宫问题之所以没有考虑原创 2014-04-14 19:10:18 · 604 阅读 · 0 评论
分享