随笔分类 -  几何

几何
摘要:曾经的博客: https://blog.csdn.net/cold_chair/article/details/77200459 板题: https://www.luogu.com.cn/problem/P5540 Code: #include<bits/stdc++.h> #define fo(i 阅读全文
posted @ 2020-08-05 16:34 Cold_Chair 阅读(233) 评论(0) 推荐(0)
摘要:https://loj.ac/problem/2008 题解: 当板题复习写了。 枚举要的那个三角形和其它三角形,用叉积列出不等式,不难发现是$ax+by+c>=0$的形式,这就是一个半平面。 随便取$ax+by+c=0$直线上一点,加上向量$(b,-a)$ 就是半平面的对应向量了。 然后加上原来凸 阅读全文
posted @ 2020-06-06 16:16 Cold_Chair 阅读(204) 评论(0) 推荐(0)
摘要:https://codeforces.com/contest/776/problem/F 题解: 好像很久没写平面转对偶了,当板题写一写。 发现多边形内的对偶图是棵树,因为如果有m条边,则有m+1个域,m+1个点m条边的连通图一定是树。 第一个思考点是标号,发现这道题中两个域最多只有一个公共点,所以 阅读全文
posted @ 2020-06-04 21:50 Cold_Chair 阅读(413) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/223/E 题解: 本题做法: 因为是个连通图,可以神奇的转换: 1.有一汇点T,每个点有一个流量朝汇点流,可以发现每个点的出流-入流=1(自己多的1) 2.从汇点T开始dfs,随便保留一个生成树作为流量树,发现一条边 阅读全文
posted @ 2020-06-02 19:45 Cold_Chair 阅读(398) 评论(0) 推荐(0)
摘要: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+ 阅读全文
posted @ 2020-06-01 21:45 Cold_Chair 阅读(384) 评论(0) 推荐(0)
摘要:http://codeforces.com/gym/102331/problem/H 题解: 首先,当$k$很小时,有一经典模拟费用流做法: 每次找到最大的子区间,加上它,并把它取反,可以用线段树维护。 但这题$k$和$n$同阶,需要思考其它的做法。 还可以凸优化dp,二分斜率k后用单调队列就可以$ 阅读全文
posted @ 2020-05-28 21:36 Cold_Chair 阅读(867) 评论(2) 推荐(0)
摘要:https://loj.ac/problem/2076 模拟退火居然不出题答,这个出题人脑子进水了。 由最小圆覆盖那一套,最优的圆是以上三种情况之一: 1.一个答案点就是圆,半径— 0 2.两个点连成的线段为直径的圆 3.三点共园 直接枚举,判断是$O(m^4)$的。 可能可以优化掉一个$m$,然后 阅读全文
posted @ 2020-04-19 22:22 Cold_Chair 阅读(187) 评论(0) 推荐(0)
摘要:https://loj.ac/problem/2074 我看到这个题的第一反应是做单调栈: $p[i] =h[j]+\sqrt{|i j|} h[i]$ 就$sqrt$这函数吧,也是单调的,性质应该和直线差不多,所以单调队列维护交点单调的若干条曲线。 求交点可以用二分求,时间复杂度是$O(n~log 阅读全文
posted @ 2020-04-18 22:10 Cold_Chair 阅读(174) 评论(0) 推荐(0)
摘要:https://gmoj.net/senior/ main/show/6525 ​ 若没有洞的限制,答案显然从每个点出发的极大联通块(联通块的每个点高度小于等于起点高度)的大小和。 那么将高度排序,从小到大用并查集维护即可。 现在要看有没有洞,考虑平面图欧拉公式: $V+F=E+2$,其中$V$是点 阅读全文
posted @ 2020-04-02 11:16 Cold_Chair 阅读(430) 评论(0) 推荐(0)
摘要:题目大意: 有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 阅读全文
posted @ 2020-03-09 20:08 Cold_Chair 阅读(202) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2020-03-01 10:51 Cold_Chair 阅读(201) 评论(0) 推荐(0)