自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

binwin20

蓓蕾一般默默地等待,夕阳一般遥遥地注目。

  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

原创 POJ 3348 Cows(凸包面积)

题意:求凸包面积/50,取整#include #include #include #include #include #include #include using namespace std;double EPS = 1e-12;struct cpoint{ double x,y; void get(){scanf("%lf%lf",&x,&y);}};

2012-09-30 22:04:15 691

原创 POJ 2111 Millenium Leapcow (搜索)

题意:类似滑雪,找出最长路劲,多个答案 输出字典序最小的。思路:将矩阵上的数字从大到小排序,贪心找路劲。。复杂度O(n*n*logn)#include #include #include #include #include #include #include using namespace std;const int N= 366;const int INF = 0x3f

2012-09-30 17:13:05 1123

原创 POJ 1815 Friendship(网络流,点拆分)

题意:点之间有双向的联系,问去掉多少个点可以使s,t之间没有联系,点尽量少,序号尽量小。思路:  网络流建图真难啊  , 看别人的思路过的 ,,把一个点拆分成两个,出点和入点,对于有联系的点对,建立一条从s的出点到t 的入点的边  边权为无穷。对每一个点,建立自己入点到出点权值为1的边。#include #include #include #include #i

2012-09-30 11:31:01 1201

原创 POJ 1228 Grandpa's Estate(凸包)

题意:没看懂题意,在DISCUSS找到的,,判断一个凸包,且每两个凸点间的直线上有一个点。。思路:找两个凸包一个包括非顶点的边点,另一个不包含,比较一下两个凸包。。#include #include #include #include #include #include #include using namespace std;struct cpoint{

2012-09-29 21:54:13 1070

原创 POJ 1873 The Fortified Forest

题意:砍掉一些树,用来围剩下的树,要使能包围的请款下,剩下树的价值最大,思路:二进制枚举所有可能的情况,用凸包找包围的最短长度。#include #include #include #include #include #include #include using namespace std;const int N = 19;const double EPS = 1e-1

2012-09-29 17:37:11 577

原创 POJ 1459 (最大流 入门题)

代码:#include #include #include #include #include #include #include using namespace std;const int N = 109;const int INF = 0x3f3f3f3f;int g[N][N],gap[N],dist[N],pre[N],cur[N];int n,m,st,en;int

2012-09-26 19:52:42 573

原创 POJ 1149 PIGS(最大流)

题意:n个人买猪,有m个猪圈,每个人可以买多个猪圈的k头猪,买完之后这些猪圈的猪就可以走动了,否则每一个猪圈的猪只能呆在各自的猪圈里。问最多可以卖出几头猪。思路:http://imlazy.ycool.com/post.2059102.html第一道网络流,拿来验证yy的模版。。#include #include #include #include #include

2012-09-25 19:41:55 544

原创 HDU 4410 Boomerang(计算几何)(2012杭州网络赛1001)

题意:  思路:每一条边不是平行就是竖直,且最多只有8个点,所以可以枚举每一种可能的形状,4个点的只可能是矩形,6个点的只可能是矩形缺一个角,8个点的可以是6个点的其中三个90度角缺一个小脚,或者是凹形。。。。不可能是奇数个点。。。。#include #include #include #include #include #include #include

2012-09-24 02:28:31 2321

原创 HDU 4403 A very hard Aoshu problem(暴搜)

题意:在一个数字串里加入加号,等号,使等式成立。有几种方法;思路:暴搜:#include #include #include #include #include #include #include #include using namespace std;map mp;int ans;int a[39],len,cnt;void dfs1(long long s,l

2012-09-22 17:07:09 825

原创 POJ 2074 Line of Sight(求交点)

题意:给你一段路,和一个房子,都是线段。之间有一些障碍物,在某些路段上可以看到整个房子,,问最长的路段多长。。。思路:枚举每一个障碍物在路上的投影,求投影间的最大值。。#include #include #include #include #include #include #include using namespace std;const double EPS = 1e

2012-09-20 21:13:36 703

原创 POJ 1584 A Round Peg in a Ground Hole(点到直线距离,多边形是否为凸)

