03 2015 档案

POJ 1700(过河问题)
摘要:此题讲的是N个人过河,每个人都有自己的过河时间,一条船只能承受2个人,所用时间为其中过河时间最多的,所以呢,想到有两种情况,第一种:过河时间最少的人来回接送其他人,第二种:过河时间最少和次少的人来回接送其他人,刚开始就觉得第一种时间必然是最少的,但是仔细想想,不然。因为第一种情况虽然单次过河时间少,... 阅读全文

posted @ 2015-03-31 18:53 王老大- 阅读(175) 评论(0) 推荐(0)

经典背包问题 01背包+完全背包+多重背包
摘要:转自http://blog.csdn.net/lyhvoyage/article/details/854585201 背包有n 种不同的物品,每个物品有两个属性,size 体积,value 价值,现在给一个容量为 w 的背包,问最多可带走多少价值的物品。 intf[w+1];//f[x]表示背包容量... 阅读全文

posted @ 2015-03-26 07:13 王老大- 阅读(389) 评论(0) 推荐(0)

HDU 2191 (多重背包)
摘要://未优化01背包#include #include using namespace std;int c[105],v[105],b[105];int dp[105];int main(){ int n,m,t; cin>>t; while(t--){ ... 阅读全文

posted @ 2015-03-24 22:06 王老大- 阅读(132) 评论(0) 推荐(0)

POJ 1276 Cash Machine (完全背包问题)
摘要:题意:给出一个价值sum,然后给出n,代表n个方案,接着n对代表个数与价值,要求最接近sum,但不超过sum的价值。#include #include #include #include using namespace std;int dp[100010];int main(){ ... 阅读全文

posted @ 2015-03-22 21:27 王老大- 阅读(134) 评论(0) 推荐(0)

POJ 2184 Cow Exhibition (变种01背包)
摘要:题意:有一些奶牛,他们有一定的s值和f值,这些值有正有负,最后让保证s的和为非负且f的和为非负的情况下,s+f的最大值。 思路:很明显的就是取与不取的问题,对于这类问题的第一想法就是背包,但是这道题目很明显与一般的背包不同,因为有负数,但是联想到以前也有这种将负数存入下标的情况,那就... 阅读全文

posted @ 2015-03-22 07:55 王老大- 阅读(162) 评论(0) 推荐(0)

HDU 1171 Big Event in HDU(01背包)
摘要:题意:给出每个物体的价值和物体的数量,如何分使得A,B所得价值最接近并且A的价值不能小于B思路:DP算法,背包问题,求法是先求出总价值sum,再用dp[]求sum/2最多能放多少价值!即可以求出其中一个数了,另一个就是sum-dp[sum/2]了。#include #include ... 阅读全文

posted @ 2015-03-22 05:50 王老大- 阅读(132) 评论(0) 推荐(0)

POJ 1228 Grandpa's Estate (稳定凸包)
摘要:读懂题意很关键,输入一个凸包上的点(没有凸包内部的点,要么是凸包顶点,要么是凸包边上的点),判断这个凸包是否稳定。所谓稳定就是判断能不能在原有凸包上加点,得到一个更大的凸包,并且这个凸包包含原有凸包上的所有点。 首先来了解什么是稳定的凸包。 比如有4个点: 这四个点是某个凸包上的部... 阅读全文

posted @ 2015-03-21 14:03 王老大- 阅读(235) 评论(0) 推荐(0)

POJ 1584 A Round Peg in a Ground Hole(点到直线距离,圆与多边形相交,多边形是否为凸)
摘要:题意:给出一个多边形和一个圆,问是否是凸多边形,若是则再问圆是否在凸多边形内部。分3步:1、判断是否是凸多边形2、判断点是否在多边形内部3、判断点到各边的距离是否大于等于半径上代码:#include #include #include #include #include #inclu... 阅读全文

posted @ 2015-03-20 16:54 王老大- 阅读(152) 评论(0) 推荐(0)

POJ 2826 An Easy Problem?! 好题
摘要:题目大意就是两根木块组成一个槽,问槽里能装多少雨水,注意雨水垂直落下,思路也很简单,就是分类讨论有点糟。 1.如果两条线段不相交或者平行,则装0; 2.有一条平行x轴,装0; 3.若上面覆盖下面的,装0; 4.其它,叉积求面积。直接上代码:#include #include #inc... 阅读全文

posted @ 2015-03-17 00:18 王老大- 阅读(122) 评论(0) 推荐(0)

POJ 2007 Scrambled Polygon(简单极角排序)
摘要:水题,根本不用凸包,就是一简单的极角排序。叉乘#include #include #include #include using namespace std;const int maxn=55;struct point{ double x,y;} p[maxn];double cross(po... 阅读全文

posted @ 2015-03-13 10:36 王老大- 阅读(83) 评论(0) 推荐(0)

POJ 1113 Wall (凸包模版题)
摘要:好久没写凸包,基本的都忘记了。悲伤。代码:#include #include #include #include using namespace std;#define N 1050#define PI acos(-1.0)int n,r;struct point{ int x... 阅读全文

posted @ 2015-03-11 23:51 王老大- 阅读(102) 评论(0) 推荐(0)

POJ 3347 Kadj Squares(复杂的线段相交问题)
摘要:题意:给予n个正方形,要求45°角放置,最左边的正方形紧贴Y轴,所有的正方形的下面的端点都在X轴上。然后按照正方形不能交错但要尽可能的挨着的原则,摆放,最后输出从上往下看能看到的正方形的编号。思路:每新增一个正方形,就让它与左侧的每一个正方形贴紧,求其左端坐标,最终结果一定是最大的那... 阅读全文

posted @ 2015-03-11 22:42 王老大- 阅读(200) 评论(0) 推荐(0)

POJ 1410 Intersection(线段与矩形相交)
摘要:判断矩形和线段是否相交,没什么说的,正确理解题意中相交的定义具体代码:#include#include#includeusing namespace std;typedef struct{ double x; double y;}point;point rect[4];p... 阅读全文

posted @ 2015-03-11 18:18 王老大- 阅读(196) 评论(0) 推荐(0)

POJ2653 Pick-up sticks(线段相交判断)
摘要:题意是一堆木条从天而降,要找到哪些木条是在最上面的。很简单的一道题,就是直接for循环判断会超时,这里运用了队列的思想。 附上代码:#include #include using namespace std;#define eps 1e-8;struct point{ doub... 阅读全文

posted @ 2015-03-11 10:59 王老大- 阅读(139) 评论(0) 推荐(0)

poj 1066 Treasure Hunt
摘要:题意:一个正方形围墙内有一些交错的内墙,内墙的端点都在正方形上,在正方形内部有一个点,求从正方形外到这个点的最少要走的门数,门只能是线段的中点方法:从一个点到终点不可能“绕过”围墙,只能穿过去,所以门是否开在中点是无所谓的,只要求四周线段中点到终点的线段与墙的最少交点个数即可。实际上... 阅读全文

posted @ 2015-03-10 22:52 王老大- 阅读(114) 评论(0) 推荐(0)

POj 1696 Space Ant (极角排序)
摘要:题意:一只蚂蚁,只会向左转,现在给出平面上很多个点,求解一种走法,能使得蚂蚁能经过的点最多,每个顶点该蚂蚁只能经过一次,且所行走的路线不能发生交叉.对于题目所输入的点,先找出最左下方的顶点(即纵坐标最小的顶点),然后对剩下的顶点按照对与左下点的极角排序,然后反复找最左下的点,反复进行... 阅读全文

posted @ 2015-03-10 11:07 王老大- 阅读(165) 评论(0) 推荐(0)

导航