自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 HDU 5078 Osu!

好久没有更了,冒个泡,水一题#include#include#include#includeusing namespace std;const double eps=1e-9;struct point{ double x,y; int t; point() {} point(int t,double x,double y):t(t),x(x),y(y) {} }p[

2015-04-12 19:58:53 789

原创 CF 65C Harry Potter and the Golden Snitch(空间向量+二分)

题意:哈利波特要去追一个小偷,小偷沿着一条路线逃走,起点在原点(0,0,0),哈利在(Px,Py,Pz),问哈利能不能在一个时间与小偷同时碰面,如果能输出时间和地点,不能就输出NO。思路:开始直接暴力枚举时间,果断TLE了,然后就想到了二分,先用数组d[i]记录原点到i的总距离,然后二分时间,利用d[]数组找到是在哪一个路段碰面,然后找到 t 时间的坐标,找到最小的时间 t 就是答案。#i

2013-12-05 22:49:46 1098

原创 hdu 1796 How many integers can you find(容斥原理)

容斥原理给一个N和一个有M个元素的集合,求出比N 小且能被集合里的数整除的数的个数。直接枚举集合的最小公倍数,出现奇数次就加,偶数次减去。#include#include#include#include#include#include#include#include#include#define mm(a,b) memset(a,b,sizeof(a))using

2013-11-22 21:41:00 650

原创 CF#1C Ancient Berland Circus(正多边形最小面积)

题意:给你三个点,叫你求以这三个点为顶点的正多边形的最小面积。思路:找出以这个三个点为顶点的三角形的外接圆的圆心,则所求的最小面积的正多边形的所有顶点必在这个圆上,然后求这三个点与圆心形成的圆心角,从三个最小的圆心角开始向下枚举角度i,当i是三个圆心角的公约数并且360/i是整数时就跳出,则求出该角度,360/i表示为正几边形,就可以算出最小面积了,这题比较卡精度,枚举以0.000001为单位

2013-11-11 21:22:24 852

原创 hdu 1452 Happy 2004(快速幂取模)

求2004^X的因子和模29,用sum(2004^X)表示2004^X的因子和,sum(2004^X)=sum(4^X*3^X*167^X),sum()是积性函数,则有sum(2004^X)%29=sum(4^X)*sum(3^X)*sum(167^X)%29                                =sum(2^(2*X))*sum(3^X)*sum(167^X)%

2013-11-07 18:37:05 640

原创 poj 3714 Raid(平面最近点对)

给出两个点集,然后求两个点集之间的最近距离。思路:开始用的旋转卡壳,两个点集先求凸包,这样就变成了两个凸包间最近距离,但是死活TLE,然后就换了平面最近点对来做,把两个点集标记一下,判断下是不是在同一个点集里就行了#include #include #include using namespace std; const int N=200002; const doub

2013-11-02 12:34:05 653

原创 hdu 1174 爆头(点到空间直线距离)

看见这个标题就进去了,然后就水之。。。。#include#include#include#include#include#include#include#include#include#define mm(a,b) memset(a,b,sizeof(a))using namespace std;const int inf=0x7ffffff;const dou

2013-10-31 21:41:28 570

原创 hdu 1411 (四面体体积)

四面体ABCD,AB=a,AC=b,AD=c,∠BAC=γ,∠BAD=β,∠CAD=α,则四面体的体积为V=1/6*abc(sin^2α+sin^2β+sin^2γ+2cosαcosβcosγ-2)^(1/2)#include#include#include#include#include#include#include#include#include#define

2013-10-30 19:24:44 721

原创 POJ 2096 Collecting Bugs(概率DP求期望)

入门题,题意:有n种bug,有s个子系统,bug有无穷多个,一个人每天能找出一个bug,bug出现的概率一样即1/n,在子系统出现的概率也是一样的1/s,要求找出每种bug至少在每个子系统都出现的期望(天数)。设dp[i][j]表示i种bug在j种子系统出现到目标状态所需的天数,那么有:当找到一个bug时,有4种情况:1、这种bug已经找到过,这种bug在j种子系统中出现过;2、这

2013-10-29 18:06:24 501

原创 hdu 1395 2^x mod n = 1

