文章列表
 
您正在查看 "计算几何" 分类下的文章

2010-01-03 21:47
#include<iostream>
#include<cmath>
#include<algorithm>
#define eps 1e-10
using namespace std;
//最近点对问题
//给定两个集合点,求这两个集合的最近点对,其实在取最短距离时加上不同集合的限制即可
const int maxn=200001;
const double INF=1e100;
typedef struct point
{
    double x,y;
    int flag;
    point(){};
    point(double xx,double yy){x=xx;y=yy;} 
 
2010-01-01 17:17

#include
#include
#include
using namespace std;
const int maxn=700;
//题目描述:有n个点,任意取三个点,求这三点组成的三角形的外接圆最大半径
//三角形面积S=a*b*c/(4*R),(R是三角形外界圆半径,有正余弦定理可证)

//我跑的很慢,哪位大牛有更快的方法告诉我,我的复杂度是n*n/2*n/4
int n;
double dis[maxn][maxn];
typedef struct point
{
    double x,y;
    point(){};
  

 
2009-12-23 13:58

http://acm.pku.edu.cn/JudgeOnline/problem?id=2954

#include
#include
#include
using namespace std;
//pick定理
//Pick定理是说,在一个平面直角坐标系内,如果一个多边形的顶点全都在格点上,
//那么这个图形的面积恰好就等于边界上经过的格点数的一半加 上内部所含格点数再减一
//设面积为s,边界上的点数为x,内部点数为y,那么上面用数学公式来表达就是s=x/2+y-1;
//在两点

 
2009-12-01 20:22

#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
//一个多边形n个点构成,和一些圆心在里面的圆形,求最多能连多少条不相交的线也不和圆形相交,相邻不能相连
//DP+计算几何
const int maxn=151;
int dp[maxn][maxn],map[maxn][maxn];//dp[i][j]表示从i开始到j的最大,map[i][j]表示是否能相连
int n,g;//多边形有n个点,g个仓库(圆)
double R;//这是圆的半径
typedef struct point
{
    double x,y;

 
 
   
 
 
文章分类
 
 
其他(24)
 
生活(47)
 
 
搜索(87)
 
图论(63)
 
数学(72)
 
模拟(50)
 
动归(78)
 
算法(13)
 
 
Java(6)
 
 
 
 
 
   
 
文章存档
 
     
 
最新文章评论
  

大牛,为什么要i+=2 k+=2 啊。我的ac代码只有i+=2,k++。
 

[表情]
 

仰慕一哈子
 

0 0
 

我想你说的nlogn的算法是利用差分,列一个差分表就可以了判断了
   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu