随笔分类 - 计算几何
摘要:按解决顺序排列 目录FAIDHECKJGB F 二分答案ans,放最小的前ans个bi(变成必须放完) 因为bi=2^k,所以小的放了可能会拆散大的空间,大的把小的地方占了的话小的可以塞其他地方,所以先放大的 然后暴力能放则放,最多log次指针回到开头 所以一次求解O(nlogn),总复杂度log^
阅读全文
摘要:前提:无三点共线 思路:求出P0PiPj内的点数,然后绕多边形一圈,对±P0Pa[i]Pa[i+1]求和,符号等同于叉积符号 基本类似算叉积绕圈算面积,最后在里面的共算1次,外面的算0次
阅读全文
摘要:待更
阅读全文
摘要:题目大意 给出n个点,求n(n-1)/2条直线据原点距离中第k小的 n<=1e5,k<=n(n-1)/2 题解 结论题 首先二分答案,变成判断一条直线AB是否与圆有交 结论:直线AB与圆有交,当且仅当A的切点连线A1A2和B的切点连线B1B2不相交 证明感受一下 所以直接离散化+树状数组即可 cod
阅读全文
摘要:(以下省去向量符号) 性质:设H是ABC的垂心O是外心,则有OH=OA+OB+OC 证明: 设OD=OB+OC,则OD//AH,有AH=xOD=xOB+xOC 那么OH=OA+AH=OA+xOB+xOC 同理可得OH=OB+BH=yOA+OB+yOC=OC+CH=zOA+zOB+OC 对比得x=y=
阅读全文
摘要:题目大意 Cirno闲着无事的时候喜欢冰冻青蛙。 Cirno每次从雾之湖中固定的n个结点中选出一些点构成一个简单多边形,Cirno运用自己的能力能将此多边形内所有青蛙冰冻。 雾之湖生活着m只青蛙,青蛙有大有小,所以每只青蛙的价值为一个不大于10000的正整数。 Cirno很想知道每次冻住的青蛙的价值
阅读全文
摘要:题目大意 题解 类似二维,二分后变成一个六顶点八面体,维护四对面x+y+z,x+y-z,x-y+z,x-y-z的限制 要求对这个不等式组求解,想过一些做法感觉不可行 考虑换元,设A=-x+y=z,B=x-y+z,C=x+y-z,则x+y+z=A+B+C,变成关于A+B+C,A,B,C的限制,这个可以
阅读全文
摘要:题目描述 题解 考场写了35,本机跑5s感觉布星就没调,结果因为把long long存到double里面爆精度WA掉了,实际跑了2s,然后套个平衡规划就过了 把询问离线,两个点到询问点距离的关系只会改变一次,连线做中垂线交y轴即可得到改变的位置,堆维护即可有35,分成10块搞即可AC code #i
阅读全文
该文被密码保护。
摘要:题目大意 题解 神仙题,完全想不到正解 半平面交乱搞:https://www.cnblogs.com/gmh77/p/12916223.html 暴力做法:枚举A中的两个点,判断圆心在中垂线上的区间 把(x,y)投影到抛物面x\^2+y\^2=z上,即(x,y,x\^2+y\^2) 来自官方题解 那
阅读全文
摘要:先放在这里,本来是要写CF549E的~~但是正解不是这个~~ O(n)判断半平面交 判断面积 =0 随机打乱顺序,依次加进去同时维护一个在半平面交内且y最小的点 如果点不在新加的半平面内就对和之前的半平面暴力求交点,在剩下的区间上取y最小的 交出来区间为空就不存在 ~~看起来很玄~~,考虑时间复杂度
阅读全文
摘要:题目描述 题解 二分半径,每条直线变成圆上的一个区间,圆内交点数就是相交区间对数,只要区间不穿过x轴正半轴就不会算错 得到半径后暴力统计即可,10^7 log很稳 注意不要统计圆上的点(会被卡成n^2),圆上的点距离都为r code
阅读全文
摘要:题目描述 题解 感觉枚举两个点之后二分半径不满足二分性,因此枚举了两个点之后对于剩下的点找圆心在这两个点的中垂线上的区间 然后常数就炸了( 二分答案,枚举一个在边界上的点,考虑把圆绕着该点转一圈 那么对于其他的点就可以表示成一个区间,在区间内会被计算到 排序判断即可,注意判断完全碰不到的情况 cod
阅读全文
摘要:题目描述 平面图&对偶图 平面图的定义:可以放在笛卡尔坐标系中,边只会在给定顶点处相交 把平面图中的每个区域+无穷域当作一个点,每条边变成两边的区域的连边,即为对偶图 把一条边拆成两条,每次找一个点,对于一条边找逆时针的下一条边(总方向是顺时针),直到找出一个环 因此要找一个块的 内侧 就可以按照上
阅读全文
摘要:3828 给定n个点的坐标(0f[i+1]+2,那么把i时的B删掉头尾的长度必然 f[i+1] 从后往前枚举,每次从f[i+1]+2往下枚举f[i],hash判断
阅读全文