
计算几何
lixuwei2333
这个作者很懒,什么都没留下…
展开
-
自适应辛普森公式
自适应辛普森公式时间复杂度O(能过)double f(double x){ return x*x+sqrt(x); //积分函数}double simpson(double a,double b){ double c=(a+b)/2.0; return (f(a)+f(b)+4.0*f(c))*(b-a)/6.0;}double ars(double a,d...原创 2018-09-18 09:12:13 · 1169 阅读 · 1 评论 -
旋转卡壳(计算凸包的宽度)
#include <bits/stdc++.h>#define ll long longusing namespace std;const int N = 2e5+100;struct P{ ll x,y; P(ll _x=0,ll _y=0){x=_x;y=_y;} P operator -(P b)const{ return P(x...原创 2018-09-20 20:32:00 · 516 阅读 · 0 评论 -
平面最近点对(nlogn)
#include <bits/stdc++.h>using namespace std;const int N = 2e5+1000;struct P{ double x, y; //此处修改int bool operator <(P B)const { return x < B.x; }}p[N];double dis(P A, P B) { r...原创 2018-09-20 21:33:56 · 880 阅读 · 0 评论 -
Andrew求凸包
bool cmp(P p1,P p2){ if(p1.x<p2.x) return 1; if(p1.x>p2.x) return 0; return p1.y<p2.y;}void andrew(){ sort(s,s+n,cmp); 从0开始排序 for(int i = 0;i < n;i ++){ while...原创 2018-09-21 20:10:42 · 160 阅读 · 0 评论 -
kuangbin基础计算几何C - Segments (判断直线和线段相交)
题目大意:给出n条线段两个端点的坐标,问所有线段投影到一条直线上,如果这些所有投影至少相交于一点就输出Yes!,否则输出No!。解题思路:如果有存在这样的直线,过投影相交区域作直线的垂线,该垂线必定与每条线段相交,问题转化为问是否存在一条线和所有线段相交。显然所求线段若存在,那么一定可以通过移动使其卡到2个端点上。所以,枚举所有端点,判断该直线是否合法。坑点:1.同一条线段的2个...原创 2018-10-04 18:29:34 · 564 阅读 · 0 评论 -
计算几何基础
https://blog.youkuaiyun.com/Miranda_ymz/article/details/82048732https://blog.youkuaiyun.com/dllpXFire/article/details/81235703精度相关const double eps=1e-9;const double pi=acos(-1.0);int sgn(double x){ i...原创 2018-10-04 19:01:39 · 204 阅读 · 0 评论 -
Piece of Cake 【概率/期望】
大体题意:给一个N个点的凸包,求任选K点组成的子凸包的面积期望怎么做(3≤k≤n≤2500)尝试的挣扎:1.暴力枚举?显然超时。2.考虑新加入一个点对期望的贡献?不会计算。GG正经题解:被rqy秒了......#include <bits/stdc++.h>#define ll long long#define rep(i, a, b)...原创 2019-04-08 21:27:45 · 699 阅读 · 0 评论