
【算法】半平面交
文章平均质量分 93
cz_xuyixuan
这个作者很懒,什么都没留下…
展开
-
【BZOJ1007】【HNOI2008】水平可见直线
【题目链接】点击打开链接【思路要点】将直线按斜率排序,用单调栈维护半平面交。注意有关实数运算EPS的问题。时间复杂度\(O(NLogN)\)。【代码】#includeusing namespace std;#define MAXN 100005#define EPS 1e-6struct line {double k, b原创 2018-01-24 11:01:18 · 274 阅读 · 0 评论 -
【CodeForces】CodeForces Round #549 (Div. 1) 题解
【比赛链接】点击打开连接【题解链接】点击打开链接【A】 The Beatles【思路要点】任取一个合法的起始点,枚举所有可能的步长 lll ,计算步数 N×kgcd(Nk,l)\frac{N\times k}{gcd(Nk,l)}gcd(Nk,l)N×k ,取最优值即可。时间复杂度 O(NLogV)O(NLogV)O(NLogV) 。【代码】#incl...原创 2019-04-04 20:50:38 · 989 阅读 · 0 评论 -
【LOJ6409】「ICPC World Finals 2018」熊猫保护区
【题目链接】点击打开链接【思路要点】问题即求简单多边形内部距多边形顶点的最小距离最大的点。考虑构建多边形各个顶点的 VoronoiVoronoiVoronoi 图以确定距离一个给定点最近的多边形顶点。可以发现,所求的点一定是 VoronoiVoronoiVoronoi 图的顶点或 VoronoiVoronoiVoronoi 图的边与多边形边的交点。注意到 VoronoiVo...原创 2019-03-24 13:38:34 · 442 阅读 · 0 评论 -
【CodeForces】CodeForces Round #405 (Div. 1) 题解
【比赛链接】 点击打开连接 【题解链接】 点击打开链接 **【A】**Bear and Different Names 【思路要点】 首先生成NNN个不同的合法名字。 按照如下方式构造一组解: 保证前k−1k−1k-1个名字互不相同。 若si=YESsi=YESs_i=YES,令Ansi+k−1=AnsiAn...原创 2018-08-20 17:20:31 · 334 阅读 · 0 评论 -
【BZOJ1137】【POI2009】Wsp 岛屿
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 100005#define INF 1e15#define EPS 1e-18#define FPS 1e-15#define LPS 1e-13struct point {long double x...原创 2018-04-21 17:55:24 · 306 阅读 · 0 评论 -
【BZOJ3190】【JLOI2013】赛车
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 50005#define INF 1e15#define EPS 1e-18#define FPS 1e-15#define LPS 1e-13struct point {long double x,...原创 2018-04-21 13:54:06 · 245 阅读 · 0 评论 -
【BZOJ2732】【HNOI2012】射箭
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 300005#define INF 1e15#define EPS 1e-18#define QPS 1e-15#define LPS 1e-13#define PI acos(-1)struct ...原创 2018-04-23 16:39:08 · 226 阅读 · 0 评论 -
【BZOJ4445】【SCOI2015】小凸想跑步
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 200005#define EPS 1e-18struct point {long double x, y; };struct line {point a, b; long double k; };st...原创 2018-04-22 14:20:35 · 236 阅读 · 0 评论 -
【BZOJ2618】【CQOI2006】凸多边形
【题目链接】点击打开链接【思路要点】半平面交模板题。时间复杂度\(O(N*M*LogNM)\)。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 100005;const double eps = 1e-7;const double pi = acos(-1);template <typena...原创 2018-03-31 20:13:51 · 231 阅读 · 0 评论 -
【LOJ3047】「ZJOI2019」浙江省选
【题目链接】点击打开链接【思路要点】对于 M=1M=1M=1 的情况,问题即为求半平面交。考虑 MMM 更大的情况,以 M=2M=2M=2 为例。首先去掉排名可以为第一的人,则要想取得第二,必须在剩下的人中获得第一,对剩下的人做一次半平面交。每个排名可以为第一的人领先半平面交上的所有人的 xxx 一定是一个非空区间,可以在形成的凸包上直接二分找到这个区间 [li,ri][l...原创 2019-06-16 12:20:27 · 681 阅读 · 0 评论