
POJ
文章平均质量分 72
new_wu
这个作者很懒,什么都没留下…
展开
-
poj 3080 Flying Right(贪心+优先队列)
【题目大意】:有一架坐位固定的飞机,每天早上从1号点飞到N号点,晚上从N号点飞回上号点,中途有些点会有人上飞机,在保证不超载的情况下求一天下来,能载的最多乘客数。【解题思路】:对于每一个起飞站点,尽可能的放入人,遇到放不下的情况就踢除掉最远的人。枚举站点并枚举每个站点为起点可到达的点进行人数的修改。当人数超过规定值,则利用优先队列的性质贪心去掉最远的点。【代码】:原创 2012-04-03 02:08:57 · 852 阅读 · 0 评论 -
poj 1228 Grandpa's Estate(凸包+判凸包边上的点数)
【题目大意】:给出n个凸包上的点(凸包上还有一一些其他的点丢失了),问能否用这些点唯一的确定一个凸包。【解题思路】:看懂题目大意是第一步。头20分钟一直不知道给定的点是凸包上的点,恶心了很久还是一点思绪都没有。如果给定的点是在凸包上的点,我们不妨通过这些点求一个凸包,如果这个凸包是唯一的必须满足以下的几个条件:1、所有给定的点都在凸包上。2、每条边上必须至少有3个点。如果一条边上只原创 2012-04-12 15:03:46 · 1031 阅读 · 0 评论 -
poj 1873 The Fortified Forest(凸包+枚举)
【题目大意】:给出n棵树,每棵树有坐标,权值,和长度,现在要砍下其中的某些树,来做围栏来把剩下的树围起来,问损失的数最小价值是多少。【解题思路】:明显求围栏就是一个凸包问题,由于树最多只有13棵,所以我们可以直接枚举哪些树留下,来求凸包,取最小值即可。。【代码】:#include #include #include #include #include #inc原创 2012-04-12 01:26:45 · 607 阅读 · 0 评论 -
poj 3737 UmBasketella(三分+求导)
【题目大意】:给出一个圆锥体的表面积,求最大的体积,并输出其半径和高。【解题思路】:下午在比赛的时候是直接求导推的公式做的。 晚上回来想想其实三分极值可以做,但是一直wa,不知道为什么。 我原来三分是这么写的 mid1=(low+high)/2.0; mid2=(mid+high)/2.0; 但是一直过不了,后来改成mid1=原创 2012-03-26 00:09:53 · 651 阅读 · 0 评论 -
poj 2289 Jamie's Contact Groups(二分答案+网络流判定)
【题目大意】:n个人,告诉你他可以从属于那些小组,现在问你将n个人分成m组,最大的组最小的人数是多少。【解题思路】:最大最小值...想到的是二分出上界,符合条件则缩小上界,反之则增大。如何判断,可以用网络流来判定,构图是由s出发,连边到人容量为1,每个人和小组之间的对应关系连边,容量为1,小组和汇点t连边,容量为二分出来的上界...然后跑一个网络流判断汇点是否是n就可以了....原创 2012-04-01 23:28:15 · 958 阅读 · 0 评论 -
poj 1042 Gone Fishing(DP)
【题目大意】:john现有h个小时的空闲时间,他打算去钓鱼。john钓鱼的地方共有n个湖,所有的湖沿着一条单向路顺序排列(john每在一个湖钓完鱼后,他只能走到下一个湖继续钓),john必须从1号湖开始钓起,但是他可以在任何一个湖结束他此次钓鱼的行程。输入给出john在每个湖中每5分钟钓的鱼数(此题中以5分钟作为单位时间),随时间的增长而线性递减。而每个湖中头5分钟可以钓到的鱼数以及每个湖中相邻5原创 2012-04-03 02:14:55 · 1189 阅读 · 0 评论 -
poj 1790 Base Numbers(dp)
【题目大意】:给你一个字符串,里面的前一部分是一个数,后一部分是表示他的进制,问这个字符串可以表示成多少个数。【解题思路】:表示某进制数下到第i位表示数的个数....dp[i]=sigema(dp[j])(j>=0 && j条件有2个:1、首先它的前部分的数字必须小于进制数,2、除非它是一个数,否则第一个数位不能是0...(wa了..这里)原创 2012-04-05 02:26:55 · 830 阅读 · 0 评论 -
poj 2420 A Star not a Tree?(贪心+求多边形费马点)
【题目大意】:找出一个点,使得到多边形每个点的距离和最小。输出最小距离和。【解题思路】:求的是一个多边形的费马点。三边以上没有公式,我们可以使用随机化变步长贪心法来解这道题。【随机化变步长贪心法】:随机选取一个点,再取一个步长,朝这个方向走,如果新位置到各点距离比原来小,则走过去。直到走不动为止,再缩小步长。直到步长小于题目精度。【代码】:#includ原创 2012-03-25 21:36:33 · 2528 阅读 · 0 评论 -
poj 2311 Cutting Game(sg函数)
【题目大意】:给出一个n*m的矩阵,两个人轮流切割...直到一方不能切割为止,问先手的胜负情况【解题思路】:原本看完题目觉得很简单,直接裸敲了个dfs~~结果无情的TLE...然后想想看看sg函数,然后发现貌似自己有点明白了。 这道题的关键在于把问题转化为nim博弈...换句话话说一切博弈皆nim...原创 2012-03-26 00:32:06 · 559 阅读 · 0 评论 -
poj 3252 Round Numbers(排列组合)
【题目大意】:让你找两个数之间有多少个round number。round number的定义是:把一个数化成2进制,如果0的个数>=1的个数。那么该数为round number。【解题思路】:先把输入的数化成2进制,然后得到长度len,那么很容易求得长度比其小的round number的数目。然后再对长度len来说,找每一位比它小的round number的数目。不妨设count(n原创 2012-03-26 01:01:43 · 582 阅读 · 0 评论 -
poj 2960 S-Nim(sg函数)
【题目大意】:给出一个集合S,然后给出n堆石子。每次可以从石子里取走S集合里面的数。问先手的胜负关系。【解题思路】:Nim博弈的变形。加上了限制,跟距sg函数,我们可以知道。ans=sg(a)^sg(b)^sg(c)...(a,b,c为子问题,即每堆石子)。另外...sg(a)=mex(SG[a-s[i]])(0【代码】:#include #include #i原创 2012-03-26 11:09:52 · 542 阅读 · 0 评论 -
poj 2505 A multiplication game(博弈)
【题目大意】:给出一个数n...两个人轮流游戏,每次可以给p=1乘上2~9之间的任意一个数,问谁先达到n。【解题思路】:如果n的范围在2~9之间...先手胜,10~18之间后手胜....19~162之间...是由后手必胜态(10~18)转移过来的必败态(因为在10~18的情况下,是我要赢,我势必拿最大)...163~324是由先手必胜态(19~162)转移过来的后手必胜态...以此类推原创 2012-03-26 11:36:34 · 1015 阅读 · 0 评论 -
poj 2425 A Chess Game (sg函数)
【题目大意】:给出一幅有向图,然后告诉你上面有m个棋子,游戏者轮流操作,走到不能走的人输。【解题思路】:sg函数...棋子的每一次移动都是它的后继状态也就是 sg(x)=mex(SG[et[i].v])et[i].v为邻接表表示与其相连的点。 每个棋子的移动视为一个子问题,将所有子问题^之后就是答案。【代码】:#include #include原创 2012-03-26 12:50:59 · 629 阅读 · 0 评论 -
poj 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS(母函数)
【题目大意】:给出一个数n,把它拆分成若干个数的和,要求最大的数在中间并向两边非递增。问拆法有多少种。【解题思路】:母函数。枚举中间的那一个数,因为左右对称,所以只需要求左边部分的方案即可。注意,左右两部分的取数必须小于中间的数,中间的数是0的话则以n为最大取值。【代码】:#include #include #include #include #includ原创 2012-03-30 16:19:08 · 748 阅读 · 0 评论 -
poj 1113 Wall(Graham扫描法求凸包)
【题目大意】:给出一些点,求凸包周长,并加上给定圆周长【解题思路】:极角排序,然后求凸包。模版testing【代码】:#include #include #include #include #include #include #include #include #include #include #include原创 2012-04-11 23:48:04 · 573 阅读 · 0 评论