随笔分类 - 几何
几何
摘要:曾经的博客: https://blog.csdn.net/cold_chair/article/details/77200459 板题: https://www.luogu.com.cn/problem/P5540 Code: #include<bits/stdc++.h> #define fo(i
阅读全文
摘要:https://loj.ac/problem/2008 题解: 当板题复习写了。 枚举要的那个三角形和其它三角形,用叉积列出不等式,不难发现是$ax+by+c>=0$的形式,这就是一个半平面。 随便取$ax+by+c=0$直线上一点,加上向量$(b,-a)$ 就是半平面的对应向量了。 然后加上原来凸
阅读全文
摘要:https://codeforces.com/contest/776/problem/F 题解: 好像很久没写平面转对偶了,当板题写一写。 发现多边形内的对偶图是棵树,因为如果有m条边,则有m+1个域,m+1个点m条边的连通图一定是树。 第一个思考点是标号,发现这道题中两个域最多只有一个公共点,所以
阅读全文
摘要:http://codeforces.com/problemset/problem/223/E 题解: 本题做法: 因为是个连通图,可以神奇的转换: 1.有一汇点T,每个点有一个流量朝汇点流,可以发现每个点的出流-入流=1(自己多的1) 2.从汇点T开始dfs,随便保留一个生成树作为流量树,发现一条边
阅读全文
摘要:Description: 题解: simpson积分,据说是用二次函数拟合,拟合圆这类图形有奇效。 即$g(x,y)=\int_x^y f(x)~dx≈(y-x)/6*(f(x)+4f((x+y)/2)+f(y))$ 自适应的话就是一直分治,直到$|g(a,b)-g(a,(a+b)/2)-g((a+
阅读全文
摘要:http://codeforces.com/gym/102331/problem/H 题解: 首先,当$k$很小时,有一经典模拟费用流做法: 每次找到最大的子区间,加上它,并把它取反,可以用线段树维护。 但这题$k$和$n$同阶,需要思考其它的做法。 还可以凸优化dp,二分斜率k后用单调队列就可以$
阅读全文
摘要:https://loj.ac/problem/2076 模拟退火居然不出题答,这个出题人脑子进水了。 由最小圆覆盖那一套,最优的圆是以上三种情况之一: 1.一个答案点就是圆,半径— 0 2.两个点连成的线段为直径的圆 3.三点共园 直接枚举,判断是$O(m^4)$的。 可能可以优化掉一个$m$,然后
阅读全文
摘要:https://loj.ac/problem/2074 我看到这个题的第一反应是做单调栈: $p[i] =h[j]+\sqrt{|i j|} h[i]$ 就$sqrt$这函数吧,也是单调的,性质应该和直线差不多,所以单调队列维护交点单调的若干条曲线。 求交点可以用二分求,时间复杂度是$O(n~log
阅读全文
摘要:https://gmoj.net/senior/ main/show/6525 若没有洞的限制,答案显然从每个点出发的极大联通块(联通块的每个点高度小于等于起点高度)的大小和。 那么将高度排序,从小到大用并查集维护即可。 现在要看有没有洞,考虑平面图欧拉公式: $V+F=E+2$,其中$V$是点
阅读全文
摘要:题目大意: 有n条直线,求它们两两之间的交点到(p,q)前m近的距离和。 $n \le 50000, m \le 10^7$ 题解: 二分答案r,肯定的。 接着就是求有多少个交点到(p,q)的距离 define fo(i, x, y) for(int i = x, _b = y; i = _b; i
阅读全文
摘要:Description: $n define fo(i, x, y) for(int i = x, B = y; i = B; i ) define ll long long define pp printf define hh pp("\n") using namespace std; defin
阅读全文