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

2012年7月9日

hdu 2020 我ACM的处女题 代码超有意思,记念~~~

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2020题意:输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。思路:先把所有的数据一组一组全部读入,然后再一组一组的排序,最后一组一组的输出,都是基于链表实现的。呵呵,这是大一的代码,在hdu上的第一次提交的,当时还有printf("input what you want");这些搞笑的东西。现在改改控制一个输入输出,居然ac了。View Code #include<stdio.h>#include<s 阅读全文

posted @ 2012-07-09 21:37 aigoruan 阅读(252) 评论(0) 推荐(0)

poj 3623 Best Cow Line, Gold

摘要: http://poj.org/problem?id=3623题意:给一个字符序列,要求不断的从原序列的首或尾取一个字符,重新生成一个字符序列使得字典序最小。思路:一开始以为直接贪心,比较首尾的字符大小就可以了,深入想就知道,当首尾一样的时候,要依靠后一位作判断。因此问题就转成两个字符串的大小比较(首为顺序,尾为反序)。这样先把原字符串反序放到原字符串的后面,对整个串进行后缀排序,最后就可以rank数组贪心答案。View Code #include<set>#include<map>#include<stack>#include<queue>#in 阅读全文

posted @ 2012-07-09 20:47 aigoruan 阅读(246) 评论(0) 推荐(0)

poj 3261 Milk Patterns

摘要: http://poj.org/problem?id=3261题意:求一个整数序列最长的重复k次的序列,序列可以重叠。思路:后缀数组+二分:得到height数组后,二分答案ans,检查height数据里是否有连续的k-1个值不小于ans。View Code #include<set>#include<map>#include<stack>#include<queue>#include<cmath>#include<bitset>#include<string>#include<climits>#inc 阅读全文

posted @ 2012-07-09 19:08 aigoruan 阅读(118) 评论(0) 推荐(0)

poj 3581 Sequence

摘要: http://poj.org/problem?id=3581题意:给一个整数序列,要求划分成三个连续的子序列,同时将子序列反序,使得最后得到的序列的子典序最小。思路:对于这个序列,很明显,每个整数最后都要反序一次,所以可以先把原来的序列反序,这样问题就可以转化成在一个序列里,划分三个连续的子序列,按一定的顺序输出这个子序列,使得最后的序列字典序最小。先考虑第一个序列,因为原序列的第一个整数是最大的,也就是反序列中最后一个元素是最大的,所以第一个序列就是反序列后的最小后缀。求第二个序列的时候因为没有了第一个序列的最大元素,所以不能直接求最小后缀。这时可以先把第一个序列割出来,然后重复一次剩下的序 阅读全文

posted @ 2012-07-09 11:05 aigoruan 阅读(231) 评论(0) 推荐(0)

2012年7月8日

最长回文 hdu 3068 poj 3974 ural 1297

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3068http://poj.org/problem?id=3974http://acm.timus.ru/problem.aspx?space=1&num=1297题意:给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度.思路:1、Manacher解法,再每个字母前后面插入字符'#',再找最长回文串。2、拓展KMP解法3、后缀数组解法(超时了)4、二分+暴力(水过)解法4:(三个题目都可以这样解)明显,如果回文的长度是L,那么答案一定不小于L,因而能够 阅读全文

posted @ 2012-07-08 10:01 aigoruan 阅读(516) 评论(0) 推荐(0)

2012年7月7日

hdu 1867 A + B for you again

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1867题意:给你两个字符串,求输出两个字符串合并的最小字符串;如果第一个字符串的末尾几个字符和第2个字符串的前面几个字符相同即可输出一遍即可,例如:asdf df ->asdf;asdf sd->asdfsd; asdf sdc->asdfsdc;规则:1.长度越短优先 2.字典序越小优先思路:正解是kmp,百度吧~~~ 我的思路是从大到小枚举第一个串的一个长度L,先检查第一个串的L字符值总和N与第二个串的字符总和M是否相等(长度都是L),如果相等则进行匹配,如果匹配成功就是答案了。有点贪心 阅读全文

posted @ 2012-07-07 21:27 aigoruan 阅读(158) 评论(0) 推荐(0)

2012年7月6日

hdu 2460 & poj 3694 Network

摘要: http://poj.org/problem?id=3694http://acm.hdu.edu.cn/showproblem.php?pid=2460题意:给一个无向图,每加入一条新边后,统计桥的数目。思路:看完解题报告后,觉得自己傻了,几乎是暴力的方法。用tarjan先统计图中的每个桥,并标记(以桥的出点作标记,即:uv是桥,标记v),并全部归结到以1为根的树中。查询的时候用类似并差集的方法,不断向根走,同时检查经过的点是不是桥,当u=v的时候就可以退出了。PS:如果原图是一线树,每次查询都选择两端点。可以知道时间复杂度为10^8,真不知道这样也可以过,只能说数据水了,或者说每加入一条边, 阅读全文

posted @ 2012-07-06 15:27 aigoruan 阅读(297) 评论(0) 推荐(0)

poj 3592 & uestc 1315

摘要: http://poj.org/problem?id=3592http://www.acm.uestc.edu.cn/problem.php?pid=1315题目大意:给定一个矩阵,西南角为起点,每个单元都有一定价值的金矿(#表示岩石,不可达,*表示时空门,可以到达指定单元),队#外,每个点只能向右走或向下走,而且可以重复经过一个点。现在要求得最多可以获得多大利益。思路:原矩阵可以看成一个有向图,因为可以重复经过一个点,所以如果图中有环(因为有环),则环内的所有值都可以取完的,所以把环缩成一个点后,就成一棵有向无环图。从起点进行DFS记忆化搜索找最大值就好了。PS:在进行找环缩点时,我认为从起点 阅读全文

posted @ 2012-07-06 12:25 aigoruan 阅读(177) 评论(0) 推荐(0)

2012年7月5日

poj 2942 Knights of the Round Table

摘要: http://poj.org/problem?id=2942题目大意:N个骑士中某些骑士之间会有仇恨。骑士们开会时围坐在一个圆桌旁。一次会议能够举行,当且仅当没有相邻的两个骑士相互仇恨,且开会人数为大于2的奇数。若某个骑士任何会议都不能参加,那么就必须将它踢出。给出骑士之间的仇恨关系,问需要踢出多少个骑士。思路:题目给出的是一对对相互仇恨的骑士,要使得骑士间环成一环,相邻没有仇恨,就要建图的时候就不能出现相邻有仇恨的。然后问题转化成求一个图里面的奇环,而在一个双连通图里,如果存在一个奇环,则这个双连通图中的每一个点,都能在一个奇环里(很蛋疼的想法)。所以最后就是在一个双连通图里找奇环,利用正负 阅读全文

posted @ 2012-07-05 13:28 aigoruan 阅读(154) 评论(0) 推荐(0)

2012年7月4日

poj 3352 Road Construction

摘要: http://poj.org/problem?id=3352题意:给一个无向图,加上最少的边,使得改造后的图中去掉任意一条边后图依然连通。思路:容易想到有环,则环上的点之间不会有问题,所以先首进行缩点,然后形成一棵树,记叶子数为N。再不断进行加边成环缩点可知最终结果为(N+1)/2。N=1时要特判。View Code #include<set>#include<map>#include<stack>#include<queue>#include<cmath>#include<bitset>#include<strin 阅读全文

posted @ 2012-07-04 22:22 aigoruan 阅读(109) 评论(0) 推荐(0)

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

导航