随笔分类 - 计算几何 计算几何基础
摘要:【题意】给出坐标系中n个矩形,类型1的矩形每单位时间向x轴正方向移动1个单位,类型2的矩形向y轴正方向,初始矩形不重叠,一个点被矩形覆盖当且仅当它在矩形内部(不含边界),求$(-\infty ,+\infty)$时间内一个点被覆盖的最多矩形数量。n<=10^5。 【题解】不要被题目骗了,这题就是求若
阅读全文
摘要:【题意】给定坐标系上n个点,求能构成的包含原点的三角形个数,n<=10^5。 【算法】极角排序 【题解】补集思想,三角形个数为C(n,3)-不含原点三角形。 将所有点极角排序。 对于一个点和原点构成的直线,如果选择这个点和直线一侧的两个点就可以构成不含原点的三角形。 每个点只统计半圈,这样扫1~n下
阅读全文
摘要:【计算几何基础】 【极角】点(x,y)的极角是向量(x,y)与x轴正半轴的夹角,记为atan2(y,x),范围是 ( -π , π ] ,第一第二象限为正。 极角排序:调用atan(y,x)进行排序,注意共线时按x坐标排序(对立象限)。 例题:【BZOJ】1914: [Usaco2010 OPen]
阅读全文
摘要:【算法】计算几何 【题意】给定平面直角坐标系上的若干个点,任意选点连成凸多边形,凸多边形的价值定义为2^(n-|S|),其中n为凸多边形内部点数(含边界),|S|为顶点数,求总价值。n<=10^5。 【题解】 首先凸多边形的价值转化为凸多边形内部点数的选择方案(每个点选或不选)。 先考虑没有多点共线
阅读全文
摘要:【算法】计算几何 【题解】计算所有斜率排序去重。 实数判断相等用fabs(...)≤eps。 ★斜率题一定要注意斜率不存在的情况!!! 其实我觉得这份代码可以hack的…… #include<cstdio> #include<cstring> #include<cmath> #include<alg
阅读全文
摘要:【算法】 【算法】网络流 【算法】树 【算法】数学 ————【专题】生成树计数(矩阵树定理) ————【专题】计数问题(排列组合,容斥原理,卡特兰数) ————【算法专题】卡特兰数(计数数列) ————【专题】数论 ————【专题】概率和期望 【算法】动态规划 【算法】数据结构 ————【专题】平衡
阅读全文