
全部博客
文章平均质量分 79
ZeroClock
这个作者很懒,什么都没留下…
展开
-
hdu 1394 Minimum Inversion Number (数据结构_线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1394题目大意:给定一个序列,求逆序数总和,也就是在当前位置后面比当前值小的数的个数。这题的序列,前后可以滑动即第一个可能变到最后面。解题思路:换个角度找逆序数,即在当前位置之前比当前值大的数的个数,那只要在每次输入一个数的时候寻找x+1...n-1里出现过的个数原创 2012-04-21 21:12:26 · 740 阅读 · 0 评论 -
poj 3250 Bad Hair Day (数据结构_栈)
题目链接:http://poj.org/problem?id=3250题目大意:给定一个序列,定义ci为从位置i开始后面连续的严格小于它的个数,最后求ci的总和(1解题思路:栈的应用,将每个数压入栈,如果碰到大于栈头的数就退栈,并计算ci,ci就是两个下标想减的值,也可以这样理解,即区间内小于两端的个数。测试数据:61原创 2012-04-21 14:33:01 · 1061 阅读 · 0 评论 -
poj 3450 Corporate Identity (字符串_KMP)
题目链接:http://poj.org/problem?id=3450题目大意:给定m个串,求每个串中都出现的最长子串,如果两个子串长度一样要求输出字典序小的一个答案。如果没有则输出“IDENTITY LOST”解题思路:枚举第一串的所有子串,再与其他每个串进行匹配,如果能匹配到则更新答案。测试数据:2abcxyz原创 2012-04-17 13:43:42 · 910 阅读 · 0 评论 -
poj 3080 Blue Jeans (字符串__KMP)
题目链接:http://poj.org/problem?id=3080题目大意:给定m个串,求长度大等于3且在每个串中都出现的最长子串,如果两个子串长度一样要求输出字典序小的一个答案。如果没有则输出“no significant commonalities".解题思路:第枚举第一串的所有大等于3的子串,再与其他每个串进行匹配,如果能匹配到则更新答案。测试数据:5原创 2012-04-17 13:27:46 · 1128 阅读 · 2 评论 -
poj 2406 Power Strings (字符串__KMP)
题目链接:http://poj.org/problem?id=2406题目大意:问一个串最多游几个相同的串组成(至少一串)解题思路:求出next数组,循环节长度是strlen(str) - next[strlen(str)],记为len1,总长度记为len,如果有多个相等的串组成,len % len1 == 0,则答案是len / len1,否则就是1。为什么呢?拿个aaa原创 2012-04-16 13:42:17 · 622 阅读 · 0 评论 -
hdu 3068 最长回文(字符串__多种解法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068题目大意:问一个串中的最长回文长度。解题思路:1、Manacher解法,再每个字母前后面插入字符'#',再找最长回文串。2、拓展KMP解法3、后缀数组解法测试数据:aaaaabababbbaacacaabccccccab代原创 2012-04-13 19:12:53 · 949 阅读 · 0 评论 -
hdu 2594 Simpsons’ Hidden Talents (字符串__KMP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2594题目大意:给定两个字符串s1,s2,求最长的s1前缀ss使得ss为s2的后缀,比如s1 = "youloveme",s2 = "fuckyou",所求ss即为“you"题目思路:将s1和s2拼为s3,在s3中求next数组,最终判断最后一个字母的next值,我的代码中nex原创 2012-04-12 23:08:16 · 1113 阅读 · 0 评论 -
hdu 3925 Substring(模拟)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3925题目大意:给定一个大数a,和小数b,问a最少加上多少使得a中含有子串b。解题思路:让b*1,b*10,b*100与a想减,对每次减的结果取最小值。测试数据:1001340 134123456 2349 29999 11110 114444 111原创 2012-04-12 18:09:15 · 840 阅读 · 1 评论 -
poj 2373 Dividing the Path (DP_单调队列优化)
题目链接:http://poj.org/problem?id=2373题目大意:给定一个长度L,等分为L段,有n头牛,每头牛有一个活动区域,比如3,6,又有喷泉,喷的是圆形,半径在A,B之间,要求在长度为L的区间内安放最少的喷泉,使得每个位置都能被喷到,有两个要求:1、牛活动地区域内必须只由一个喷泉喷到,如果活动区域是(3,6),A = B = 1,则最大半径为1,如果放在3,原创 2012-04-23 16:19:34 · 1327 阅读 · 1 评论 -
poj 1631 Bridging signals (DP_最长递增子序列nlogn)
题目链接:http://poj.org/problem?id=1631题目大意:给定1个序列,不会重复,x出现在y位置,即代表x与y可以连线。最后要从这个序列中尽量多地选择连线并保证连线不交叉。解题思路:其实这题就是两个序列连线,求连线不交的最多连线数。本题一个序列已经固定,那只要保证另一列被选择的数是递增的就不会相交了,不理解的话画几个模拟下就懂了。那问题原创 2012-04-21 01:37:01 · 1365 阅读 · 0 评论 -
poj 2185 Milking Grid (字符串__KMP好题)
题目链接:http://poj.org/problem?id=2185题目大意:给定一个n*m的字符矩阵,每行字符会有若干个相同的串组成,最后一个重复串不一定要完整。问这个矩阵可由面积最小为多少的矩阵组成。解题思路:第一次看完题目,有点不解,又看了下测试数据,觉得没有思路,又重复看了一次题目,注意到一句话:Note that the dimensions o原创 2012-04-16 16:15:07 · 642 阅读 · 0 评论 -
poj 2752 Seek the Name, Seek the Fame (字符串__KMP)
题目链接:http://poj.org/problem?id=2752题目大意:问一个串中既是前缀又是后缀的不同子串的长度解题思路:记题目所给串为str,长度为len,求出next数组,最长的那个子串长度即为next[len],再使i = next[len],此时的next[i]也是一个题目要求的子串,如此递归直到next[i] == -1 || next[原创 2012-04-16 14:24:12 · 593 阅读 · 0 评论 -
hdu 1867 A + B for you again (字符串__KMP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1867题目描述:给定两个串s1,s2,让s1与s2合并,如果某个串的前缀和另一个串的后缀相等,则应去掉前缀,比如s1 = "abc"与 s2 = "bcd",则合并后为"abcd".要求答案竟可能短且字典序尽可能小。解题思路:与 hdu 2594 Simpso原创 2012-04-13 14:15:07 · 760 阅读 · 0 评论 -
poj 2774 Long Long Message (字符串_后缀数组)
题目链接:http://poj.org/problem?id=2774题目大意:给定两个字符串,求最长的公共子串,和DP里的LCS(最长公共子序列)问题完全不一样解题思路:本题可用后缀数组解决,将两个串拼接,中间用和末尾都用一个很小很小的字符隔开,然后求各个后缀的rank以及每个后缀与其他后缀的最长公共前缀height数组,height数组中符合条件的最大值原创 2012-04-24 19:44:53 · 815 阅读 · 0 评论 -
hdu 1244 Max Sum Plus Plus Plus(DP_简单)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1244题目大意:给定一个由n个正整数组成的整数序列a1 a2 a3 ... an,求按先后次序在其中取m段长度分别为l1、l2、l3...lm的不交叠的连续整数的和的最大值。解题思路:状态转移方程:dp[i][j] = max(dp[i][j-1],dp[i-1]原创 2012-04-24 21:36:22 · 975 阅读 · 3 评论 -
poj 1200 Crazy Search (数据结构_Hash)
题目链接:http://poj.org/problem?id=1200题目大意:给定整数n和nc,以及一个很长很长的字符串,问长度为n的子串有多少个?nc表示总共有几个字母,最终的答案不超过16000000.解题思路:本题由于字符串长度未知,但知道很长很长,后缀数组什么的靠边站,复杂度又高程序又难写。所以用了个hash,先为出现的每个字母赋个值(0至nc-1原创 2012-04-30 18:17:29 · 1459 阅读 · 0 评论 -
hdu 4193 Non-negative Partial Sums (数据结构_单调队列)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4193题目大意:给定一个由n个整数组成的整数序列,可以滚动,滚动的意思就是前面k个数放到序列末尾去。问有几种滚动方法使得前面任意个数的和>=0.解题思路:刚拿到题目有暴力求解的冲动,但看到n的范围是1-100万,瞬间就腌了,但隐约觉得这样的题目会有一些性质,这个性原创 2012-05-02 13:25:45 · 897 阅读 · 0 评论 -
poj 1415|hdu 1298 T9 (字符串_字典树)
题目链接:http://poj.org/problem?id=1451 http://acm.hdu.edu.cn/showproblem.php?pid=1298题目大意:本题很有实际意义,模拟现实中的手机输入法,我最喜欢这种题目了,让我们在巩固算法的同时加强对现实事物的认知。言归正传,本题给定n个字符串和每个串出现的频率,每个字符原创 2012-05-02 15:53:31 · 988 阅读 · 2 评论 -
fjnu校赛F题(字符串_后缀数组)
题目链接:http://acm.fafu.edu.cn/problem.php?id=1241题目描述: Welcome to Fjnu and don’t miss our fantasy lottery! In every period,there will be a given string and one of its substring is conside原创 2012-04-28 17:39:50 · 1481 阅读 · 0 评论 -
poj 2828 Buy Tickets (数据结构_线段树)
题目链接:http://poj.org/problem?id=2828题目大意:给定n个人进入队伍时的位置,如果某个位置及其后面有人,则后面的人都要向后挪一个位置,这不正是每天都在现实生活中上演的插队问题吗!有n个pos[i]和val[i],pos[i]表示这个人插入到pos[i]的右面,其实加1的话,更好理解,就是插在什么位置。至于那个val[i]只是为了表示某个人而原创 2012-05-03 12:46:12 · 1648 阅读 · 1 评论 -
hdu 2896 病毒侵袭 (字符串_AC自动机)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2896题目大意:给定n个病毒代码和m个网站源码,问每个网站源码包含哪些病毒。解题思路:用n个病毒代码构造一棵trie树,再增加fail指针。最后只要进行查询就可以了,差不多就是模板题。最后将求得的病毒序号排序输出即可。测试数据:原创 2012-05-03 16:26:09 · 771 阅读 · 0 评论 -
Hdu 1059 Dividing (DP_背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1059题目大意:给定6堆硬币,每堆硬币的价值分别为1,2,3,4,5,6,现在给定每堆的硬币数量,问能否把这些硬币按价值平分?解题思路:简单的多重背包,把每堆硬币按二进制处理成若干件物品,每堆的cost分别为2^0,2^1..2 ^(k-1), num - 2^k原创 2012-05-27 16:24:03 · 742 阅读 · 1 评论 -
Hdu 1712 ACboy needs your help (DP_背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1712题目大意:给定n门课,再用m天复习这n门课,然后给定一个n*m的矩阵A,A[i][j]表示用j天复习第i门课获得得收益。问用m天复习不同的课获得的最大收益。解题思路:本题本身没什么难度,但是数据给的很有迷惑性,一开始我认为1门课可以复习两次,然后就把n*m个原创 2012-05-27 20:07:43 · 806 阅读 · 0 评论 -
Uva 562 Dividing coins (DP_背包)
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=503题目大意:给定n个硬币,要求将这些硬币平分以使两个人获得的钱尽量多,求两个人分到的钱最小差值。解题思路:其实和Uva147,35原创 2012-05-26 23:21:51 · 1315 阅读 · 0 评论 -
Hdu 1114 Piggy-Bank (DP_背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114题目大意:给定一个储蓄罐可容纳的重量和n个价值为p重量为w的硬币,问在填满储蓄罐的情况最小的价值为多少?如果没办法填满输出This is impossible.解题思路:因为题目的数据范围很小,时间又给很多,可以直接暴力,枚举每次选的数量后相当于01背包。状原创 2012-05-27 16:50:56 · 867 阅读 · 0 评论 -
Hdu 3535 AreYouBusy (DP_背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3535题目大意:xiaoA想尽量多花时间做ACM,但老板要求他在t时间内做完n堆工作,每个工作耗时cost[i][j],幸福感val[i][j],每个工作有num[i]个工作,每堆工作都有一个性质,0表示至少要做里面的1个工作,1表示最多做里面的1个工作,2表示随意,做或不做都行。最原创 2012-05-28 10:18:10 · 1002 阅读 · 6 评论 -
浙江省金华邀请赛赛后总结
本次比赛由我、白翔、君帅组成的iBeyond完成. 每场比赛每次训练都让我更离不开ACM。 当我躺在从金华去杭州的火车过道上,余晖洒进车厢,一切显得那么平静,可是我的心却静不下来,又一次喝了杯拿铁。成功不是偶然的,失败也不是偶然的,对于这场邀请赛的失利虽有点始料未及,但细想下还是情理之中。 先说下本次比赛的10道题目: A、水题,简单排序就可以,但是题意不明,又没看到原创 2012-05-10 01:37:51 · 2667 阅读 · 4 评论 -
Hdu 1494 跑跑卡丁车 (DP_背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1494题目大意:根据跑跑卡丁车改造而来的动态规划题目。跑道中每圈都分n个赛道,有L圈,跑完一个赛道能量加%20,跑完5个赛道能量满送一个加速卡,最多2个加速卡,如果加速卡为2个,能量为%100,又从0开始,不送加速卡。题目给定n个数ai和bi,ai为每个赛道正常耗时,bi为加速时的耗原创 2012-05-27 14:50:13 · 1349 阅读 · 0 评论 -
hdu 1698 Just a Hook (数据结构_线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698 题目大意:一题关于Dota的题,寂寞的男人玩Dota,空虚的男人做Dota题。言归正传,本题给定一个长度为n的序列,每个位置初始化都为1,现在有q个操作,可以将某段区间的数全部赋为1或2或3,问最后的序列总和是多少。 解题思路:很早之前用暴力的方法才能背后往前原创 2012-05-08 03:18:51 · 1336 阅读 · 0 评论 -
Hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (DP_背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191题目大意:要求用特定的钱买最大重量的粮食,有n种粮食,每种粮食有重量、价格、数量,最后的钱可以剩余。解题思路:又是一题多重背包被当成了01背包,做完对出题者心怀感恩啊,数据出得这么水。状态转移方程:dp[j] = min(dp[j-k*w[i]] + k *原创 2012-05-27 19:29:40 · 1165 阅读 · 0 评论 -
Uva 348 Optimal Array Multiplication Sequence (DP_矩阵链乘)
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=284题目大意:标准的矩阵链乘问题,给定n个矩阵,ai行,bi列,两个矩阵相乘(bi == aj)计算次数为ai*bi*bj(ai*aj*bj)。现在原创 2012-05-27 01:28:06 · 1252 阅读 · 0 评论 -
Hdu 2546 饭卡 (DP_背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546题目大意:电子科大的食堂刷卡问题,如果卡上余额大等于5,那就可以随便打菜,即使打了鲍鱼等价格比余额多得多的菜。现在给出n个菜的单价,每个菜买一次,问最后卡上剩的余额最少为多少?解题思路:本题可套用01背包的思想,值是价值变为可达不可达。用dp[j]表示余额为原创 2012-05-27 19:16:40 · 1024 阅读 · 0 评论 -
Hdu 3033 I love sneakers! (DP_背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3033题目大意:xx去买鞋,有k种牌子,然后给出n双鞋,每双鞋有它属于的牌子、价格、收藏价值。xx认为他不差钱,要求每种鞋子买一双。但实际上他只有m毛钱,问能否买到符合xx要求的鞋,能找到的话输出最大的收藏价值总和。解题思路:分组背包的变形,每种牌子要求至少选一个原创 2012-05-27 20:58:09 · 1081 阅读 · 1 评论 -
Zoj 1109 Language of FatMouse(字符串_字典树)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1109题目大意:给定若干对字符串,每个串对应另一个字符串。现在给出若干个字符串,输出它对应的字符串。 解题思路:用字典树求解,先建树,字典树节点保存的信息:是否是出现过的字符串末尾,是的话记录它对应的字符串。再对每个串进行查询。原创 2012-05-11 09:45:41 · 612 阅读 · 0 评论 -
FZU 1926 填空 (字符串处理_KMP)
题目链接:http://acm.fzu.edu.cn/problem.php?pid=1926 题目大意:一题关于字符串匹配的中文题,给出一篇文章,由单词组成,再给定一个句子,句子中包含“_”,“_"可以任意匹配一个单词,问这个句子是否出现在文章中。 解题思路:这题可用KMP解。我的做法是为每个单词编个号,然后根据编号去匹配,"_"可任意匹配。但是这样明显慢,其原创 2012-05-11 11:23:18 · 599 阅读 · 0 评论 -
Hdu 2639 Bone Collector II (DP_背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2639题目大意:要求找出第k大的价值,相同的价值只能算一种,如17,14,14,13,,那么13为第3大。解题思路:01背包的变种第k大01背包解决方法是从01背包的解法中改进而来。每次转移状态时,选择当前容量下的前k个价值,再找前面状态转移过来的前k个价值,然后原创 2012-05-29 19:48:19 · 1147 阅读 · 0 评论 -
Poj 1186 方程的解数 (数据结构_Hash)
题目链接:http://poj.org/problem?id=1186 题目大意:已知一个n元高次方程其中:x1, x2,...,xn是未知数,k1,k2,...,kn是系数,p1,p2,...pn是指数。且方程中的所有数均为整数.假设未知数1 1 求这个方程的整数解的个数。 解题思路:由于n和m特别小,可以通过枚举的方式来求解。枚举X1,X2..Xn/2,他们的和原创 2012-05-11 22:30:29 · 1020 阅读 · 0 评论 -
Zoj 1808 Immediate Decodability(字符串_字典树)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1808 题目大意:给定若干个字符串,问这些字符串中是否出现某个串是另外一个串的子串。 解题思路:用字典树求解,先建树,再对每个串进行查询,看在遍历完这个串之后是否会有子节点,有则说明它是其他串的子串。测试数据:01原创 2012-05-11 09:33:33 · 810 阅读 · 0 评论 -
Hdu 3812 Sea Sky (模拟_搜索)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3812题目大意:给定n个字符对ai,bi,表示ai和bi相连,现在要求求出从“sea”连接到"sky"的一个序列,序列中的字符串出现两次,长度要求最大,并且字典序最小,如果没办达到要求,输出"what a pity“。解题思路:这题是去年武汉邀请赛的题目,难度中上原创 2012-05-29 21:31:57 · 1524 阅读 · 0 评论 -
poj 1816 Wild Words (字符串_字典树)
题目链接:http://poj.org/problem?id=1816题目大意:给定n个模式串,模式串中带有?和*,?可以当作任何一个字符,*可以当作随意个字符,也可以是0个。现在给出m个匹配串,问哪些模式串出现在当个匹配串中,按照这些模式串编号的字典序输出。 解题思路:用字典树+DFS求解.利用n个模式串建棵字典树,字典树节点保存next指针和当前所在的节原创 2012-05-11 10:19:17 · 118 阅读 · 0 评论