自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(208)
  • 收藏
  • 关注

转载 poj计算几何

计算几何是为Regional临时抱佛脚搞的。。还很菜。。大牛们多指教。。评述的话主要是自己以后找起题来方便。。大牛们忽略就好。。1031   求多边形累计偏转角。。抄啊抄。。1039   点积叉积应用。。自己的死活过不了。。计算几何啊。。。1066   方法是枚举目标点到边上每两点中点构成的线段,找与其他线段相交数最少的1106   判断半圆最多覆盖多少点1113 

2013-08-16 15:33:41 806

转载 计算几何题目推荐第二期

下面的OJ之中,CII是指ACM-ICPC Live Archive ,网址是:http://cii-judge.baylor.edu/其他OJ的地址大家都熟知了,因此不再提供。一。基础题目 1.1 有固定算法的题目A, 最近点对问题最近点对问题的算法基于扫描线算法。ZOJ    2107    Quoit Design    典型最近点对问题P

2013-08-12 09:17:24 729

转载 计算几何算法概览

一、引言  计算机的出现使得很多原本十分繁琐的工作得以大幅度简化,但是也有一些在人们直观看来很容易的问题却需要拿出一套并不简单的通用解决方案,比如几何问题。作为计算机科学的一个分支,计算几何主要研究解决几何问题的算法。在现代工程和数学领域,计算几何在图形学、机器人技术、超大规模集成电路设计和统计等诸多领域有着十分重要的应用。在本文中,我们将对计算几何常用的基本算法做一个全面的介绍,希望对您

2013-08-12 09:15:32 582

转载 POJ计算几何

计算几何题的特点与做题要领:1.大部分不会很难,少部分题目思路很巧妙2.做计算几何题目,模板很重要,模板必须高度可靠。3.要注意代码的组织,因为计算几何的题目很容易上两百行代码,里面大部分是模板。如果代码一片混乱,那么会严重影响做题正确率。4.注意精度控制。5.能用整数的地方尽量用整数,要想到扩大数据的方法(扩大一倍,或扩大sqrt2)。因为整数不用考虑浮点误差,而且运算比浮点

2013-08-09 12:15:13 666

转载 POJ 图论

POJ 2449 Remmarguts' Date(中等)  AChttp://acm.pku.edu.cn/JudgeOnline/problem?id=2449题意:经典问题:K短路解法:dijkstra+A*(rec),方法很多相关:http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1144

2012-07-16 10:43:56 4754

转载 网络流题目集锦

最大流 POJ 1273 Drainage Ditches POJ 1274 The Perfect Stall (二分图匹配) POJ 1698 Alice's Chance POJ 1459 Power Network POJ 2112 Optimal Milking (二分) POJ 2455 Secret Milking Machine (二分) POJ 318

2012-07-16 10:40:55 650

原创 ZOJ 3728 Collision 计算几何

/*ZOJ3728 Collision 计算几何这个计算几何不难,但是有两处没有考虑到1.没有注意速度的方向2.当时间为零的时候输出“0”,而不是“0.000”*/#include#includedouble eps=1e-10;int dbcmp(double a){ if(a>eps) return 1; else if(a<(-eps)) return -1; r

2013-11-27 18:34:29 1552

原创 hdu 4741 Save Labman No.004 异面直线最短距离及对应的点

#include#includeconst double eps=1e-9;#define zero(x) (((x)>0?(x):-(x))<eps)int dbcmp(double a){ if(a>eps) return 1; else if(a<(-eps)) return -1; return 0;}struct point{ double

2013-10-02 10:00:42 1323

原创 hdu 1402 A * B Problem Plus FFT

/*hdu 1402 A * B Problem Plus FFT这是我的第二道FFT的题第一题是完全照着别人的代码敲出来的,也不明白是什么意思这个代码是在前一题的基础上改的做完这个题,我才有点儿感觉,原来FFT在这里就是加速大整数乘法而已像前一题,也是一个大整数乘法,然后去掉一些非法的情况*/#pragma warning(disable : 4786)#pragm

2013-09-30 19:02:37 1245

原创 hdu 4609 3-idiots FFT

/*hdu 4609 3-idiots FFThttp://www.cnblogs.com/kuangbin/archive/2013/07/24/3210565.html*/#pragma warning(disable : 4786)#pragma comment(linker, "/STACK:102400000,102400000")#include #include #i