给出n,求一个最小的正整数x,使得 2^x mod n = 1成立,若存在,输出2^x mod n = 1,否则输出2^? mod n = 1。分析:1、当n==1时,式子不成立;2、当n为偶数时,2^x也是偶数,所以式子也不成立;3、当n为奇数时,2与n互质,由费马小定理可知,x=n-1是该式子的一个解,所以就直接暴力找就行了。#include#include#inc

2013-10-28 16:56:13 801

原创 hdu 3853 LOOPS(概率DP求期望)

算是入门的第二题了。魔法师在迷宫中分别有p_loop的概率停留,p_right的概率走到(i,j+1),p_down的概率走到(i+1,j),每走一次消耗2点魔法值。dp[i][j]表示从当前走到(R,C)所需要的魔法值,则有:dp[i][j]=dp[i][j]*p_loop[i][j]+dp[i][j+1]*p_right[i][j]+dp[i][j+1]*p_down[i][j]+2;

2013-10-21 22:02:25 630

原创 关于求FIRST集和FOLLOW集

这几天上课没怎么听进去,导致对求FIRST集和FOLLOW集有点模模糊糊的,于是在网上找到一个博客,看完就理解了,就转过来了。来自:http://hi.baidu.com/he_qiao_2010/item/771fbb5d974a332833e0a9c8对于终结符和非终结符的理解:   终结符:通俗的说就是不能单独出现在推导式左边的符号,也就是说终结符不能再进

2013-10-21 20:56:55 1850 1

原创 poj 3405 Convex hull

计算几何虐我千百遍,我待计算几何如初恋啊!!!这题要考虑的情况太多了!!先说下题意:给你n个圆,有的圆的半径可以为0,然后让你用一个凸包把这些圆围起来,并使得凸包的面积最小。思路:有点取极限的思想,先求出每每两个不包含的圆的公切线,然后把一个圆上的两个切点之间的那段弧长当成是凸包的一部分,相当于许多的点连成的凸包的部分,然后连接不同圆的切点,这样就形成题目要求的凸包了,然后就是求面积。最坑

2013-09-26 20:13:59 786

原创 hdu 4717 The Moving Points

三分时间。。。。算是个水题了,这是做比赛的时候有点犹豫了#include#include#include#include#include#include#include#include#include#define maxn 305using namespace std;const int inf=0x7ffffff;const double PI=acos(-

2013-09-12 15:57:51 502

原创 最小圆覆盖

粘个模版。。。#include #include const int maxn = 1005;const double eps = 1e-8;struct TPoint { double x, y; TPoint operator-(TPoint & a) { TPoint p1; p1.x = x - a.x; p1.

2013-09-11 16:47:26 503

原创 poj 1375 Intervals(圆外一点到圆的切点)

有一个光源,光源到x轴之间有n个圆,求x轴上的圆的阴影的区间。先求出点到圆的切点,然后根据光源与切点求出直线方程,然后求出直线与x轴的交点,最后判断下线段在x轴上的重叠就行了。#include#include#include#include#include#include#include#include#include#define maxn 505using nam

2013-09-05 12:50:19 1802

原创 poj 1755 Triathlon(半平面交解不等式)

n个人参加铁人三项的比赛,给出他们每一项的速度u,v,w,裁判可以决定每一项的距离,问是否存在一种安排,使得这个人能够赢。对于每个人,如果存在安排的方法就输出Yes,没有就输出No。这里可以假设三段路程分别为x,y,z,则有:t = x/u+y/v+z/w,这里可以把其中一段路程看成是1,假设把z看作1,则t=x/u+y/v+1/w,如果第一个人要赢,则t1-ti0,x/ui+y/vi+1

2013-09-03 19:21:19 793

原创 poj 3384 Feng Shui(半平面交)

用两个圆去覆盖多边形,问最多能覆盖多少面积,输出最终两个圆的圆心坐标。把多边形的各边向内推进r距离,因为题目保证输入合法,则推进后必定能形成一个多边形,只要找这个多边形的距离最远的两个点就行了。#include#include#include#include#include#include#include#include#include#define mm(a,b) m

2013-09-03 15:58:11 605

原创 poj 3525 Most Distant Point from the Sea(半平面交+二分)

求一个凸包内找最大的内切圆的半径,二分圆的半径,每次把凸包的各条边向内推进r,然后再判断推进后是否还是一个凸包。#include#include#include#include#include#include#include#include#include#define mm(a,b) memset(a,b,sizeof(a))#define maxn 205using

