上一页 1 ··· 7 8 9 10 11 12 13 14 下一页
2013年4月11日

poj2074

摘要: 题目大意:从下面的一条直线看最上面的一条直线,中间有很多平行的障碍直线,问下面直线有多长是可以看到最上面的整条直线。。思路:对于中间的每条直线求看不到的长度,最后求交集即可code: 1 /* 2 State:Accepted 3 Time:2013-03-30 00:51:14 4 */ 5 #include <iostream> 6 #include <fstream> 7 #include <cstring> 8 #include <cstdio> 9 #include <cmath>10 #include <algori 阅读全文
posted @ 2013-04-11 23:11 yzcstc 阅读(144) 评论(0) 推荐(0) 编辑

poj1696

摘要: 题意:给定一些点,找一条路径,要求经过点最多,并且不能相交。。。思路:可以用极角排序,但是实际上就是凸包的变形。。套用凸包模板即可。。code: 1 /* 2 Time:2013-03-26 18:22:16 3 State:Accepted 4 */ 5 #include<iostream> 6 #include<cstring> 7 #include<cstdlib> 8 #include<cmath> 9 #include<algorithm>10 #include<cstdio>11 #include<str 阅读全文
posted @ 2013-04-11 23:04 yzcstc 阅读(155) 评论(0) 推荐(0) 编辑

半平面交

摘要: 最近去hust oj 上挂了一套题目计算几何,里面有几道半平面交的题,于是学了一下半平面交。。 所谓半平面,通俗一点就是就是一些形如 a*x+b*y+c <=0 (或 >=0)的区域,实际上就是平面的一半,成为半平面, 而半平面交,就是一些这样的半平面解的交集,反映上直角坐标系上就是半平面的共同区域 而求半平面的的方法一般有3种, 1)联机算法,这是一种朴素的做法,即对新加入的边判断原来的交点是否在合法的区域内,不合法就该点,并加入新点。。 最终的点就是合法的点。复杂度o(n^2) 2)分治法。即利用二分的思想 将 N条边划分成2个n/2,利用递归求解。算法复杂度o(nlogn). 阅读全文
posted @ 2013-04-11 22:01 yzcstc 阅读(1394) 评论(1) 推荐(2) 编辑
2013年3月26日

poj1556

摘要: 题目大意:在10*10的空间里,中间有几堵平行于竖直方向的墙,每个墙由两扇门,求从(0,5)-->(10,5)的最短路径思路:把门边沿的点两点建立一条边(中间无墙挡住),和起点,终点同样建边。。最后就成最短路。。 网上大部分Dijkstra,其实数据很小,floyed足以搞定。。PS:这道题数据很弱,但是弱菜下标写错了。。调了非常久。。。还有看到网上有的写了接近300行代码吓尿了。。写的很搓的代码: 1 /* 2 Time:2013-03-25 23:56:19 3 State: Accepted 4 */ 5 6 #include<iostream> 7 #i... 阅读全文
posted @ 2013-03-26 00:21 yzcstc 阅读(176) 评论(0) 推荐(0) 编辑

poj2318 && poj2398

摘要: 题目大意:2318:给定一个矩形和n条边(由上到下,不想交),这些边把矩形分成n+1块(0 ~n)。。问给M个点,每块区域有多少个点。。2398:差不多,只是给定的线段未排序。。还有输出变成输出相同点数的个数。。 比如 0~N:1,1,2,1,3 那么输出:Box 1:3 2:1 3:1思路:简单的点与线断的判断,用叉乘解决。。code2318 1 /* 2 State:Accepted 3 Time:2013-03-24 20:57:09 4 */ 5 6 #include<iostream> 7 #inclu... 阅读全文
posted @ 2013-03-26 00:12 yzcstc 阅读(264) 评论(0) 推荐(0) 编辑
2013年3月24日

poj1038

摘要: 黑书138面的题目。。典型的状态压缩dp。而且神奇的用了3进制。。思路看黑书了。。直接上code 1 /* 2 State:Accepted 3 Time:2013.3.23 14:10 4 */ 5 #include<iostream> 6 #include<cstring> 7 #include<cstdlib> 8 #include<cstdio> 9 #include<fstream> 10 #include<algorithm> 11 #define M0(a) memset(a ,0,sizeof(a)) 12 阅读全文
posted @ 2013-03-24 00:51 yzcstc 阅读(243) 评论(0) 推荐(0) 编辑

poj2404

摘要: 题意:给定一张图,要求从起点出发走遍每一条边并回到起点的最短路径。。思路:由一笔画问题可知,想满足题意每个点必须是偶点(度为偶数),所以首先用floyed做一遍最短路, 找到奇点之间的最短路径。。 接下来便是用状态压缩dp就可决解。。 1 /* 2 State:Accepted 3 Time:2013-03-21 14:50:26 4 */ 5 #include<cstdio> 6 #include<cstdlib> 7 #include<fstream> 8 #include<queue> 9 #include<stack>10 # 阅读全文
posted @ 2013-03-24 00:48 yzcstc 阅读(271) 评论(0) 推荐(0) 编辑

poj3254

摘要: 题目大意:给你一个n*m的矩形,里面有些格子可以选取。。在可选取选取格子,要求不能相邻。。求方案数。。思路:状态压缩dp f[i][j]表示第i行状态为J的方案数 f[i][j] = sigma(f[i - 1][k]) 状态k表示的取法与j取的不相邻。且j为合法取法(与给定的不冲突) 1 /* 2 Time:2013-03-19 23:07:07 3 State:Accepted 4 */ 5 #include <iostream> 6 #include <cstring> 7 #include <cstdlib> 8 #include <cstdi 阅读全文
posted @ 2013-03-24 00:40 yzcstc 阅读(220) 评论(0) 推荐(0) 编辑

poj2663

摘要: poj2411的弱化版http://www.cnblogs.com/yzcstc/archive/2013/03/23/2977689.html 1 /* 2 State:Accepted 3 Time:2013-03-19 20:41:08 4 */ 5 #include <iostream> 6 #include <cstring> 7 #include <string> 8 #include <cstdlib> 9 #include <cstdio>10 #include <algorithm>11 #include 阅读全文
posted @ 2013-03-24 00:31 yzcstc 阅读(231) 评论(0) 推荐(0) 编辑

poj2430

摘要: 题目意思:一个2*b的矩形上有n头牛,现在要用k个矩形覆盖牛。问最少覆盖的面积思路:状态压缩dp 因为b太大,所以得先离散化 f[i][j][k]表示前i列(有牛在的列),用了k个矩形,状态为K所用的最小面积 情况有:1.单独放1个矩形 2.单独放2个矩形 3.由前面放的延伸过来(1个或2个)情况多了点,写起来挺麻烦的。。 1 /* 2 State:Accepted 3 Time:2013-03-19 19:26:02 4 */ 5 #include<cstring> 6 #include<string> 7 #include<cs... 阅读全文
posted @ 2013-03-24 00:28 yzcstc 阅读(219) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 下一页