2013-09-30 19:01:48 1029

原创 hdu 1724 Ellipse simpson积分

/*hdu 1724 Ellipse simpson积分求椭圆的部分面积simpson积分法 http://zh.wikipedia.org/zh-tw/%E8%BE%9B%E6%99%AE%E6%A3%AE%E7%A7%AF%E5%88%86%E6%B3%95*/#include#includeconst double eps=1e-8;inline double jue(do

2013-09-29 22:14:55 999

原创 KMP详解

KMP详解

2013-09-12 19:29:17 736

原创 poj 3384 Feng Shui - 多边形的边内退一段距离后求半平面交,然后求最远点对

/*poj 3384 Feng Shui - 多边形的边内退一段距离后求半平面交,然后求最远点对*/#include #include #include using namespace std; const double eps=1e-8; struct point { double x,y; point(){} point(do

2013-08-12 09:55:46 1089

原创 poj 3525 Most Distant Point from the Sea - 求到海岸最远的点 - 半平面交

/*poj 3525 Most Distant Point from the Sea - 求到海岸最远的点 - 半平面交就是求多边形最大的内接圆的半径枚举半径将所有海岸沿法向量向里推进半径的距离,求按平面的交,若多边形还有核,则这个半径存在*/#include #include #include using namespace std; const

2013-08-10 20:33:44 1291

原创 poj 2540 Hotter Colder 切割多边形

/*poj 2540 Hotter Colder 切割多边形用两点的中垂线切割多边形,根据冷热来判断要哪一半然后输出面积*/#include #include const double eps=1e-8; const int N=200; struct point { double x,y; point(){} point(double

2013-08-09 20:04:13 1181

原创 poj 1279 Art Gallery - 求多边形核的面积

/*poj 1279 Art Gallery - 求多边形核的面积*/#include#include#include using namespace std; const double eps=1e-8;struct point { double x,y;}dian[20000+10];point jiao[203];struct line {

2013-08-09 19:07:41 1112

原创 poj 1474 Video Surveillance - 求多边形有没有核

/*poj 1474 Video Surveillance - 求多边形有没有核*/#include #includeconst double eps=1e-8;const int N=103;struct point{ double x,y;}dian[N];inline bool mo_ee(double x,double y){ double ret=x

2013-08-09 17:32:00 1003

原创 poj 3130 How I Mathematician Wonder What You Are! - 求多边形有没有核 - 模版

/*poj 3130 How I Mathematician Wonder What You Are! - 求多边形有没有核*/#include #includeconst double eps=1e-8;const int N=103;struct point{ double x,y;}dian[N];inline bool mo_ee(double x,dou

2013-08-09 11:25:43 1023

原创 poj 3335 Rotating Scoreboard - 半平面交

/*poj 3335 Rotating Scoreboard - 半平面交点是顺时针给出的*/#include #includeconst double eps=1e-8;const int N=103;struct point{ double x,y;}dian[N];inline bool mo_ee(double x,double y){ double

2013-08-08 10:50:16 848

原创 hdu 4643 GSM 计算几何 - 点线关系

/*hdu 4643 GSM 计算几何 - 点线关系N个城市,任意两个城市之间都有沿他们之间直线的铁路M个基站问从城市A到城市B需要切换几次基站当从基站a切换到基站b时,切换的地点就是ab的中垂线与铁路的交点(记录由哪两个基站得到的交点,方便切换)处枚举任意两个基站与铁路的交点,按到城市A的距离排序求出在城市A时用的基站j,然后开始遍历交点,看从j可以切换到哪个基站(假设是

2013-08-07 11:36:08 7400

原创 poj 2451 Uyuw's Concert - 半平面交

/*poj 2451 Uyuw's Concert - 半平面交很裸的半平面交*/#include#include#include using namespace std;const double eps=1e-10;struct point{ double x,y; point(){} point(double a,double b):x(a),y(b){}}

2013-08-05 19:45:29 1137

原创 poj 1654 Area 多边形面积

/*poj 1654 Area 多边形面积题目意思很简单,但是1000000的point开不了*/#include#include#includeconst int N=1000000+10;const double eps=1e-8;struct point { double x,y; point(){} point(double a,double b):x(a),y