2013-09-03 14:30:57 538

原创 poj 1279 Art Gallery(半平面交求多边形核面积)

求出多边形的核再求面积。#include#include#include#include#include#include#include#include#include#define mm(a,b) memset(a,b,sizeof(a))#define maxn 1555using namespace std;const int inf=0x7ffffff;c

2013-09-02 20:07:10 636

原创 poj 1474 Video Surveillance(半平面交)

基本和poj 3335一样。。。#include#include#include#include#include#include#include#include#include#define mm(a,b) memset(a,b,sizeof(a))#define maxn 105using namespace std;const int inf=0x7ffffff

2013-09-02 19:19:54 647

原创 poj 3335 Rotating Scoreboard(半平面交)

第一道半平面交的题,给一个多边形,问是否存在核,http://blog.csdn.net/accry/article/details/6070621这个博客讲得很好。#include#include#include#include#include#include#include#include#include#define mm(a,b) memset(a,b,sizeof

2013-09-02 19:09:10 904

原创 hdu 2823(旋转卡壳+线段相交判断+点在多边形内判断)

题意:给出两个点集p和q,求这两个点集之间的最小距离,如果p与q相交,或者p包含q,或者q包含p,则输出0.0000。思路:先对两个点集各求一次凸包得到s,t两个凸包,用得到的凸包先判断两个凸包是否相交,如果相交则输出0.0000,否则再判断两个凸包是否有包含关系,枚举s上的点是否在t内,如果有就跳出输出0.0000,没有的话再枚举t上的点是否在s内,如果有就跳出输出0.0000,没有的话

2013-09-02 16:57:15 1111

原创 poj 3528 Ultimate Weapon(三维凸包)

直接上模板。。。#include#include#include#include#include#include#include#define eps 1e-7 #define MAXV 505 using namespace std; //三维点 struct pt{ double x, y, z; pt(){} pt(double _x, double

2013-08-22 13:53:33 627

原创 poj 3608 Bridge Across Islands(旋转卡壳)

给两个凸包,求出这两个凸包的最近距离。这题wa的我是一塌糊涂啊,说多了都是泪,后来稀里糊涂的就改对了。。。#include#include#include#include#include#include#includeusing namespace std;const double eps=1e-9;struct point{ double x,y; point (

2013-08-22 10:47:29 564

原创 poj 2079 Triangle(旋转卡壳)

平面上给出一些点,求这些形成三角形中最大的面积。思路:先求一次凸包,然后在凸包上枚举三角形的第一个顶点i,把其他两个顶点拿来旋转。开始没有考虑到三角形的边可以不是凸包上的边,就当做求凸包直径那样旋转,结果wa到吐。。。。#include#include#include#include#include#include#includeusing namespace std;s

2013-08-20 13:06:21 1084

原创 poj 2187 Beauty Contest(旋转卡壳)

给出一些平面点集,然后求这个点集中的两点的最大距离。第一道旋转卡壳~~~#include#include#include#include#include#include#includeusing namespace std;struct point{ int x,y; point() {} point(int x,int y): x(x),y(y) {}}p[500

2013-08-19 18:32:23 469

原创 POJ 2007 Scrambled Polygon(凸包)

给一些点,求出凸包后按极角排序输出,输出的时候第一个是原点。#include#include#include#include#include#include#includeusing namespace std;struct point { int x, y; point () {} point (int x,int y): x(x),y(y) {}}p[100

2013-08-19 15:27:28 523

原创 hdu 4667 Building Fence

给出n个圆和m个三角形,然后用篱笆把它们围起来,问需要最短的篱笆长度是多少。这题标称应该是求出每个三角形的每个顶点与每个圆的切点和两两圆之间的切点,然后切点来做凸包,最后把凸包上的点的距离加起来,注意在一个圆上两个点的距离是他们的弧长,我做的时候就直接暴力了,把每个圆拆点,然后把所有点再来做凸包,最后求距离和#include#include#include#include#in

2013-08-15 10:58:26 641

原创 hdu 4666 Hyperspace

n维最远曼哈顿距离。。#include#include#include#include#include#include#include#includeusing namespace std;const int inf=0x7ffffff;const int maxn=60010;struct st{ int a[6],b[35];}s[maxn];mult

