随笔分类 - 计算几何—凸包
摘要:枚举起点,然后设f[i][j]为上凸壳上一个点是i当前点是j的最大面积,g是下凸壳,然后合并的时候枚举结束点t合并上下凸壳即可 这样的好处是每次转移都是往凸多边形里加一个三角形(s,i,j),所以判断转移合法只要预处理出所有三角形是否合法即可,同时预处理出三角形面积,转移就是f[j][k]=max(
阅读全文
摘要:凸包模板 cpp include include include include using namespace std; const int N=5005; int n,w,top; struct dian { double x,y; dian(double X=0,double Y=0) { x
阅读全文
摘要:首先处理处理出来哪些边能连——能把羊分成两个偶数部分的,实现是在凸包上枚举极点,极角排序,枚举凸包上点对判断两边羊的个数的奇偶即可,设可以连边为v[i][j]=1 然后设f[i][j]为从i到j个凸包上点的方案数,初始状态是相邻点f[i][i+1]=1,转移是 $$ f[i][j]=\sum_{k=
阅读全文
摘要:参考:https://www.cnblogs.com/zhuohan123/p/3237246.html 因为一c可以由1 a b得出,所以删掉c,把a,b抽象成二维平面上的点。首先考虑一个客户需求能被哪些原料配出来:两个原料点连线上的点都可以,要是多个原料点,那么这些线的向量构成的凸包中的点都可以
阅读全文
摘要:```cpp include include include include using namespace std; const int N=1005; const double eps=1e 8; int T,n,r,w,top; struct dian { double x,y; dian(d
阅读全文

浙公网安备 33010602011771号