题意:顺时针或逆时针给出n个点和一个圆,判断多边形是否为凸。且圆在多边形里面。#include #include #include #include #include #include using namespace std;const double EPS = 1e-6;bool zero(double t){return -EPS<t&&t<EPS;}struct cv

2012-09-20 16:25:54 591

原创 POJ 3683 Priest John's Busiest Day(2-SAT)

题意:问牧师能否参加每一个婚礼的典礼,典礼只能在婚礼的开始或者结束的时候举行。给出婚礼的时间段,。在婚礼的开始或者结束,2选1 ,可以用2-sat。输出婚礼的时间很麻烦,可别人的报告看了好久才勉强看懂。。。。#include #include #include #include #include #include #include using namespac

2012-09-19 22:15:18 564

原创 HDU 3622 Bomb Game(2-SAT)

题意:有n对点,每对点只能选择一个点画圈,要求圈不相交,,问圈的最大半径。。思路。浮点数计算很花时间,用半径的平方,进行计算。一般的2-sat #include #include #include #include #include #include #include using namespace std;const int INF = 0x3f3f3f3f;c

2012-09-18 21:38:28 731

原创 HDU 4294 Multiple (BFS)

题意: 找出k进制下,n的倍数。。。总结:一直不会做这题,主要是对倍数,取余,模 等的性质不了解,,#include #include #include #include #include #include #include using namespace std;const int N = 10009;int n,k;int visit[N],nex[N],m,cnt

2012-09-17 22:37:14 728

原创 POJ 1390 Blocks ||UVA 10559 - Blocks(记忆化搜索)

题意:一排带有颜色的砖块,每一个可以消除相同颜色的砖块,,每一次可以到块数k的平方分数。问怎么消能使分数最大。。思路:记忆化搜索,dp[i][j][k] 表示,从i到j块且j后面有k块与第j快的颜色一样。dp[l][r][k] = max(dp[l][r][k],dfs(l,i,k+1)+dfs(i+1,r-1,0));     #include #include #inclu

2012-09-17 20:25:15 2293

原创 TYVJ 1211 跳舞家怀特先生(DP)

连接:http://new.tyvj.cn/Problem_Show.aspx?id=1211思路:dp[k][i][j]  表示第k步,第一只脚在i点,第二只脚在j点。。一次只能变一只脚。。#include #include #include #include #include #include #include using namespace std;const int

2012-09-17 16:09:20 1482

原创 SOJ 1822. Fight Club(区间DP)

题意:有n个人斗争,每一对谁赢谁败都已知,问谁可能是最后的赢家。。思路:要相邻的打完之后才能与他隔一个的人打,容易想到用区间dp。。dp[i][j] 表示第i个人可以与第j个人打,,只要到最后i能跟i+n打,说明就可以赢了。。如果i能打到j,k能打到j ,只要i能打赢k,或者j能打赢k,i,j就能见面了。。连接:http://soj.me/1822#include #in

2012-09-17 15:17:48 1160

原创 POJ 1191 棋盘分割 (记忆化搜索)

题意:思路:先要对公式化简,我的数学好差,花了好长时间化简。然后用记忆化搜索,dp[d][x1][y1][x2][y2] 存储 把大小为(x1,y1)(x2,y2)的矩阵分成d份的最小值。。#include #include #include #include #include #include #include using namespace std;const in

2012-09-16 09:50:59 639

原创 POJ 1141 Brackets Sequence(区间DP)

题意:括号匹配;思路:第一次做区间dp的题;好难理解他的存储结构啊。dp[i][i] 表示 第i个字母到第j个字母有多少个匹配的括号。。a[i][] 表示到达该步的前一步,,#include #include #include #include #include #include #include using namespace std;const int N = 10

2012-09-15 21:18:57 540

原创 HDU 3062 Party (2-SAT)

#include #include #include #include #include #include #include using namespace std;const int N=2009;struct LT{ int to,nex;} L[N*N];int F[N],cnt;void add(int f,int t){ L[cnt].nex

2012-09-15 16:49:22 460

原创 POJ 1976 A Mini Locomotive(背包)

