2011年7月30日

POJ2513-Colored Sticks

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1304742541大致题意:给定一些木棒,木棒两端都涂上颜色,求是否能将木棒首尾相接,连成一条直线,要求不同木棒相接的一边必须是相同颜色的。解题思路:可以用图论中欧拉路的知识来解这道题,首先可以把木棒两端看成节点,把木棒看成边,这样相同的颜色就是同一个节点问题便转化为:给定一个图,是否存在“一笔画”经过涂中每一点,以及经过每一边一次。这样就是求图中是否存在欧拉路Euler-Path。回顾经典的“七桥问题”,相信很多同学马上就明白了什么是 欧拉路 了,这里不多作解释。由图论知识可以知道,无 阅读全文

posted @ 2011-07-30 22:26 小優YoU 阅读(344) 评论(0) 推荐(1) 编辑

POJ3253-Fence Repair

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1304489412大致题意:有一个农夫要把一个木板钜成几块给定长度的小木板,每次锯都要收取一定费用,这个费用就是当前锯的这个木版的长度给定各个要求的小木板的长度,及小木板的个数n,求最小费用提示:以35 8 5为例:先从无限长的木板上锯下长度为 21 的木板,花费 21再从长度为21的木板上锯下长度为5的木板,花费5再从长度为16的木板上锯下 长度为8的木板,花费8总花费 = 21+5+8 =34解题思路:利用Huffman思想,要使总费用最小,那么每次只选取最小长度的两块木板相加,再把 阅读全文

posted @ 2011-07-30 22:22 小優YoU 阅读(260) 评论(0) 推荐(0) 编辑

POJ2503-Babelfish

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1304498724大致题意:输入一个字典,字典格式为“英语à外语”的一一映射关系然后输入若干个外语单词,输出他们的 英语翻译单词,如果字典中不存在这个单词,则输出“eh”解题思路:水题,输入时顺便用STL的map标记外语是否出现过,然后再用map建立“外语à英语”的映射,那么输出时先查找“出现”的标记,若有出现过,再输出映射,否则输出“eh”。用STL毫无难度(要真说难,也就是空行的处理有一点技巧),也可以用hash做,不过比较麻烦 1 //Memory Time 2 阅读全文

posted @ 2011-07-30 22:14 小優YoU 阅读(228) 评论(0) 推荐(0) 编辑

POJ3432-Count Squares

摘要: 转载请注明出处:優YoUhttp://user.qzone.qq.com/289065406/blog/1304781008POJ2002的山寨题,把数据规模从2002的 n=1000修改为n=2000就能AC了注意这种题一定不能图方便用STL的map标记,map效率不高,必定超时的.解题思路参看POJ2002:http://blog.csdn.net/lyy289065406/article/details/6647405 1 //Memory Time 2 //336K 313MS 3 4 #include<iostream> 5 using namespace std; 6 阅读全文

posted @ 2011-07-30 22:12 小優YoU 阅读(307) 评论(0) 推荐(0) 编辑

POJ2002-Squares

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1304779855大致题意:有一堆平面散点集,任取四个点,求能组成正方形的不同组合方式有多少。相同的四个点,不同顺序构成的正方形视为同一正方形。解题思路:做本题数学功底要很强= =直接四个点四个点地枚举肯定超时的,不可取。普遍的做法是:先枚举两个点,通过数学公式得到另外2个点,使得这四个点能够成正方形。然后检查散点集中是否存在计算出来的那两个点,若存在,说明有一个正方形。但这种做法会使同一个正方形按照不同的顺序被枚举了四次,因此最后的结果要除以4.已知: (x1,y1) (x2,y2)则 阅读全文

posted @ 2011-07-30 22:08 小優YoU 阅读(449) 评论(0) 推荐(1) 编辑

POJ1840-Eqs

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1304402322大致题意:给出一个5元3次方程,输入其5个系数,求它的解的个数其中系数 ai∈[-50,50] 自变量xi∈[-50,0)∪(0,50]注意: 若x1 =a, x2=b ,x3=c ,x4=d,x5=e时,与 x1=b, x2=a ,x3=c ,x4 =d, x5=e 代入方程后都得到值0,那么他们视为不同的解。解题思路:直观的思路:暴力枚举,O(n^5)题目Time Limit=5000ms,1ms大约可以执行1000条语句,那么5000ms最多执行500W次每个变量 阅读全文

posted @ 2011-07-30 21:56 小優YoU 阅读(208) 评论(0) 推荐(1) 编辑

POJ3274-Gold Balanced Lineup

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1309220772大致题意:解题思路:经典题,不转化问题很难做,先根据官方的方法转化问题,把“求最远的两行间各个特征出现次数相等”转化为“求最远的相同两行”,再用Hash查找。这是官方解题报告——Consider the partial sum sequence of each of the k features built by taking the sum of all the values up to position i. The problem is equivalent to 阅读全文

