hdu1251----统计难题(初次接触字典树)
摘要:Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input 输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每...
阅读全文
posted @
2009-01-24 10:16
pandy
阅读(651)
推荐(0) 编辑
pku2524-----Ubiquitous Religions(初次接触并查集)
摘要:方法一:time limited:对于合并操作要搜遍全部元素 Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//并查集 //方法一:用集合中最小元素标记集合。 //对于合并操作要搜遍全部元素。 #include int set[5000...
阅读全文
posted @
2009-01-23 13:05
pandy
阅读(230)
推荐(0) 编辑
pku1067----取石子游戏(博弈)
摘要:代码如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include #include int main() { int a,b,k,temp; while(scanf("%d %d",&a,&b)!=EOF){ ...
阅读全文
posted @
2009-01-17 10:15
pandy
阅读(471)
推荐(0) 编辑
pku1014----dividing(平分钻石,动态规划--剪枝)
摘要:352K 0MS G++ 1077B 2009-01-15 12:35:04 判断给定的钻石价值能否均分。 给一个bool数组它表示能分出的价值数mid||f[j+val*i]) break; 前面:由于考虑的只有前mid...
阅读全文
posted @
2009-01-15 13:44
pandy
阅读(458)
推荐(0) 编辑
pku1050----To the Max(求矩阵的最大子段和)
摘要:336K 16MS GCC 627B 2009-01-12 20:44:31 一维的很简单, 就判断一个大于小于0的情况。(两个分支)。(求解过程中可不用建立数组c) 对于二维的 通过一个循环 for(i=1;i#include #incl...
阅读全文
posted @
2009-01-12 21:00
pandy
阅读(538)
推荐(0) 编辑
pku1088----滑雪(记忆性搜索)
摘要:368K 0MS GCC 817B 2009-01-12 18:56:19 best[i][j]存放从i,j开始点处开始走的最长距离。 对于给定点i,j都深搜其周围的符合条件的点 即dp(i+1,j),dp(i-1,j),dp(i,j+1)...
阅读全文
posted @
2009-01-12 19:04
pandy
阅读(479)
推荐(0) 编辑
pku1157-------LITTLE SHOP OF FLOWERS(简单动态规划题:摆放鲜花使审美价值达到最高)
摘要:328K 16MS GCC 566B 2009-01-12 12:55:30 设置一个best数组,两个用处: 1)存放输入数据 2)best[i][j]表示前i束花放到前j个花瓶中能得到的最大的审美价值。 那么:best[i][j]=ma...
阅读全文
posted @
2009-01-12 13:04
pandy
阅读(232)
推荐(0) 编辑
pku1631-----Bridging signals(动态规划题+二分搜索)
摘要:420K 125MS GCC 596B 2009-01-11 00:56:04 技巧:设置一个数组a[i] 存放所有长度为i的上升子序列中最小的末元素值,比如说只有两个长度为3的上升子序列123和124,那么a[3]中存放的就是3(末元...
阅读全文
posted @
2009-01-11 01:05
pandy
阅读(601)
推荐(0) 编辑
Pku1887----Testing the CATCHER (经典动态规划题:最长下降子序列),,,,,捎带pku2533---Longest Ordered Subsequence
摘要:280K 63MS GCC 600B 2009-01-10 23:08:06 哭死了,这道题目竟然错了十几次之多。 是一道很简单的题目:最长下降子序列问题。。。。。 刚开始错在数组开的太小,导致runtime error, 其次,误以为最后...
阅读全文
posted @
2009-01-10 23:15
pandy
阅读(665)
推荐(0) 编辑
pku3356---AGTC(做的最少修改动作,动态规划)
摘要:4228K 0MS GCC 568B 2009-01-09 11:00:31 注意:这道题目是多case。。。。害我在这上面wrong了n次。 数组best[i][j],第一个字符串前i位和第二个字符串前j位能做到的最优值。 分析: 1)a...
阅读全文
posted @
2009-01-09 11:09
pandy
阅读(431)
推荐(0) 编辑
pku2192---Zipper(动态规划题,随机组合两个字符串)
摘要:328K 16MS G++ 859B 2009-01-09 10:02:27 因为看到最后组合的字符串长度会等于两个字符串长度之和,以为很简单,想用 while(i#include #include char first[202],sec...
阅读全文
posted @
2009-01-09 10:12
pandy
阅读(616)
推荐(0) 编辑
PKU1080--Human Gene Functions(基因相似度,动态规划)
摘要:328K 0MS GCC 983B 2009-01-09 08:57:52 对字符串的最后一位分析,分三种情况:(第一个字符串有n位,第二个字符串有m位) 1)n位和m位匹配+前面子串的最优值(第一个基因的前n-1位,第二个基因的前m位) ...
阅读全文
posted @
2009-01-09 09:06
pandy
阅读(920)
推荐(0) 编辑
pku2250--Compromise(最长公共子串,记录结果)
摘要:题目很简单,多一个记录。。。。 忘了一个等于号,害我弄了大概一个小时。。。 郁闷了,考虑真不全面。。 代码如下: Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include #include char a[105][35],b[10...
阅读全文
posted @
2009-01-08 23:39
pandy
阅读(390)
推荐(0) 编辑
pku1953---World Cup Noise(不允许有相邻的1,很简单的推导哦)
摘要:核心代码就是: f1[i]=f0[i-1]; f0[i]=f1[i-1]+f0[i-1]; i表示数的位数,f1表示以1为结尾的数的个数,f0表示以0为结尾的数的个数 那么最后结果就很简单啦,就是f1+f0哦,注意要用__int64 代码如下: Code Code highlighting produced by Actipro CodeHighlighter (freeware)http:/...
阅读全文
posted @
2009-01-08 01:39
pandy
阅读(370)
推荐(0) 编辑
pku1458-----Common Subsequence(经典动态规划题)
摘要:1080K 0MS 是不是我太久没做题目的关系, 我记得曾经在输入后面不加eof跟加eof是等价的啊。。。。 害我tle了n次,最后加了一下,就变成0ms了。。。 不多说了,因为是经典的动态规划题: 直接看代码好了: Code Code highlighting produced by Actipro Co...
阅读全文
posted @
2009-01-08 01:17
pandy
阅读(925)
推荐(0) 编辑
pku2081----Recaman's Sequence(按所给的递推公式来做就行)
摘要:5196K 16MS G++ 414B 刚开始还苦恼着要不要自己重新再推一个公式出来 后来发现他给的空间和时间限制,应该是足够的,就试了一下,结果就是上面这样子。 题目思路就是:首先生成结果 主程序里直接调用就可以了。 代码如下: Code Code hi...
阅读全文
posted @
2009-01-08 00:26
pandy
阅读(637)
推荐(0) 编辑
pku1579---Function Run Fun动态规划题:递归函数(会TLE)
摘要:题目大意: Consider a three-parameter recursive function w(a, b, c): if a 20 or b > 20 or c > 20, then w(a, b, c) returns: w(20, 20, 20) if a #include int a,b,c,m[22][22][22]; void init() { for(a...
阅读全文
posted @
2009-01-07 23:45
pandy
阅读(776)
推荐(0) 编辑
pku1163---the triangle(三角形):动态规划题
摘要:经典动态规划题 题目大意:对于一个有数字组成的二叉树,求由叶子到根的一条路径,使数字和最大,如: Sample Input 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 Sample Output 30 思路就是由下向上动态规划,保存页子节点到当前节点的最大值,最后结果就是num[0][0](num用来存放三角数据) 代码如下: Code Code h...
阅读全文
posted @
2009-01-07 22:57
pandy
阅读(558)
推荐(0) 编辑