摘要: 斜率优化 斜率优化在判断线段左右关系时应善用叉积. // b 在 a 的逆时针为正,夹角为 a 转到 b 的有向角度(sin) double cross(Vector a, Vector b) { return a.x * b.y - a.y * b.x; } 通常会把题目化简成求最小截距,然后求最 阅读全文
posted @ 2022-02-04 23:29 guangheli 阅读(41) 评论(0) 推荐(0)
摘要: 行列式 线性代数基础知识,消成上三角矩阵拿出对角线元素乘积即可. 矩阵树定理 无向图 1. 对于每条边 $\mathrm{(x,y,z)}$ 给 $\mathrm{(x,x)}$ 与 $\mathrm{(y,y)}$ 加上 $\mathrm{z}$. 2. 对于每条边 $\mathrm{(x,y,z 阅读全文
posted @ 2022-02-04 15:06 guangheli 阅读(66) 评论(0) 推荐(0)
摘要: #include <cstdio> #include <cmath> #include <vector> #include <cstring> #include <algorithm> #define point Vector #define ll long long #define setIO(s 阅读全文
posted @ 2022-01-19 00:47 guangheli 阅读(55) 评论(0) 推荐(0)
摘要: 计算几何基础 1. 判断点是否在线段上 叉积必为 0 保证在延长线上,点积不大于 0 保证不会在线段的两侧. int Onsegment(point tmp, point a, point b) { if(dcmp(cross(a - tmp, b - tmp)) == 0 && dcmp(dot( 阅读全文
posted @ 2022-01-19 00:45 guangheli 阅读(41) 评论(0) 推荐(0)
摘要: 扫描线 矩形面积并: 利用横线所截取的长度乘以纵向的差. 这里特别注意一下线段树中最底层表示的是一个点,但长度中需要维护线段. 所以不妨让线段树中的 $\mathrm{[l,r]}$ 区间实际维护 $\mathrm{[l, r+1)}$ 这条线段. #include <cstdio> #includ 阅读全文
posted @ 2022-01-14 23:51 guangheli 阅读(32) 评论(0) 推荐(0)
摘要: Merging Towers 来源:CF1380E, 2300 仔细推一推性质,发现最优策略就是从小到大将 $\mathrm{i}$ 移到 $\mathrm{i+1}$ 上. 然后可以把连续段缩成一个连通块,那么连通块个数减一就是答案了. 所以这个问题就转化成每次合并两个 $\mathrm{vect 阅读全文
posted @ 2022-01-11 10:02 guangheli 阅读(53) 评论(0) 推荐(0)
摘要: Codeforces Round #760 (Div. 3) 比赛的时候做了 $\mathrm{A,B,C,D,G}$. A. Polycarp and Sums of Subsequences 标签:模拟 仔细观察发现 $\mathrm{b[1], b[2]}$ 恰好对应 $\mathrm{a[1 阅读全文
posted @ 2021-12-15 17:30 guangheli 阅读(159) 评论(0) 推荐(0)
摘要: 递归——调用“自己”的函数 1. 调用“自己”是新开一个函数,而不是真的调用 “自己”. 2. 可以看作每一个函数都是“不同”的,即要么输入的参数不同,要么全局变量有变化. 3. 明白一个函数的作用并相信它能完成这个任务,千万不要跳进这个函数里面企图探究更多细节, 否则就会陷入无穷的细节无法自拔 i 阅读全文
posted @ 2021-11-29 03:56 guangheli 阅读(459) 评论(0) 推荐(0)
摘要: LOJ#3030. 「JOISC 2019 Day1」考试 标签:三维偏序,CDQ 分治 三维数点模板题,跑一个 $\mathrm{CDQ}$ 分治即可. #include <cstdio> #include <vector> #include <cstring> #include <algorit 阅读全文
posted @ 2021-11-23 19:54 guangheli 阅读(123) 评论(0) 推荐(0)
摘要: Underground Lab 来源:CF780E, 2200 题目是保证有解的,所以对于任意的一棵树来说也一定有解,那就不妨思考树的情况. 这道题最苛刻的情况就是 $\mathrm{K=1}$, 即意味着需要遍历完整颗树且中间不能断开. 很自然想到构建欧拉序,不过长度是 $\mathrm{O(3n 阅读全文
posted @ 2021-11-23 18:41 guangheli 阅读(29) 评论(0) 推荐(0)