2013-08-02 17:27:01 702

原创 hdu 4635 Strongly connected 强连通

/*hdu 4635 Strongly connected 强连通题意:给一个简单(无重边,无自环:就是自己直接指向自己的边)有向图,若是强连通的,就输出-1否则输出可以最多加多少条边还是非强连通的;加完边的状态就是,有两个强连通块儿(包含的点数分别是n,m),各自内部任意两点之间都有两条不同方向的边,两个块儿之间只有单方向的边,另一个方向的边是因为保持非强连通牺牲掉的(数量是n*m

2013-08-01 20:29:14 899

原创 poj1873 The Fortified Forest 凸包+枚举 水题

/*poj1873 The Fortified Forest 凸包+枚举 水题用小树林的木头给小树林围一个围墙每棵树都有价值求消耗价值最低的做法,输出被砍伐的树的编号和剩余的木料若砍伐价值相同,则取砍伐数小的方案。*/#include#include#include #include using namespace std;const double eps = 1e-8;

2013-07-31 17:30:44 828

原创 poj3348 Cows 凸包+多边形面积 水题

/*poj3348 Cows 凸包+多边形面积 水题floor向下取整,返回的是double*/#include#include#include using namespace std;const double eps = 1e-8; struct point{ double x,y;};int n;point dian[10000+10],zhan[10000+1

2013-07-31 16:21:09 955 1

原创 hdu 4612 Warm up - 双连通 + 树形DP

/*hdu 4612 Warm up - 双连通 + 树形DP题意很简单通过双连通缩图,构成一棵树,然后求最长链,连接首尾即可。剩下的连通块就是所求*/#pragma comment(linker,"/STACK:102400000,102400000")#include #include const int N=200000+10,M=1000000+10;int

2013-07-28 10:27:21 954

原创 hdu 4606 Occupy Cities - 计算几何 + 最短路 + 最小路径覆盖

/*hdu 4606 Occupy Cities题意:n个城市,m条障碍物,p个士兵,城市之间的路可以任意走,但是不能跨越障碍。 p个士兵分别按顺序占领城市,城市内有补给,士兵的消耗等于路程的长度。 问:为了完成任务,士兵的背包最小为多大?这是一个最小路径覆盖问题,每个士兵都可以走出一条线来。说道顺序,建图是只能从顺序靠前的城市向靠后的城市建边,这样就保证了单个士兵所走的城市复合顺

2013-07-26 21:22:55 886 1

原创 hdu 4465 Candy - 概率 log 组合数

/*两个瓶子里都装了n个糖果;从第一个瓶子拿的概率是p当你再拿糖果的时候,发现瓶子空了求这时候另外一个瓶子的剩余的糖果的数量的期望计算过程会造成上溢和下溢用log就不会了*/#include#includedouble lognjie[400010];double logC(int n,int m){ return lognjie[n]-lognjie[m]-

2013-06-01 16:47:44 2108

原创 hdu 1717 小数化分数2

#include#include#includeint zui(__int64 zi,__int64 mu){ __int64 z; do { z=mu%zi; mu=zi; zi=z; }while(zi!=0); return mu;}void shu(__int64 zi,__int64 mu){ __int64 a; a=zui(zi,mu); i

2013-05-15 20:02:13 784

原创 hdu 4076 Haunted Graveyard - spfa(负权回路)

/*hdu 4076 Haunted Graveyard - spfa(负权回路)题意:有n*m个点,每一点可以向四个方向走,有些点是墓地不能走,有些点是山洞,当你走到该点时会传送到另外一点,所花费的时间有可能是个正数也可能是个负数也可能是0。起点是(0,0),目的地是(n-1,m-1),题目保证起点和终点不会是墓地也不会是山洞。如果有可能永远都到达不了终点也就是该图存在负权回路,输出Nev

2013-05-15 19:52:50 1100

原创 hdu 2686 Matrix - 最小费用最大流 或 多线程DP

/*hdu 2686 Matrix方阵(每个格子里面都有一个数字)里面从左上走到右下,再回来,一个点只能走一次,求数字之和最大是多少相当与从左上到右下选两条不交叉的路,使和最大典型的最大费用最大榴我要说的是,这是昨天的省赛的原题,当时就像到了什最大费用最大流,但是当时脑袋一热,又感觉不是(韩式我对这个算法的理解不够啊)其实只要在那个模板(http://blog.csdn.net/qq

2013-05-13 21:09:59 946 1

原创 hdu 4080 Stammering Aliens - 后缀数组

/*其实这题才是第一次做 但是一直不过,也不知道怎么回事儿就去调了那个简单题做现在才发现少了main里面的if还有ok2 是我之前写的,但是少了个{}题意是,在所给的字符串中找一个子串,最少出现m次,求那个最长的串,并输出最后一次的开始位置按长度二分,判断是否符合条件即可*/#include#includeconst int maxn=500010;i