题意:求最大的3个连续子段和。。方程:dp[i][j] = max(s[j]+dp[i-1][j-lm],dp[i][j-1])  、、dp[i][j] :前j个数的子段中选i个的最大和。s[i] 第i-m+1到i的数字之和。。。#include #include #include #include #include #include #include using names

2012-09-15 09:34:51 572

原创 POJ 3093 Margaritas on the River Walk(背包)

题意:有n件物品,每件都有价值,用m的钱买这些物品,。尽可能多的买东西,(直到钱不够买其他的东西为止)。问有多少种买东西的方法。。思路:自己弄了一个状态转移方程,发现是错的。。后来 yy教我的‘。。。。先不买第一件物品,弄一个方程。。。再必须买第一件物品,不用第二件物品。。。再必须买前两件,不买第三件。。。类推。。这样就没有重复。。。然后考虑边界就ok了#include #include

2012-09-14 21:17:20 877

原创 POJ 2642 The Brick Stops Here(01背包)

题意: 有n种砖块,每种有价格和体积。问从中选出t种砖块,要求平均体积在a到b之间。。。标准的01背包思路:dp[i+1][j+v]=dp[i][j]+p; 最多选出20种,所以dp只要到20层就可以了。。。。现在开始转动态规划了,又有好多水题做了,,,#include #include #include #include #include #include #incl

2012-09-14 18:48:38 698

原创 POJ 3207 Ikki's Story IV - Panda's Trick(2-SAT)

题意:有一个圈,圈上有n个点,分别为0到(n-1),现在用线把某些点连起来,且线不相交。问能否实现。思路:线可以在圈的内部or圈的外部,设在圈的内部为i ,圈的外部为i+n,则,当在圈的同侧连接两条线时,如果会相交,则: i -> -j   j -> -i   -i -> j  -j -> i判断两线是否相交: 如果一条线的一个端点值在另一条线的两个端点值之间,而另一端点不在他们之间,则相

2012-09-14 15:16:24 826

原创 POJ 2296 Map Labeler(2-sat)

题意:在一个地图上贴正方形标签,标签不能重合,地图上点的位置在标签的下边中点,或者上边中点,求标签的最大边长。思路:一个标签可以在点的上方或者下方。设在上方的为i+n,下方为i。。二分边长,设边长为L  则:当两点的x差值小于L时: 1.两个y值一样时,一个标签在上方一个标签在下方,i -> -j     j -> -I   -i -> j   -j -> i2.i点的y值大于j时

2012-09-14 09:39:38 656

原创 POJ 3449 Geometric Shapes (线段相交)

题意:给你多种形状的图形,问那些图形是相交的(线段相交),思路:暴力判断线段相交以前交了18遍都不过,现在重新写了一遍,不懂怎么了就过了。。郁闷啊。。#include #include #include #include #include #include using namespace std;const double EPS = 1e-6;const double

2012-09-13 17:32:17 487

原创 POJ 2749 Building roads (2-sat)

题意:有一条线段,和n个点,把n个点连接在线段的端点处。。有a对点要连接在同一个点上,有b对点要连接在不同的点上。要使任意两点的最长距离最短。求最短距离思路:假设有2*n个点,i点表示连接在start端,i+n表示连接在end端,则连接同一点的点对 i , j 有:i->j   j->i  i+n->j+n    j+n->i+n  连在不同一点的点对:i,j 有: i->j+n    j

2012-09-12 17:06:02 378

原创 HDU 1732 Push Box(搜索)

题意:推箱子,有且只有3个箱子思路:暴搜:#include #include #include #include #include #include using namespace std;char map[9][9];bool v[8][8][8][8][8][8][8][8];int n,m;int dx[]={0,0,-1,1};int dy[]={-1,1,

2012-09-11 18:27:45 467

原创 POJ 2723 Get Luffy Out(2-SAT)

题意:给你一些钥匙,按顺序有m个门,问最多可以打开多少个门。钥匙是成对的,只能使用一对中的一个钥匙。。#include #include #include #include #include #include #include using namespace std;const int N = 1029;const int M = 2049;int n,m;int has

2012-09-11 18:24:45 534

原创 HDU 1732 Push Box(搜索)

