2013年5月9日

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1305 题意:给你几个串,如果这些串中不存在一个串是另一个串的前缀,就说明这一组串是immediately decodable,反之则不是。 思路:先把所有串全部插入,然后来一个循环判断每个单词结尾处的cnt与1的大小关系,大于1的话说明这个串是某一个或者某几个串的前缀,那么就是not immediately decodable。 代码:View Code #include <algorithm>#include <iostream>#include <cstdlib>#i 阅读全文
posted @ 2013-05-09 13:10 Raining Days 阅读(218) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1800这个题,就是在插入的时候注意一下前导零的问题,其他的就没什么了,祝君ac。上代码:View Code #include <algorithm>#include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>using namespace std;const int maxn=10;struct node{ int cnt; node *next[maxn]; nod 阅读全文
posted @ 2013-05-09 13:04 Raining Days 阅读(146) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3460 这题题意我就不想说了,做的真实气死我了。就是把给定数目的单词用他那个“ancient printer”给打印出来,让你把最少按键次数输出来。尼玛, 我最初的想法很简单,就是在ac自动机的基础上去,用深搜来跑。因为要求最少嘛,所以记得当时自己就一直在想怎么能满足最优,先打印存在前后缀长度短的,当时YY了好久,但是总是感觉不行。后来实在没办法才去google的,发现他们的方法特别。。,其实我当时也想到了,但是偏执的想跑一下深搜,结果自己还玩大了。按键次数=单词个数(因为要按print键)+2*总共结点.. 阅读全文
posted @ 2013-05-09 10:56 Raining Days 阅读(191) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1559 汉语题,呵呵。 思路:这个题跟我上一篇博文中的那个题的区别就在限制了子矩阵的大小。如果没有看过我上一篇博文的可以先去扫一眼,我们不妨回顾一下,那个题是怎么做的:我们采用了大家都比较熟知的,我自己习惯叫行压缩,我们新建了一个数组link来存放到当前行为止每一列的的和,这样就差不多回到一维的样子。那这个题又该怎么想呢?我们是不是可以采取每行的一部分,使得先满足子矩阵Y的要求,然后在限制列,使得满足子矩阵X的要求,是否可以呢?应该是可以的,但是当时我还有一点没有想通,我要怎么来限制X呢?这题最终解决是我.. 阅读全文
posted @ 2013-05-09 10:18 Raining Days 阅读(403) 评论(0) 推荐(0)

导航