2013-05-07 20:53:30 937

原创 hdu 1403 Longest Common Substring - 后缀数组

/*第一次做后缀数组就是求连个串的公共子串简单的后缀数组*/#include#include#define MAXN 200010 char str[100000+10];int r[100000*2+10];int wa[MAXN], wb[MAXN], wv[MAXN], ws[MAXN]; int sa[MAXN]; //index range 1~n va

2013-05-07 19:48:57 698

原创 hdu 2682 Tree 最小生成树

/*hdu 2682 Tree 最小生成树真的没有看出来是最小生成树kruskal*/#include#includeint prime[2001000];int map[601][601],set[601];#includeinline int min(int a,int b){return a<b?a:b;}struct e{ int x,y,w;}b[500000

2013-04-14 20:48:53 1165

原创 hdu 2795 Billboard 线段树

/*hdu 2795 Billboard 线段树题意:一个宣传板,h行w列,每个宣传条占1行wi列现给出一些宣传条,希望贴在最靠上,然后最靠左的地方,输出行号,若无法贴下输出-1刚开始还以为是一道水题看过比人的报告才知道是线段树每个叶子节点记录一行剩余的空余位置,这样貌似需要(1 <= h<= 10^9)个叶子节点但是, 1 <= n <= 200,000 就算一个条子占一

2013-04-14 19:55:52 778

原创 hdu 2576 Another Sum Problem 水题

/*hdu 2576 Another Sum Problem1^2+2^2+3^2... n(n+1)(2n+1)/6公式很好推n(n+1)(n+2)/6但是为什么需要先/2然后再/3呢?求解答*/#include#define N 20090524int main(){ __int64 t,a,ret; scanf("%I64d",&t); while(t--)

2013-04-12 20:56:48 1079 1

原创 hdu Dating with girls(2) bfs加点东西 水题

/*hdu Dating with girls(2) bfs加点东西 水题一开始还以为就是bfs,然后判断一下那个时候石头是否消失但是没有发现,路是可以重走的,,因为你可能到某个石头那儿时,他快消失了,但是还没有消失你就需要再遛遛,浪费点儿时间,浪费的时间若是k的整数倍,相当于没有浪费所以需要对k取余*/#include#include#includeusing names

2013-04-12 19:37:42 889

原创 hdu 2578 Dating with girls(1) 排序+二分查找 水题

/*hdu 2578 Dating with girls(1) 排序+二分查找 水题*/#include#include#includeusing namespace std;int q[100000+10];int main(){ int t,n,k,i,ret,a; cin>>t; while(t--) { ret=0;

2013-04-12 13:24:20 1584

原创 hdu 3265 Posters 线段树+扫描线

/*hdu 3265 Posters 线段树+扫描线用一些中间有矩形洞的矩形海报去糊窗户文被覆盖的面积线段树+扫描线可以简单看一下扫面线,这里只是简单应用(因为边只有水平、垂直两种,所以不用y=y+1地扫,也不用在求交点)在水平方向上做线段树,进行扫描每个矩形记录两条边,底边给这段涂上颜色,顶边把颜色去掉对于大数据,c++的容器的速度还真不敢恭维,以后还是用c吧改c的时候

2013-04-11 20:58:40 1488

原创 hdu 2577 How to Type - 水题

/*hdu 2577 How to Type*/#include#includeusing namespace std;int main(){ string s; int ret,on; int t; cin>>t; while(t--) { ret=on=0; cin>>s; int i,len=s.length(); for(i=0;i<len;++i

2013-04-09 16:08:10 888

空空如也

空空如也

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

TA关注的人

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