计算几何
ndsffx501ccy
这个作者很懒,什么都没留下…
展开
-
cogs896. 圈奶牛
http://218.28.19.228/cogs/problem/problem.php?pid=896#include#include#include#includestruct point{ double x,y;}p[10001],s[10001];double dis(point a,point b){return sqrt((a.x-b.x)*(a.x-b.x)+(a原创 2014-06-03 19:34:50 · 367 阅读 · 0 评论 -
1069: [SCOI2007]最大土地面积 (旋转卡壳)
#includeusing namespace std;struct P{ double x,y;}p[2001],s[2001];int n,top;inline double dis(P a,P b){ return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y);}inline P operator-(P a,P b){ return (P原创 2014-09-03 21:59:13 · 390 阅读 · 0 评论 -
3278: ⑨(nine) (平衡树+三角剖分)
#include#include#include#include#include#includeusing namespace std;//=========================================inline int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-原创 2014-10-01 18:34:56 · 273 阅读 · 0 评论 -
1132: [POI2008]Tro (叉积)
#include#include#includeusing namespace std;struct P{ int x,y;}p[3005],t[3005];int n,sumx,sumy;long long ans;inline bool operator<(P a,P b){ return a.y<b.y||(a.y==b.y&&a.x<b.x);} inline l原创 2014-10-18 18:51:34 · 225 阅读 · 0 评论 -
2711: [Violet 2]After 17 (动态规划+点积)
sigma(xi*xj+yi*yj)=[(x1+x2+...+xn)^2-(x1^2+x2^2+...xn^2)+(y1+y2+...+yn)^2-(y1^2+y2^2+...+yn^2)]/2#include#include#include#define ll long longusing namespace std;int n,X[201],Y[201];bool f[2][800原创 2014-11-01 23:02:09 · 335 阅读 · 0 评论 -
1914: [Usaco2010 OPen]Triangle Counting 数三角形 (计算几何)
先极角排序,对于某个点x,其与原点连线所在直线将平面划分为两部分,若一个部分有t个点,在这t个中任取2个与x显然不构成黄金三角形,画图可知对于每个点只统计某个方向的半平面内的点就能不重不漏。具体可以用一个指针旋转半平面。#include#include#include#include#define pi acos(-1.0)using namespace std;struct P{原创 2014-10-30 16:27:51 · 353 阅读 · 0 评论 -
1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 (凸包)
#include#include#include#include#define ll long long using namespace std;struct P{ int x,y;}p[5005],s[5005];double ans;int n,top;inline int read(){ int x=0,f=1;char ch=getchar(); wh原创 2014-10-19 18:58:52 · 192 阅读 · 0 评论 -
[Poj2187]Beauty Contest (旋转卡壳求最远点对)
#include#include#include#include#define inf 0x7fffffffusing namespace std;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&原创 2014-07-09 17:49:04 · 357 阅读 · 0 评论 -
2391: Cirno的忧郁
//1.AC:return cmul(sub(c,a),sub(b,a));// WA:return cmul(sub(b,a),sub(c,a));//2.AC:sum[k]=sum[ls[k]]+sum[rs[k]]+c[k];// WA:sum[k]=sum[ls[k]]+sum[rs[k]];#include#include#include#define N 2005usi原创 2014-06-16 21:50:34 · 482 阅读 · 0 评论 -
[Poj2318]TOYS
#include#include#include#define mk make_pair#define point pair#define line pair #define x first#define y secondusing namespace std;int n,m,x1,y1,x2,y2,ans[5000];line l[5000];point sub(point原创 2014-04-27 10:53:48 · 342 阅读 · 0 评论 -
【poj2588】Snakes
写作max读作min#include#include#include#define m 1001using namespace std;int n,father[m];double x[m],y[m],r[m],lc[m],rc[m],maxl=1000,maxr=1000;bool up[m],down[m],Left[m],Right[m],vis[m];double di原创 2014-03-19 20:39:54 · 427 阅读 · 0 评论 -
[Poj2398]Toy Storage
#include#include#include#include#define mk make_pair#define point pair#define line pair #define x first#define y secondusing namespace std;int n,m,x1,y1,x2,y2,ans[5001],num[5001];line l[500原创 2014-04-27 11:36:06 · 404 阅读 · 0 评论 -
【Bzoj1610】[Usaco2008 Feb]Line连线游戏
#include#include#include#include#define N 201#define inf 1e20#define eps 1e-8using namespace std;int n,tot,ans;double x[N],y[N],k[40000];int main(){ scanf("%d",&n); for(int i=1;i<=n;原创 2014-05-28 20:52:32 · 536 阅读 · 0 评论 -
2178: 圆的面积并 (Simpson积分)
#include#include#include#include#include#define eps 1e-13inline int read() { int x = 0, f = 1; char ch = getchar(); while (ch '9') { if (ch == '-')f = -1; ch = getc原创 2014-08-11 22:30:50 · 477 阅读 · 0 评论