2024年7月8日

摘要: B-Intersection of Cuboids 传送门: B - Intersection of Cuboids (atcoder.jp) 简单题意 给定两个长方体 判断是否有重合体积 思路: 假设有重合体积,那么重合部分一定是个长方体。如果是长方体一定在三个坐标轴的投影都有一段长度。所以问题转 阅读全文

posted @ 2024-07-08 00:47 木易meow 阅读(144) 评论(0) 推荐(0) 编辑

2024年4月27日

摘要: 传送门 D - Grid and Magnet 题意: 给定h行w列的图表,其中部分位置有磁铁,人物会在磁铁四周((x+1,y),(x-1,y),(x,y+1),(x,y-1))停止,某点的自由度定义为从该点出发最多可到的方块数目 可以走重复路 前置例题: 求连通块大小 洛谷P1141 思路: 由自 阅读全文

posted @ 2024-04-27 22:22 木易meow 阅读(236) 评论(0) 推荐(0) 编辑

2024年4月26日

摘要: 极坐标系 元素: · 极点:O · 极轴:/vec OL · 极径:r · 极角: 注意是逆时针 · 极坐标: 极坐标系与直角坐标系的转化: r=dist(o,c) /fi = tan(y,x); 极角排序 半平面内的极角排序(排序范围严格小于180°) 使用to-left测试(叉积比较),值越大的 阅读全文

posted @ 2024-04-26 20:28 木易meow 阅读(54) 评论(0) 推荐(0) 编辑

2024年4月24日

摘要: 题意 给定一个边长为L的三角形和一个直径非常微小的球,问球在三角形内与三角形的边第k次碰撞的时间 思路 模型转化:将碰撞转化为穿越 二分查找时间 code: #include<bits/stdc++.h> using namespace std; const double eps=1e-7; #de 阅读全文

posted @ 2024-04-24 14:26 木易meow 阅读(45) 评论(0) 推荐(0) 编辑

摘要: 题意: 有两种元素A和B,和三种不同元素比例的药水,问对于给定的X和Y,能不能利用这三种药水配出元素比例为X:Y的药水 药水可以无限取用 思路: 第一眼看上去以为是个背包或者数学(((遁 后来发现所有能被配出的比例都是这三种药水所围成的三角形之中,从而转化成计算几何问题:如何判断一个点与一个三角形的 阅读全文

posted @ 2024-04-24 14:06 木易meow 阅读(17) 评论(0) 推荐(0) 编辑

摘要: 符号判断与大小比较 int sgn(int x){ if(fabs(x)<eps)return 0; else if(x>=eps)return 1; else return -1; } //实数的向上取整函数 int _ceil(const double &x) { long long k=cei 阅读全文

posted @ 2024-04-24 13:05 木易meow 阅读(5) 评论(0) 推荐(0) 编辑

2024年4月18日

摘要: 元素的表示 点 1. 复数类 · complex<int/duble> · 特点:慢,自带各种运算,不怎么用 2. pair · 自带排序 · 自由度不高 · 基本不在几何题目中使用 3.结构体 (推荐,常用) 自由度高,成员函数,重载运算符 struct Point{ double x,y; }; 阅读全文

posted @ 2024-04-18 21:38 木易meow 阅读(12) 评论(0) 推荐(0) 编辑

2024年4月15日

摘要: 前置芝士 1. 浮点数与精度问题 · 能用整数解决则不用浮点数 · 不用float,视情况用long double(常数大) · 用分数维护,防止除0 · 比较时加入eps(取 1e-8 左右) 2. 除以0 nan或者inf,注意排除bug 阅读全文

posted @ 2024-04-15 21:41 木易meow 阅读(9) 评论(0) 推荐(0) 编辑

2024年3月30日

摘要: 从最短路说起的k短路 3.26看了最短路和次短路。我们发现次短路实际上就是把最短路给破坏掉然后跑最短路... 那我想...是不是破坏(k-1)次就能得到k短路呢,很显然是的,但是复杂度比较高,(因为一次dij是 O(nlogn)级别的,次短路的话最坏要跑m次 当最短路有m条边的时候) 那么k比较大的 阅读全文

posted @ 2024-03-30 22:29 木易meow 阅读(12) 评论(0) 推荐(0) 编辑

2024年3月27日

摘要: 最短路: SPFA: 特点: 代码短好写,负权边必备,可以判环,容易被卡成O(nm); code: #include<bits/stdc++.h> using namespace std; #define int long long const int MAXN = 5e5 + 10; const 阅读全文

posted @ 2024-03-27 18:26 木易meow 阅读(16) 评论(0) 推荐(0) 编辑