题意:推箱子;规则与推箱子一样;思路:暴搜。#include #include #include #include #include #include using namespace std;char map[9][9];bool v[8][8][8][8][8][8][8][8];int n,m;int dx[]={0,0,-1,1};int dy[]={-1,1

2012-09-11 15:08:27 1023

原创 HDU 4272 LianLianKan(贪心!!!!!)

题意:顶上的数字只能和他最近的5个元素相连,然后消掉。。再继续连,,,问能否把它全部消掉;;;;;思路:贪心能过。。。。。。。。。。。。。。。。。。。给一组数据:101 1 2 3 3 3 1 3 1 2答案应该是  :1 贪心的话:答案是0 也能过。。也许是我度错题了!!!!刚听说贪心也能过,改了一下交了,A了#include #incl

2012-09-08 19:02:15 1198 2

原创 HDU 4274 Spy's Work(树形dp)

题意:树的每一个节点都有一个权值都大于1。。给你一些条件判断这些条件是否都满足。。弱校,水平本来就差,还不好好努力。被虐了活该。。。。#include #include #include #include #include #include using namespace std;const int N = 10009;const int INF = 0x

2012-09-08 18:20:50 1184

原创 POJ 1039 Pipe

题意:一束光线从左端射入钢管,问能到达的最远点的横坐标。#include #include #include #include #include #include using namespace std;const double INF = 1e20;const double EPS = 1e-6;struct cvector{ double x,y; c

2012-09-07 16:22:28 437

原创 POJ 2826 An Easy Problem?!(线段相交,比较角度大小)

题意:给你两根线段,问能装多少雨水。这题要比较线与水平面的角度的大小。。#include #include #include #include #include #include using namespace std;const double INF = 1e20;const double EPS = 1e-6;bool zero(double t){ retu

2012-09-07 13:55:19 492

原创 POJ 1696 Space Ant (点积)

题意:蚂蚁从最小的的点开始走,每一次只能往右走,走的路线不能交叉,怎样才能试经过的路线最长。走完所有的点,经过的路线最长。思路:找到最下方的点,然后枚举其他所有未访问的点。#include #include #include #include #include #include using namespace std;const double INF = 1e20;con

2012-09-07 10:08:56 449

原创 POJ 1410 Intersection(判断线段是否在矩形面里)

题意:给你线段和矩形,问是否相交,或矩形包含线段;注意:线段相交时, 和 不相交。。。。郁闷死了。。#include #include #include #include #include #include using namespace std;const double INF = 1e20;const double EPS = 1e-6;bool zero(doub

2012-09-06 20:09:02 740

原创 POJ 1066 Treasure Hunt

题意:从给定点到边框外,至少要经过多少根线,不能从交点经过。。思路:连接给定点与边框上的任意一点,求与这边相交的最小边数。因为给出的线与边框的交点都是整数点,所以只要判断每一个点的左右两边附近的两个点就行了。#include #include #include #include #include #include using namespace std;const doub

2012-09-06 16:07:41 476

原创 POJ 2653 Pick-up sticks(计算几何 求交点)

题意:依次给你n根棍子,问最上面的棍子是哪几根。直接暴力,TLE,,用一个双向链表优化 500ms#include #include #include #include #include #include using namespace std;const double EPS = 1e-6;const double INF = 1e20;struct cvector{

2012-09-06 11:27:37 429

原创 POJ 1566 The Doors(计算几何+dp)

题意:问从(0,5)点  到 (10,5)点  的最短路;思路:他一层一层地穿过门,不会返回的,所以可以用dp#include #include #include #include #include #include using namespace std;const double EPS = 1e-6;const double INF = 1e20;struct cv

2012-09-06 10:10:00 595

原创 POJ 1269 Intersecting Lines(计算几何 求交点)

题意: 求共线,平行或交点#include #include #include #include #include #include using namespace std;const double EPS = 1e-6;const double INF = 1e20;bool zero(double a){return -EPS<a&&a<EPS;}struct cve

2012-09-05 20:08:12 523

java 表达式运算包

输入一个字符串表达式(如:1*(2+2^3)),返回表达式的解 。(不支持正负号)

2013-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除