大致题意:
1e3 个线段,画在一张纸上,求可以看成多少个线段,( 两个线段部分重叠,或收尾相接将看成一个线段)
思路:
在同一一条直线上的两条线段: 他们斜率相等,他们在Y轴或X轴上的投影点相等。然后根据这两个排下序就可以搞出来了。
这题卡精度,要用到eps
//#pragma comment(linker, "/STACK:1024000000,1024...
分类:
其他好文 时间:
2015-08-31 23:45:13
阅读次数:
260
计算几何模板要写的内容真多…
我写烦了…先写这些放上来吧…#include
#include
#include
#include
#include
#include
#define MAXDBL 1e20
#define eps 1e-9
#define pi acos(-1)
using n...
分类:
其他好文 时间:
2015-08-25 12:06:23
阅读次数:
173
题意:给两个线段,要求找一个圆(输出圆心和半径),使得圆和每个线段的内部都有且只有一个交点。。解法:枚举两个线段两两个点,这样可以得到4对点,找到距离最近的一对,它们的中点就是圆心,距离一半再加上eps就是半径,这题eps = 1e-4。。Code//Hello. I'm Peter.
#include
#include
#include
using...
分类:
其他好文 时间:
2015-08-21 23:19:12
阅读次数:
206
题目链接:uva 319 - Pendulum
注意高度不能高过水平线,一种周期是绕某点一直转圈,一种周期是返回起点。
#include
#include
#include
#include
#include
using namespace std;
const double pi = 4 * atan(1);
const double eps = 1e-8;
i...
分类:
其他好文 时间:
2015-08-20 01:34:07
阅读次数:
153
题目链接:uva 12304 - 2D Geometry 110 in 1!
没什么好说的,根据操作直接处理。
#include
#include
#include
#include
#include
using namespace std;
const double pi = 4 * atan(1);
const double eps = 1e-9;
inlin...
分类:
其他好文 时间:
2015-08-17 21:53:41
阅读次数:
117
题目链接:uva 10335 - Ray Inside a Polygon
恶心题,注意精度和输出等问题,代码中有标识,后面有一些数据。
#include
#include
#include
#include
#include
using namespace std;
const double pi = 4 * atan(1);
const double eps =...
分类:
其他好文 时间:
2015-08-17 21:46:04
阅读次数:
100
#include
#include
#include
#include
#define PI 3.141592654
#define eps 1e-7
using namespace std;
/*********************************************************************/
struct point
{
int x,y;...
分类:
其他好文 时间:
2015-08-16 18:24:56
阅读次数:
77
题目链接:uva 194 - Triangle
注意两边一角,并接角的对边确定时(即用正弦定理求解时,可能会有多解的情况)
#include
#include
#include
#include
using namespace std;
const double pi = 4 * atan(1);
const double eps = 1e-4;
double A[...
分类:
其他好文 时间:
2015-08-15 12:00:17
阅读次数:
144
题意:找出模板在文本串中出现的次数
思路:KMP模板题
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define eps 1e-6
#define LL long long
#defin...
分类:
其他好文 时间:
2015-08-15 01:36:31
阅读次数:
198
#define PI 3.141592654
#define eps 1e-8
double getdis(int x1,int y1,int x2,int y2){
return sqrt((double)(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
}
double getarea(int x1,int y1,double r1,int x2,int y2,do...
分类:
其他好文 时间:
2015-08-14 21:32:22
阅读次数:
134