posted @ 2011-07-30 21:47 小優YoU 阅读(2046) 评论(1) 推荐(0) 编辑

POJ3349-Snowflake Snow Snowflakes

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1304831877大致题意:在n (n<100000)个雪花中判断是否存在两片完全相同的雪花,每片雪花有6个角,每个角的长度限制为1000000两片雪花相等的条件:雪花6个角的长度按顺序相等(这个顺序即可以是顺时针的也可以是逆时针的)解题思路:Hash吧!连加求余法 求key 值,链地址法解决冲突设雪花6片叶子的长度为len1~len6key=( len1+len2+len3+len4+len5+len6)%prime =( len1%prime +len2%prime +len3 阅读全文

posted @ 2011-07-30 21:40 小優YoU 阅读(327) 评论(0) 推荐(1) 编辑

POJ1002-487-3279

摘要: 转载请注明出处:優YoUhttp://user.qzone.qq.com/289065406/blog/1306848752大致题意:中文题,我就不废话了,不过据说某些RP低的同学会看到本题是英文题。。。解题思路:有两种处理方法:一、Hash+qsort法在输入时把字符号码转换为7位数字,用int保存,然后开两个8位数组vist和time,分别记录该号码是否出现过;若出现过,出现的次数是多少。把出现过2次或以上的号码先逐一存放到待输出数组sort_out输入完毕后,对数组sort_out快排,逐一输出这些号码及其出现次数即可。二、qsort法在输入时先把字符号码全部转换为7位数字,然后全部存入 阅读全文

posted @ 2011-07-30 21:38 小優YoU 阅读(1481) 评论(0) 推荐(1) 编辑

POJ2299-Ultra-QuickSort

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1304259927题目大意:给出长度为n的序列,每次只能交换相邻的两个元素,问至少要交换几次才使得该序列为递增序列。解题思路:一看就是冒泡,交换一次记录一次就可以了但是n的范围达到50W,冒泡O(n^2)的复杂度铁定超时(即使有7000ms,其实这是一个陷阱)直接用快排又不符合题目的要求(相邻元素交换),快排是建立在二分的基础上的,操作次数肯定比在所要求的规则下的交换次数要更少那么该怎么处理?其实这题题目已经给出提示了:Ultra-QuickSort特殊的快排,能和快排Quicksort 阅读全文

posted @ 2011-07-30 21:32 小優YoU 阅读(1270) 评论(0) 推荐(0) 编辑

POJ1804-Brainman

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1304317886大致题意:和POJ2299一摸一样,区别在于数据规模缩小了而已解题思路:重申一次:一个乱序序列的 逆序数 = 在只允许相邻两个元素交换的条件下,得到有序序列的交换次数若想通过借助归并排序求逆序数 可以参看我POJ2299的思路,几乎一模一样的程序,O(nlogn)算法http://user.qzone.qq.com/289065406/blog/1304259927不过由于规模的缩小,全部变量用int即可这题也可以直接求逆序数,无需借助归并排序把S[i]和s[i+1~n 阅读全文

posted @ 2011-07-30 21:27 小優YoU 阅读(218) 评论(0) 推荐(0) 编辑

POJ2388-Who's in the Middle

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1300777154水题一道给定n个数,输出中间值(注意不是求平均)可以用sort,干脆快捷,但是注意排序起止位置也可以用quicksort,(最好用随机快排,尝试一下srand和rand) 勤力的同学可以写一下\(^o^)/~没什么要注意的题,不过真要注意的话,就不要用冒泡、插入、选择排序之类的O(n^2)算法,1W个数铁定超再送一些数据给大家1176 67 43 78 02 11 379 478 11 43 2193 1 38 222 800 43 45 69 987332310000 阅读全文

posted @ 2011-07-30 21:14 小優YoU 阅读(229) 评论(0) 推荐(0) 编辑

POJ1007-DNA Sorting

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1309425334大致题意:输入m个长度为n的DNA序列,把他们按照逆序数从小到大稳定排序输出。PS:“稳定排序”就是当序列中出现A1==A2时,排序前后A1与A2的相对位置不发生改变。解题思路:没难度,先求各个字符串的逆序数,再按逆序数对字符串快排,用qsort()函数。虽然快排不是稳定的排序,但是只要在定义排序规则函数cmp做适当处理,a==b时返回0,即不处理a和b,就不会改变他们之间的相对位置了。 1 //Memory Time 2 //252K 16MS 3 4 #includ 阅读全文

posted @ 2011-07-30 21:12 小優YoU 阅读(351) 评论(0) 推荐(0) 编辑

北大ACM试题分类 - 实时更新我所有的解题报告链接

摘要: 转载请注明出处:http://exp-blog.com/2018/06/10/pid-136/ 2017年我已重新整理过此分类目录,可移步至最新版 -> 【北大ACM – POJ试题分类】 推荐文: 1、一位ACMer过来人的心得 2、ACM绝版资源公开( 参考书、模板、讲义、指导) 3、ACM国家 阅读全文

posted @ 2011-07-30 21:10 小優YoU 阅读(1681) 评论(0) 推荐(2) 编辑

POJ1936-All in All

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1300626728在s2中找s1的子串而已,本来还想用LCS的,后来想想,这样空间消耗太大,用滚动数组又麻烦。。。毕竟列数最多高达10W = = 所以还是算了,直接模拟更快= =结论:水题一道,放开怀抱去模拟吧\(^o^)/~注意下标范围 int是够不到10W的,我用了long 没了 1 //Memory Time 2 //364K 0MS 3 4 #include<iostream> 5 #include<string> 6 using namespace st 阅读全文

posted @ 2011-07-30 20:53 小優YoU 阅读(169) 评论(0) 推荐(0) 编辑

POJ3080-Blue Jeans

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1309012790大致题意:就是求k个长度为60的字符串的最长连续公共子串,2<=k<=10规定:1、 最长公共串长度小于3不输出2、 若出现等长的最长的子串,则输出字典序最小的串解题思路:纠结了几个月放着没做的题目。。一直以为要用KMP或者后缀数组来做。。。然后我就拼命学后缀。。。今天偶然发现直接 暴力 能够达到0ms的效果= =所以。。。暴力吧。。。不愧为初级的题。。。暴力思想很简单:开二维DNA[][]保存所有DNA序列1、 以DNA[0]为母版,顺次截取60个长度le 阅读全文

posted @ 2011-07-30 20:38 小優YoU 阅读(1256) 评论(0) 推荐(0) 编辑

POJ1035-Spell checker

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1309051410大致题意:输入一部字典,输入若干单词1、 若某个单词能在字典中找到,则输出corret2、 若某个单词能通过 变换 或 删除 或 添加一个字符后,在字典中找得到,则输出这些单词,输出顺序根据 输入的那部字典的字典序3、 若某个单词无论操作与否都无法在字典中找得到,则输出空解题思路:没难度的字符串处理,1次AC暴力吧!模拟吧!基本思路就是逐个比较 待查单词 与 字典单词 的长度,当且仅当两者长度之差的绝对值<=1时才进行检查操作。Source修正:http://ne 阅读全文

posted @ 2011-07-30 20:33 小優YoU 阅读(835) 评论(0) 推荐(0) 编辑

POJ3436-ACM Computer Factory

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299340266提示:最大流问题 折磨了我3天的题。。。网上的前辈都推荐拆点做,但是我没有用拆点(感觉拆点很麻烦) 这道题我用了三种方法去做,但是结果却差强人意。。。。 【BFS+标号法+不拆点】 成功AC 【BFS+压入重标法+不拆点】(WA,不知道错哪里了,找不到反例) 【BFS+压入重标法+模拟拆点】(WA,不知道错哪里了,找不到反例) AC的程序我贴下面,后两个WA的代码我贴在AC代码下面,希望有达人帮我查出哪里出错了。。。无限感激题意:老实说,我完全看不懂题目在说什么= =。 阅读全文

posted @ 2011-07-30 18:23 小優YoU 阅读(260) 评论(0) 推荐(1) 编辑

POJ1459-Power Network

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299339754提示:BFS找增广链 + 压入重标法解题思路:多源多汇最大流问题题目给出很多都是废话,特别是符号s(u),d(u),Con还有那条公式都别管,混淆视听难点在于构图电站p(u)均为源点,用户c(u)均为汇点,中转站当普通点处理第一个误区是例图, 结点 和 边 都有x/y(流量和容量),这个很容易使人产生矛盾(因为学习最大流问题是,只有 边 才有流量和容量。 但是不难发现,题目所给的例图中有多个源点,多个汇点,多个普通点,只有源点和汇点才标有 x/y,普通点没有标x/y,而 阅读全文

posted @ 2011-07-30 18:16 小優YoU 阅读(1221) 评论(0) 推荐(0) 编辑

POJ3020-Antenna Placement

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299322779提示:别被图片的圈圈误导了,看清楚题目,'*'是城市,'o'是空地,椭圆的天线覆盖范围要覆盖的是城市'*',而不是覆盖空地题目大意:一个矩形中,有N个城市’*’,现在这n个城市都要覆盖无线,若放置一个基站,那么它至多可以覆盖相邻的两个城市。问至少放置多少个基站才能使得所有的城市都覆盖无线?解题思路:思前想后,依稀可以认为是一道求二分图的最小路径覆盖问题(注意不是最小点覆盖)那么接下来需要确认的是,究竟是求 有向二分图的最小 阅读全文

posted @ 2011-07-30 09:41 小優YoU 阅读(245) 评论(0) 推荐(0) 编辑

导航