2014POJ
文章平均质量分 79
lin375691011
呵呵
展开
-
POJ 1054 The Troublesome Frog
这能叫DP???hash+枚举点+剪枝就能过??题目大意:当青蛙经过农田时的痕迹是一条直线。农田里的植物就在这个农田的二维坐标系的整数格点上。如果某只青蛙经过农田,也就是某条直线穿过农田。那么那条直线经过的所有的整数格点上的植物会都被破坏掉。现在给出所有被破坏的植物的位置,问那只青蛙破坏的最多。本题有几个地方需要注意:1、当某条直线上某个点没被破坏,这条直线原创 2014-05-23 16:59:38 · 7696 阅读 · 0 评论 -
POJ 1026 Cipher
继续来置换,这次的题也是很简单的。题目大意:对于一个长度为n的字符串,有一个数组表示第i个字符放到那个位置。输入多个字符串,问这样操作k次后的字符串是什么样子的。解题思路:对于每一个置换,我们会求出循环节,这样可以减少模拟的次数。下面是代码:#include #include #include #include #include原创 2014-07-26 18:16:19 · 92046 阅读 · 4 评论 -
POJ 1947 Rebuilding Roads
树状DP第二题,这个题真的好复杂~~题目大意:有一个n个结点的树,问至少去掉几条边可以产生一个有p个节点的子树。解题思路:dp[i][j]表示以i号节点为根的子树,当有j个结点时最少需要去掉几条边。初始化:当只有1个节点时,一定是连接它到孩子结点的所有边都去掉。设某一孩子结点标号为v 则dp[i][j]=min(dp[i][j],dp[i][j-t]+dp原创 2014-06-20 15:57:33 · 4882 阅读 · 0 评论 -
POJ 2486 Apple Tree
题目大意:一棵树上每一个节点都有几个苹果。问在根节点出发,走不大于K步的情况下最多能取多少个苹果。解题思路:树形DP,对于每一个子树的根节点src,都有dp[src][i][0],表示从src走i步可以回到src最多能够得到多少苹果。dp[src][i][1]表示从src走i步没有回到src最多能够得到多少苹果。状态有三种转移方式:1、用i-j-2步走其他子树回到根节点原创 2014-06-21 10:07:35 · 4553 阅读 · 0 评论 -
POJ 2947 Widget Factory
高斯消元第一题。借用宝哥的模版就这样华丽丽的过了,因为不知道在哪里取模还Wa了几次~题目大意:给出零件的种类数量n与记录的条数m,紧接着有m条记录,记录了在星期几到星期几之间(有可能间隔多个星期)成产了多少个什么样的零件。求每个零件生产需要多少天。解题思路:实际上题目就是给了一个多元一次方程组。只不过系数和常数都是模7的。高斯消元解方程就行!~下原创 2014-08-06 09:29:58 · 4673 阅读 · 0 评论 -
POJ 1487 Single-Player Games
高斯消元第二题,这次的多元一次方程组的系数是浮点数,高斯消元的模版就有了些改动,但是主要思路还是那样。题目大意:给出一个数n,给出前n个字母的描述,问这个字母获得得知的期望是多少。解题思路:根据给出的描述列方程。主要难点在字符串处理上。下面是代码:#include #include #include #include #include #i原创 2014-08-06 19:01:15 · 5100 阅读 · 0 评论 -
POJ 2065 SETI
高斯消元第三题,莫名其妙的超了数据范围(可能是P),让人不爽~题目大意:给出一个字符串,列出和字符串的长度相等个数的方程,左边为统一的X1*i^0+……Xn*i^(n-1)=s[i];解方程,保证解集为一。解题思路:按照题意建立方程,高斯消元解方程,注意模P下面是代码:#include #include #includ原创 2014-08-06 21:23:12 · 5081 阅读 · 0 评论 -
POJ 1222 EXTENDED LIGHTS OUT
高斯消元第五题,貌似只有这种套路了,还是我见识少。反正你们大家不要骗我~!题目大意:给出由灯组成的5*6的矩阵。当使某一个灯的状态改变时,它相邻的(边相邻,也就是上下左右的,如果有的话)灯的状态也改变。问改变那些灯的状态可以使所有的灯熄灭。解题思路:30个灯,代表着30个方程。方程的表示是操作那些灯对当前灯有影响。最后就是原创 2014-08-07 09:52:45 · 89885 阅读 · 1 评论 -
POJ 3270 Cow Sorting
这道题运用了置换的知识。题目大意:用两两交换的方式给一个数列排序,每交换一次的代价是这两个数之和求最小代价。解题思路:对于这种情况,我们在数列中找置换环。每个置换环内的数都是可以回归到它应有的位置上并且不影响其他的置换环。置换环归位的代价有两种,第一种是用环内最小的数与其他数交换,另一种是用整个数列中最小的数与环内最小的数交换,完成环内所有数的归位后在换原创 2014-07-26 11:06:46 · 6760 阅读 · 0 评论 -
POJ 2057 The Lost House
树形DP的第一题,看了好几天才明白....题目大意:有一只蜗牛爬上某个树枝末睡着之后从树上掉下来,发现后面的"房子"却丢在了树上面, 现在这只蜗牛要求寻找它的房子,它又得从树根开始爬起去找房子。现在要求一条路径使得其找到房子所要爬行的期望距离最小。解题思路:影响期望的因素有树的结构,分支节点上是否有虫子,蜗牛走的路线。对于任意一棵子树来说树的结构,分支节点上是否原创 2014-06-16 21:44:15 · 4400 阅读 · 0 评论 -
POJ 3254 Corn Fields
题目大意:FJ有一块n*m矩形农场,他知道每一个格子能不能种牧草。他想把一些格子种上牧草,但要求没有两个种牧草的各自是相邻的。求一共有多少种种法。解题思路:状态压缩:将每一行有几个格子种牧草用一个数来表示状态。判断有没有相邻用x&(x下面是代码:#include #include #include #include #include using nam原创 2014-06-06 20:08:36 · 4484 阅读 · 0 评论 -
POJ 2411 Mondriaan's Dream
今天感觉很不错啊,一上来就A了这道题。这可是卡了四天的啊~~题目大意:给出n×m的矩形,问用1×2的矩形完全覆盖有多少种方案。解题思路:状态压缩DP和状态压缩记忆化搜索都行:前者是从第一行的状态开始向下推到终止状态;后者是从终止状态开始搜索,并保存中间状态。我用的是状态压缩DP写的,可以提前与处理一下状态与状态之间的关系。下面是代码:#i原创 2014-06-11 10:33:13 · 4558 阅读 · 0 评论 -
POJ 3280 Cheapest Palindrome
题目大意:给出一个字符串,求将它原创 2014-05-28 10:13:06 · 4557 阅读 · 0 评论 -
POJ 2029 Get Many Persimmon Trees
这是动态规划?我一点思路怎么也没有。最后还是用矩阵部分求和枚举0MS。题目大意:给出一个矩阵,上面有几个点。在给一个小点儿的矩阵,求这个矩阵最多能套上几个点。(注意:小矩阵长宽给定,不能旋转)。解题思路:建立数组num[i][j]代表点(1,1)到点(i,j)组成的矩阵里有几个点。下面是代码:#include #include int num[1原创 2014-05-28 19:36:57 · 4467 阅读 · 0 评论 -
POJ 2948 Martian Mining
题目大意:NASA在火星发现了一个矿场矩阵。矩阵中的每个单元格都有两种矿Yeyenum和Bloggium。我们知道每个单元格中这两种矿的数量。NASA决定在北边建造Bloggium的矿石精炼厂,在西边建造Yeyenum的矿石精炼厂。于是需要我们把bloggium矿石向北运(行号等于0的方向),把Yeyenum矿石向西运(列号等于0的方向)。但由于矿石的不稳定在建造传送带时有特殊要求。求建造传送原创 2014-05-29 15:08:00 · 4649 阅读 · 0 评论 -
POJ 1185 炮兵阵地
又是中文题,大家都说是水题,但是说好的1A呢?题目大意:给出n*m的矩阵,当某个单元格有炮兵部队时它的上下左右两格(不包括斜着的方向)是这支部队的攻击范围。问在两支部队之间不可能相互攻击到的情况下,最多能部署多少炮兵部队。解题思路:状态压缩DP,DP[i][j][k]代表当第i行是第j种状态时,第i-1行是第k种状态时,布置炮兵的最大数量。状态可以预先处理出来,只有60种。原创 2014-06-12 10:57:41 · 5481 阅读 · 0 评论 -
POJ 1286 Necklace of Beads
Polya定理是个很神奇的东西~题目大意:n个珠子串成一个圆,用三种颜色去涂色。问一共有多少种不同的涂色方法。不同的涂色方法被定义为:如果这种涂色情况翻转,旋转不与其他情况相同就为不同。解题思路:Polya定理模版题。对于顺时针长度为i的旋转,为pow(3,__gcd(n,i);对于翻转,当为奇数时,有:n*pow(3.0,n/2+1); 当为原创 2014-07-25 16:23:25 · 5449 阅读 · 0 评论 -
POJ 2409 Let it Bead
这个题和POJ 1286 是一个题,只不过那是一个颜色数量固定的题而这个不固定。这是链接:POJ 1286 Necklace of Beads 下面是代码:#include #include #include #include #include #include #include #include #include #include #include #d原创 2014-07-25 16:35:49 · 4917 阅读 · 0 评论 -
POJ 1925 Spiderman
题目大意:给出n个建筑,每个建筑以两个数x,y表示,x代表它在横轴上的位置,y代表这个建筑的高度。所有建筑的高度都大于等于第一个建筑的高度。所有建筑输入顺序按照x,y从小到达的顺序排列。蜘蛛侠在第一个建筑上,他要去最后一个建筑救女朋友。一直他每一次摇摆都会到关于建筑对称的位置。求到最后一个建筑的最小摇摆次数。解题思路:dp[i]代表着当他到x轴i的位置时最少摇摆了几次。因为原创 2014-06-02 21:25:54 · 5075 阅读 · 0 评论 -
POJ 3071 Football
概率DP啊~~ 题目大意:有2^n个球队,每两个球队之间的获胜概率已经给出,问最后谁最有可能获胜。解题思路:dp[i][j]代表第i支球队大道第j场能获胜的概率。下面是代码:#include #include #include #include #include #include #include #include #in原创 2014-08-07 21:04:08 · 6266 阅读 · 0 评论 -
POJ 1151 Atlantis
题目大意:给出原创 2014-08-20 20:53:46 · 4742 阅读 · 0 评论 -
POJ 3440 Coin Toss
高中概率的几何概型,这也叫作题,不过输出真的很坑。题目大意:n*m个边长为t的正方形组成的矩形。往矩形上抛一个直径为c的硬币,问覆盖1,2,3,4个矩形的概率为多少?解题思路:计算出覆盖1,2,3,4个矩形时硬币圆心可以在的位置区域。就能求出概率了~下面是代码:#include #include #include #include #原创 2014-08-08 09:57:16 · 4320 阅读 · 0 评论 -
POJ 2280 && HDU 1661 Amphiphilic Carbon Molecules
题目大意:在平面上有一些点,每个点都有0,1其中一个属性。要求用一条直线将平面分成两部分。其中一部分取属性为0的点,另一部分取属性为1的点。若点在直线上全部取走,问最多能取多少个点。解题思路:扫描线算法。枚举任意一点,其他点依照那一点进行极角排序。扫描获得最大值。注意:1、因为 atan2方式的极角排序有精度误差,在这里需要用叉积方式排序。否则就原创 2014-08-25 20:47:02 · 4567 阅读 · 0 评论 -
POJ 2454 Jersey Politics
题目大意:给出3*k个数,将它们分成三分,每份k个数,要求至少有两份之和大于500*k。解题思路:随机化,对于这道题来说这是个好想法~将所有数从大到小排序后将前2*k个数再随机调整直到满足条件。下面是代码:#include #include #include #include #include #include #include #includ原创 2014-08-13 13:28:24 · 5045 阅读 · 0 评论 -
POJ 1870 Bee Breeding
这种烂题我再也不想见到了!!比模拟题还讨厌!!题目大意:根据题目给出的各个数的位置,求某两个数之间的位置。解题思路:由给出的位置可以找到一个规律,二维的六个象限的坐标系,计算坐标然后计算距离就行。下面是代码:#include #include #include #include #include #include #include原创 2014-08-13 19:32:16 · 4793 阅读 · 0 评论 -
POJ 3004 && HDU 1922 Subway planning
题目大意:平面直角坐标系中有一些点代表着一些城市。国家要在(0,0)点设置中心车站并向建设地铁线路,但要求线路是直线。某个城市可以使用地铁线路的前提是它与线路的直线距离不超过d。问最少建设多少条线路才能让所有的城市都能使用地铁。解题思路:扫描线+最小区间覆盖。如图所示:对于任何一个点,都有一个铁路允许的设立的角度区间,在d固定的情况下,点距离原点越远区间越小。因原创 2014-08-26 19:17:58 · 4791 阅读 · 0 评论 -
POJ 3335 Rotating Scoreboard
题目大意:同 POJ3130解题思路:同 POJ3130POJ3130解题报告:点此进入注意:两个题给出点的顺序不一样。不要老是抄模版(我不会告诉你我就是这么做的)。下面是代码:#include #include #include #include #include #include #include #include #incl原创 2014-08-28 13:51:59 · 4671 阅读 · 0 评论 -
POJ 2451 Uyuw's Concert
学了ZZY的算法,就要过一下他出的题。题目大意:给出一些直线,求半平面交的面积。解题思路:半平面交求面积。下面是代码:#include #include #include #include #include #include #include #include #include #include #include #d原创 2014-08-28 15:21:02 · 4331 阅读 · 0 评论 -
POJ 3130 How I Mathematician Wonder What You Are!
题目大意:按顺序给出一些点。可以构成一个多边形,问多边形是否有核。解题思路:半平面交。模版题。用的是ZZY的O(Nlogn)的算法。算法大体思路是这样的:step1. 将所有半平面按极角排序,对于极角相同的,选择性的保留一个。 O(nlogn)step2. 使用一个双端队列(deque),加入最开始2个半平面。step3. 每次考虑一个新的半平面: a.whi原创 2014-08-28 13:46:02 · 5173 阅读 · 0 评论 -
POJ 3296 Rinse
果然是杂题,都没有人做啊,这解题报告独一份~~题目大意:Granny有一个罐子里有Vw的酒,她有Vb的雨水来冲这个罐子,由于表面张力的原因当罐子往外倒液体时,会有Vr的液体倒不出来。罐子的容量是Vc。她最多有K次拿水冲洗罐子的机会,每一次它可以取一些雨水倒入罐子充分混合之后在将罐子里的液体倒出来。问怎样冲洗可以使罐子内残留的酒的数量最少。解题思路:对于操原创 2014-08-16 14:41:17 · 4659 阅读 · 0 评论 -
POJ 3286 How many 0's?
题目大意:计算[m,n]之间所有数字有多少个零。解题思路:可以用[0,m)之间和[0,n]之间有多少个零然后作差。规律是计算所有位置在到当前数时有多少个零。下面是代码: #include #include #include #include #include #include #include #include #include #原创 2014-08-17 11:02:08 · 4446 阅读 · 0 评论 -
POJ 3318 Matrix Multiplication
题目大意:给出矩阵a,b,c。验证a*b是否等于c。解题思路:三次方复杂度的算法, 正常情况下是过不了的。但是输入优化后可以过。再有就是随机验证。第二种没有啥意思,就记录一下输入优化好了~下面是代码:#include #include #include #include #include #include #include #inc原创 2014-08-12 18:08:50 · 4756 阅读 · 1 评论 -
POJ 3277 City Horizon
题目大意:给出各个房子阴影的长度(以区间表示)和高度,求阴影的总面积。解题思路:矩形面积并。下面是代码:#include #include #include //#include #include #include #include #include #include #include #include #define eps 1e-8#d原创 2014-08-25 08:21:00 · 4631 阅读 · 0 评论 -
POJ 1061 青蛙的约会
中文题啊中文题,每次看到都是很兴奋的~题目大意:自己看,全是中文~#include #include #include #include #include #include #include #include #include #include #include #define eps 1e-6#define pi acos(-1.0)#define i原创 2014-08-08 15:36:00 · 4134 阅读 · 0 评论 -
POJ 2891 Strange Way to Express Integers
扩展欧几里德第二题~这个题真是搞了好长时间才懂啊~~题目大意: 有一个数mod ri 等于ai ,求这个数,若求不出来输出“-1”。解题思路:对于 x=r1(mod a1) x=r2(mod a2)相当于解不定方程:x*a1+y*a2=r2-r1先求解方程:x*a1+y*a2=r2-r1=gcd(a1,a2)得出解x,则方程x*原创 2014-08-08 19:50:02 · 5060 阅读 · 1 评论 -
POJ 3101 Astronomy
这只是一个数学题~题目大意:给出n个星球绕中心天体飞行的周期,求最小运行多少可以让所有的星球在同一条直线上。解题思路:已知每个行星的角速度为vi = 2*π/Ti,选择一个行星T0作为坐标系,则其他行星的相对速度为vi' = (T0 - Ti)*2π/(T0*Ti)。则角度绕过半个圆周的时间为Ti' = π/vi' = (T0*Ti)/((T0 - Ti)*2)原创 2014-08-09 14:44:54 · 5080 阅读 · 0 评论 -
POJ 2976 Dropping tests
01分数规划,看了这个博客好像懂了一点~链接在此题目大意:给出n个a和b,让选出n-k个使得(sigma a【i】)/(sigma b【i】)最大解题思路:按照01分数规划的正常思路构造D数组,二分求值。下面是代码:#include #include #include #include #include #include #inclu原创 2014-08-11 09:48:46 · 4833 阅读 · 0 评论 -
POJ 1765 November Rain
题目大意:有一些屋顶,相当于一些线段(不想交)。问每一条线段可以接到多少水,相对较低的屋顶可以接到高屋顶留下的水(如题图所示)。由于y1!=y2,所以保证屋顶是斜的。解题思路:扫描线,因为对于同一个x最多有25条线段,所以不需要线段树更新。在扫描线的过程中构造出线段与线段之间的关系,好在最后计算每个屋顶可以接多少水。下面是代码:#include #incl原创 2014-08-24 10:07:59 · 4802 阅读 · 0 评论 -
POJ 3150 Cellular Automaton
矩阵的题就是这么伤脑筋啊~~ sad……题目大意:一个环上有n个数,定义一种操作将它和它距离小于d的数加和再模m。每次操作刷新所有数。问k次之后都将变成什么数?解题思路:矩阵快速幂加速递推。按照正常思路第i次操作是基于第i-1次操作完成的,也就是说要完成第i次操作需要先完成第i-1次。但是用于矩阵之后可以直接推出第i次与第一次之间是什么关系。这个矩原创 2014-08-11 15:34:36 · 4973 阅读 · 0 评论 -
POJ 3301 Texas Trip
题目大意:在二维坐标系中给出一些点,求能覆盖他们的最小正方形的面积(正方形的边不一定平行坐标轴)解题思路:对于一个点,若坐标轴旋转a度(弧度制),那么X‘=X*cos(a)-Y*sin(a);Y'=Y*cos(a)+X*sin(a);对于角度三分,对于正方形面积是个单峰函数在【0,pi】。有最小值。下面是代码: #include #include原创 2014-08-12 10:30:44 · 5138 阅读 · 0 评论