POJ练习
POJ训练计划练习
画船听雨
和梦想谈一次恋爱,也要疯狂,也要坚持
展开
-
POJ 3294 Life Forms(后缀数组求k个串的最长子串)
题目大意:给出n个字符串,让你求出最长的子串,如果有多个按照字典序顺序输出。解题思路:将n个字符串连起来,中间需要隔开,然后我们二分枚举字符串的长度,求最长的长度,如果多个需要按照字典序保存起来,最后输出答案就可以了。时间复杂度是:O(n*log(n))。Life FormsTime Limit: 5000MS Memory Limit: 65536K原创 2015-01-27 15:38:42 · 1158 阅读 · 0 评论 -
POJ 3415 Common Substrings(后缀数组求重复字串)
题目大意:给你两个字符串,让你求出来两个字符串之间的重复子串长度大于k的有多少个。解题思路:先说论文上给的解释:基本思路是计算A的所有后缀和B的所有后缀之间的最长公共前缀的长度,把最长公共前缀长度不小于k的部分全部加起来。先将两个字符串连起来,中间用一个没有出现过的字符隔开。按height值分组后,接下来的工作便是快速的统计每组中后缀之间的最长公共前缀之和。扫描一遍,每遇到一个B的后缀就统原创 2015-01-27 10:57:29 · 1059 阅读 · 0 评论 -
POJ 2774 Long Long Message && URAL 1517. Freedom of Choice(求最长重复子序列)
两个题目意思差不多,都是让求最长公共子串,只不过poj那个让输出长度,而URAL那个让输出一个任意的最长的子串。解体思路:Long Long MessageTime Limit: 4000MS Memory Limit: 131072KTotal Submissions: 22313 Accep原创 2015-01-26 21:31:44 · 1385 阅读 · 0 评论 -
POJ 3693 Maximum repetition substring(后缀数组求最长重复子串)
题目大意:和spoj687类似,就是当长度相同是需要输出一个最小的字典序的序列。解体思路:这次需要枚举所有的从i到d = i-L/i (d = i-L%i)的位置,然后记录保证最大值的同时,求出来字典序最小的。Maximum repetition substringTime Limit: 1000MS Memory Limit: 65536K原创 2015-01-26 16:47:24 · 1232 阅读 · 0 评论 -
POJ 4048 Chinese Repeating Crossbow(线段相交)
题目大意是:原创 2014-07-08 20:46:52 · 931 阅读 · 1 评论 -
POJ 2096 Collecting Bugs(概率dp)
题目大意:一个软件有s个子系统,会产生n种bug某人一天发现一个bug,这个bug属于一个子系统,属于一个分类每个bug属于某个子系统的概率是1/s,属于某种分类的概率是1/n问发现n种bug,每个子系统都发现bug的天数的期望。原创 2014-07-08 21:24:13 · 792 阅读 · 0 评论 -
POJ 2947 Widget Factory(取模的高斯消元)
题目大意:有n个装饰品,每个装饰品要生产3~9天。给出m种作业,每个作业生产k种装饰品,从星期X生产到星期Y(未必是同一个星期,一天只能生产一个产品),然后给出这k种装饰品分别是什么。问是否能求出n个装饰品分别须要多少天来生产,若有多组解输出Multiple solutions.,无解输出Inconsistent data.。思路:可以列出m个方程组成方程组。对于每一个作业,设ki为生产装饰品原创 2014-07-24 11:48:10 · 983 阅读 · 0 评论 -
POJ 2065 SETI(高斯消元)
看懂题目之后方程就很好列出来了啊原创 2014-07-26 19:05:24 · 861 阅读 · 0 评论 -
POJ 1222 EXTENDED LIGHTS OUT(高斯消元,开关问题)
题目大意:给你一个初始矩阵(里面每个元素代表一个开关),改变一个开关就可以使得在其上、下、左、右的开关的状态都改变。问若使得所有开关均关闭(开关开为1,关为0),则需要改变哪些开关,并给出要改变的开关的矩阵图,里面的元素为1的表示要改变的开关,为0的表示不要变的开关。原创 2014-07-26 20:50:20 · 1024 阅读 · 0 评论 -
POJ 1166 The Clocks(高斯消元)
题目大意:9种操作可以让不同的种转动90度,求最小上升的操作方式。原创 2014-07-27 09:23:22 · 1141 阅读 · 0 评论 -
POJ 1830 开关问题(高斯消元)
中文题意不解释了啊。原创 2014-07-27 10:44:34 · 1010 阅读 · 0 评论 -
POJ 1753 Flip Game(枚举变元的高斯消元)
以前做这道题目原创 2014-07-27 18:45:42 · 863 阅读 · 0 评论 -
POJ 3185 The Water Bowls(高斯消元,枚举变元)
很明了的开关问题,但是会有多种解的情况所以要枚举一下变元,求的一个最优的结果。和上一篇的思路与过程都很形似。PS:第三百篇博客,得继续努力。The Water BowlsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 4302 Accepted: 1696原创 2014-07-27 23:42:02 · 1327 阅读 · 0 评论 -
POJ 2411 Mondriaan's Dream (状态压缩dp)
题意很简单就是给你n*m的矩阵然后让你看看用原创 2014-06-11 12:36:27 · 870 阅读 · 0 评论 -
POJ 3034 Whac-a-Mole(三维dp+处理小技巧)
题意:打地鼠,n*n的棋盘,每秒特定的格子上会有地鼠出没。给一个锤子,比如锤子前一次在(x1, y1),现在移动到(x2, y2)。则它可以打掉(x1, y1) -> (x2, y2)连线上的所有地鼠。锤子每次最多移动的距离为d。求最后最多能打到多少个地鼠。原创 2014-06-06 21:23:19 · 1044 阅读 · 0 评论 -
POJ 1845 Sumdiv(快速幂取模+快速分解因式)
小優的博客写的原创 2014-06-01 17:13:39 · 972 阅读 · 0 评论 -
POJ 2948 Martian Mining(简单的二维dp)
题目不难但是首先你得读懂题目啊、、原创 2014-06-03 21:30:11 · 970 阅读 · 0 评论 -
POJ 1925 Spiderman(线性dp)
题意很好懂原创 2014-06-03 21:40:22 · 994 阅读 · 0 评论 -
POJ 3280 Cheapest Palindrome(区间dp,记忆化搜索)
经典的回文串问题啊,给你一个字符串,原创 2014-06-01 14:08:49 · 795 阅读 · 0 评论 -
POJ 1054 The Troublesome Frog(dp+剪枝)
题意:好多青蛙祸害庄稼,已知一个R*C的稻田。给出被青蛙踩到的庄稼的坐标,已知一只青蛙的跳跃距离是一定的,它从稻田外踩过稻田中的M个点然后又跳出稻田,求某只青蛙踩出的M最大值。(也就是说一只青蛙可以踩出一条线来。)小于三的情况直接输出0;原创 2014-06-01 13:05:53 · 1403 阅读 · 0 评论 -
POJ 1191 棋盘分割(记忆化搜)
黑书上的dp原题。P116.原创 2014-05-30 21:38:19 · 861 阅读 · 0 评论 -
POJ 1691 Painting A Board(dfs搜索)
一开始感觉暴力会超时,原创 2014-05-30 09:49:55 · 989 阅读 · 0 评论 -
POJ 3373 Changing Digits(记录路径的dp)
很长时间之前看的一道题目,一直以为是搜索。结果原创 2014-05-29 20:01:58 · 842 阅读 · 0 评论 -
POJ 3254 Corn Fields(简单的状态压缩dp)
这是第一次写状态压缩。题目描述:给你n*m的一个草地,放牛。牛不能相邻。并且值为0的地方不能放牛。问一共有多少种方案,可以放牛。不放也算一种。Corn FieldsTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 6143 Accepted: 3259原创 2014-03-13 07:53:48 · 845 阅读 · 0 评论 -
POJ 1703 Find them, Catch them (关系并查集)
这道题目的描述我感觉还是抄啸爷的吧,这个描述太逗了啊。题意:某城市存在蛇帮和龙帮两大帮派(话说名字还能再挫一点点吗. . . )。在某一次像东莞这样的大规模的扫黄打非中,警察抓住了 n 个人,但是不缺定他们分别属于哪个帮派。现在给你一些条件,然后让你判断两个人是否属于同一个帮派。这是一道关系并查集的题目啊,第一次做。啸爷很耐心的讲解了思路。过程很好理解啊。就是这个并查集需要保存一下他自原创 2014-02-28 15:47:38 · 914 阅读 · 0 评论 -
POJ 3264 Balanced Lineup(简单的RMQ)
话说刚开始学习线段树的时候就拿这题试了一下水,给过了。现在学习RMQ再过一遍,感觉这种方式即好写又快啊,不错啊。算法就不解释了啊。大家可以看一下刘汝佳写的大白书。感觉写的挺好的。RMQ第一题。#include #include #include #include #include #include #include #include #include #include #i原创 2014-02-26 20:46:25 · 867 阅读 · 0 评论 -
POJ 1195 Mobile phones(二维树状数组)
题意很清晰就是对一个矩阵进行区间的更新与查询,代码写起来很简单。就是树状数组存贮方式的原理得知道,感觉树状数组,很强大啊、芳姐给指点的思路,每一个数组元素的子树是这个下标二进制的从右向左第一个1表示之前有多少个00。比如8->1000所以它可以由0100(4),0110(6),0111(7),组成。详解看之前的博客:http://blog.csdn.net/fulongxu/article/det原创 2014-02-26 15:22:35 · 885 阅读 · 0 评论 -
POJ 3468 A Simple Problem with Integers(线段树区间操作)
题目的意思很简单就是一个线段树的区间的增加数字,与区间的查询。说一下,区间操作的题目第一次做啊,我瞎搞了一下,超时了啊。于是求助于啸爷,啸爷又是“苦心教导”啊。。感激不近啊。。一个区间当有更新的时候,先把区间上的总和更新一下,然后标记一下更新的多少,然后如果以后还会找到这个区间的时候,要把他所标记的那个数字传到他的左右子树中去。因为,这样的话,只更新了这个区间。他的子区间能没有发生过改变。原创 2014-02-25 20:33:06 · 875 阅读 · 0 评论 -
POJ 2352 Stars(简单树状数组)
什么是树状数组在这里就不说了啊,这里有解释了啊。http://blog.csdn.net/fulongxu/article/details/19701281就是一个模版题目,直接套模版都可以过。先建数组,再求和。StarsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 293原创 2014-02-22 21:16:01 · 961 阅读 · 0 评论 -
POJ 2828 Buy Tickets 线段树入门(建树稍微有点抽象)
一开始看的时候真的不知道为什么是线段树的题目。后来看到了网上他们的讲解,发现原来也是线段树。先说一下题意:就是买票插队的问题,有n个人插队,他们都是插道a的后面,所以他的当前位置是a+1,然后也肯能会有别的人插到他的前面去,所以他的最终位置会发生变化,要你说出最终队伍的顺序。做的方法是:倒过来更新线段树,找到每个人应该存在的位置,然后记录下来,输出就行了。解释一下算法:这里建树保存原创 2014-02-20 21:17:36 · 993 阅读 · 0 评论 -
POJ 2582 Mayor's posters 线段树入门题+离散化
本来线段树就学的不扎实,后来个什么离散化,乱乱的啊、、后来看了一人写的,用结构体记录的方法进行离散化。感觉写的挺好的。题意很简单:就是在一堵墙上涂色,然后输出你能看到的颜色的种类。离散化+涂色问题。Mayor's postersTime Limit: 1000MS Memory Limit: 65536KTotal Submissions:原创 2014-02-20 16:55:20 · 1045 阅读 · 0 评论 -
POJ 3264 Balanced Lineup 线段树入门(点的查找)
这道题的意思是:给你n个点,每个数出现的位置对应着改点数的大小。然后给出m个区间输出每个区间上的最大值与最小值的差。典型的线段树啊,自己写的那个代码很搓,然后啸爷教了我,他怎么写的,就学习了一下。以后尽量写的好一点啊。主要是线段树的建立与查找。Balanced LineupTime Limit: 5000MS Memory Limit: 65536K原创 2014-02-20 08:49:17 · 918 阅读 · 0 评论 -
POJ 2777 Count Color 线段树入门题
今天开始看的线段树,感觉树存储的优势了啊,很强大、时间复杂度降低了很多啊。在这里先说一下题目的大体意思是:给区间进行染色,后染的颜色会会覆盖掉之前染过的颜色,然后输入C是代表给区间(a,b)染色成c。P代表输出区间(a,b)一共有几种颜色。典型的线段树的创建、修改、与查询问题啊。所以要用线段树来做啊、否则会超时的啊,我好像跑了969ms,有点龟速了啊,但是重点是学习算法,优化以后熟悉了再说原创 2014-02-19 20:06:16 · 919 阅读 · 0 评论 -
POJ 3258 River Hopscotch
先说一下题意:就是给你n个石头,牛在上面跳,然后去掉m个石头之后使得石头之间的距离达到最远,最后输出所有最远距离中最近的那一个、、、解释一下样例:25 5 221411211725 代表最后一块石头距离原点25,(第一块石头默认距离是0,第一块和最后一块石头是不可以移动的)。5代表除了第一块和最后一块之外还有5块石头,2代表需要移动2个石头。下面是五块石头分别距原创 2013-10-24 16:07:45 · 1282 阅读 · 0 评论 -
POJ 1265 Area
这题是皮克定理的一道题目,先说一下皮克定理:给定顶点座标均是整点(或正方形格点)的简单多边形,皮克定理说明了其面积A和内部格点数目i、边上格点数目b的关系:A = i + b/2 - 1。(摘自维基百科)题目的意思是给你几个拐点,让你求出在多边形直线上的点的个数,多边形内部的点的个数,以及多边形的面积。叉乘可以求出面积,线上的点的个数可以直接求出,所以就可以算出内部的点的个数。求直线上点的原创 2013-11-03 13:26:56 · 985 阅读 · 0 评论 -
POJ 3070 Fibonacci(需要继续学习)
构造矩阵与矩阵的快速幂取模。。。宝哥给讲的算法原理,代码是学的别人的,先写一下回头还得再研究。FibonacciTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 8121 Accepted: 5774DescriptionIn the F原创 2013-12-26 21:05:03 · 992 阅读 · 0 评论 -
POJ 3694 Network tarjan求桥+回溯求祖先
NetworkTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 6241 Accepted: 2178DescriptionA network administrator manages a large network. The network cons原创 2014-02-10 14:58:58 · 1112 阅读 · 0 评论 -
POJ 3592 Instantaneous Transference 图论算法tarjan+spfa
题意:就是在红警当中的超时空矿车,它可以传送到别的地方,求矿车在这个矩形中可以采到的最多的矿产资源。注意:1、传送的地方可以选择,传送和不传送;2、就是每次都只能向右或者向下传递;这道题目得建立两次模型。第一次:如果一个点是可以到达的(除了#的情况)那么就建立一条有向边指向它,表示可以到达,这里要注意当是*的时候它既可以指向要传送到的地方又可以到达下一点。这样就可以建立起来一个有向图。原创 2014-02-13 16:19:41 · 931 阅读 · 0 评论 -
POJ 3114 Countries in War 最短路+tarjan缩点
题意:给你一堆城市以及这些城市之间传递消息需要的时间(城市2到城市1的所需要的时间不一定等于城市1到城市2所需要的时间),如果两个城市之间相互可以给对方传递消息,则认为这两个城市是一个国家的,则,这两个城市可以用另一种方法传递消息,花费时间为0.现在问你很多次某两个城市之间传递消息所花的最少时间是多少。就是求出强联通分量后,缩点不在一个联通分量上的点求最短路,有E组数据所以最多求E次最短路。原创 2014-02-13 20:56:31 · 973 阅读 · 0 评论 -
POJ 1404 I-Keyboard 二维dp
这是今天周赛的一道题目,比赛的时候没有做出来,后来听ZP说不是很难,就问了一下,然后写了写。。。期间芳姐给我指正了一些错误。。。题目的意思是:给你一些按键使用的次数,然后让你,输出把这些字母怎么安排的给定的按键上可以使的所有字母需要按动的次数最小,(这里是以前的那种九宫格的按键安排)。解体的思路:这是一道很经典的dp,在所给的条件中先预处理出来,第i个字母如果和第j个字母在一个按键上,这个原创 2014-02-15 16:57:03 · 960 阅读 · 0 评论