2013-08-15 10:36:54 519

原创 SGU 253 判断点在凸包内

贴个模板,极角排序+二分。。。。这个大牛的博客说的很好:http://hi.baidu.com/aekdycoin/item/2d54f9c0fef55457ad00efd6代码来源http://blog.csdn.net/codeforces_sphinx/article/details/7200301#include #include #include #include #

2013-08-12 16:45:48 825

原创 ZOJ 3562 Alice's Sequence I

给出K个模方程,x = ai % mi,求出x在L,R区间内的解的个数,然后输出这些解,超过100个就只输出前100个解。这题和POJ 2891很像,那题只要求出最小的正解,于是只需要在那题的基础上改下就行了。#include#include#include#include#include#include#include#define LL long longusing

2013-08-12 16:32:47 601

转载 无法找到VBScript脚本引擎或Error 2738,could not access vbscript runtime

来自:http://blog.sina.com.cn/s/blog_76af7f0f0101eoi2.html原因是安装一些杀毒软件(如Mcfee,卡巴、瑞星等),改变了注册表中默认打开.vbs脚本的dll库。卸载杀毒软件后,注册表中这些信息仍没有被删除,所以导致打开.vbs脚本时,会去调用杀毒软件程序的dll库,才出现了此问题, 解决方法:手动方法,我综合网上各种方法修改了以下两个注册表

2013-08-07 23:44:18 2668

原创 大整数求组合数取余(Lucas定理)

【卢卡斯(Lucas)定理】Lucas定理用来求C(a,b)mod p的值,其中p为素数。数学表达式为:Lucas(a,b,q)=C(a%q,b%q)*Lucas(a/p,b/p,p);Lucas(a,0,q)=0;通过这个定理就可以很方便的把大数的组合转化成小数。但其中还是要求C(a%q,b%q)%p,所以这里引入逆元来求。【定义】若整数a,b,p

2013-08-06 16:23:27 2418 2

原创 poj 3270 Cow Sorting

这题和lrj黑书P247的那个例题一摸一样啊,听说还是2002年的WF的一道题,解题思路什么的就不写了,自己去黑书上看吧。#include#include#include#include#include#include#include#define mm(a,b) memset(a,b,sizeof(a))#define maxn 100010using namespace

2013-08-06 12:02:45 519

原创 hdu 1061 Rightmost Digit

放了一周假,刷刷水题,快速幂取模加找循环节,循环节是20。#include#include#include#include#include#include#includeusing namespace std;int f[1111];int modexp(int a,int b,int n) { int ret=1; while

2013-08-04 10:41:33 450

原创 hdu 3572 Task Schedule(sap)

这题开始用EK敲的,结果TLE到死,然后在网上看到说sap比EK要快,然后就各种搜sap算法,贴个代码在这,但是个模板吧。#include#include#include#include#include#include#include#define mm(a,b) memset(a,b,sizeof(a))using namespace std;const int max

2013-07-27 13:23:19 560

原创 hdu 4240 Route Redundancy(最大流)

这题下午做比赛的时候没有做出来,可能是题意没有很好的理解,后来又想了想,有些清楚了,就是找出图中的流量最大的一条路径,然后就输出最大流与该路径的最大流量的比值,每找一条路径的时候记录这条路的最小流量,然后在这些最小的流量里找到最大的那一个流量,最后输出比值。#include#include#include#include#include#include#include#inclu

2013-07-23 22:08:41 1266

原创 poj 1325 Machine Schedule(最大流版)

建图:源点s=0,汇点t=n+m+1s到A的容量为1B到t的容量为1当a∈{A},b∈{B},a*b!=0时,a->b的容量为1#include#include#include#include#include#include#include#define mem(a,b) memset(a,b,sizeof(a))using namespace std;co

2013-07-22 16:01:10 570

原创 poj 1274 The Perfect Stall(最大流版)

建图:构造一个源点和一个汇点源点与牛相连,容量为1牛与牛棚相连,容量为1牛棚与汇点相连,容量为1#include#include#include#include#include#include#include#define mem(a,b) memset(a,b,sizeof(a))using namespace std;const int maxn = 5

2013-07-22 15:16:18 531

空空如也

空空如也

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

TA关注的人

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