![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ICPC
文章平均质量分 51
marx97 ٩
这个作者很懒,什么都没留下…
展开
-
Commentator problem(CF 2)
题目链接题目大意:给定三个圆,询问是否存在点满足该点与三个圆夹角均相等,若存在多组解返回夹角最大值。圆外一点到两圆夹角均相等:即 sina = sinb = r1 / d1 = r2 / d2即 d1 / d2 = r1 / r2引出阿波罗尼斯圆定义:平面上相异两点A B, 且P 与A B在同一平面内, PA / PB = k (k > 0 且 k != 1), 则 P点的轨迹是圆,把他称为阿波罗尼斯圆。注意到当k等于1时P点的运动轨迹在A,B的中垂线上,那么此题就转化为直线求交、直线原创 2022-03-06 21:43:19 · 321 阅读 · 0 评论 -
斜率优化dp小结(convex hull trick)
一个悲惨的前言斜率优化dp 又称为 convex hull trick引子:任务安排1(ACWing 300)有 N 个任务排成一个序列在一台机器上等待执行,它们的顺序不得改变。机器会把这 N 个任务分成若干批,每一批包含连续的若干个任务。从时刻 0 开始,任务被分批加工,执行第 i 个任务所需的时间是 Ti。另外,在每批任务开始前,机器需要 S 的启动时间,故执行一批任务所需的时间是启动时间 S 加上每个任务所需时间之和。一个任务执行后,将在机器中稍作等待,直至该批任务全部执行完毕。原创 2022-01-03 18:29:25 · 843 阅读 · 2 评论 -
CF 1575 M (斜率优化dp/ convex hull trick)
事情的起因是平平无奇的一道CF签到题然后大概题意就是给定一个地图,图中有一些光源,对于一个点(x, y)来说,他的权值为 他到距离他最近点的欧式距离的平方。嗯,是个人都会想到爆搜嘛 then…T4了,然后惊奇的想到了多个点同时开始bfs,上下左右,就很和谐,,//WA6, 然后打表发现先后更新顺序导致有个点被错误覆盖了,然后胡x搞了下把bfs方向从四个变成八个,然后…T24。。。 咳咳, 仔细思考了一晚发觉他的正确bfs顺序其实是个…hh 然后总算知道了一个正确bfs的顺序。。const int N原创 2022-01-03 01:29:13 · 296 阅读 · 0 评论 -
Ancient Berland Circus(CF 1 C 浮点数GCD)
题目链接题目大意:给定正x边形的三个顶点坐标,判断出其最小面积取值时是几边形,并求出他的面积。知识背景:1.浮点数取模2.硬算3.海伦公式:p = (a+b+c)/24.三角形外接圆半径:5.正x边形面积计算公式:6. 圆周角定理:一段弧的圆周角等于圆心角的一半。先mark浮点数取模的两种方法://法一:double fgcd(double x, double y){ while(fabs(x)>eps && fabs(y)>eps){ if原创 2021-12-05 18:48:40 · 285 阅读 · 0 评论 -
Eligible Segments (CF 1588 E)
题目链接题目大意:给定 n 个点,问从中能找出多少条线段,使剩余n-2个点到该线段的距离均不大于R。前置知识:点a到线段bc的距离,可以转换为点a到射线bc和射线cb距离的最大值。解题思路:要使线段p[i]p[j]到剩余n-2个点的距离均小于R,即满足射线p[i][j]到剩余n-2个点的距离小于等于R && 射线p[j]p[i]到剩余n-2个点的距离小于等于R。而对于一个点来说,能满足其出发的射线到剩余n-1个点距离都小于等于R即求该点到剩余n-1个以R为半径的圆的两条切线的角原创 2021-12-01 14:45:19 · 4909 阅读 · 0 评论 -
2020 ICPC 昆明站 I(Mr. Main and Windmills)
题目链接题目大意:给定 n 个点 m 个询问, 在给出一条线段,人从线段的st走到ed,每次询问查询第h个点在视野中发生第k次交换时人所处的位置。思路:1:对于每次询问第h个点时,对其为原点做极角排序,2:先n2枚举预处理每组直线,二维结构体数组存直线与(路径)线段交点以及交点与(路径)线段起点的距离。最后询问中可以采用对结构体h层进行nth_element查询(O(n) ), 或者可以对第h层sort(O(nlogn) );注意坑点 k > n-1 输出 -1 ;代码如下:#i原创 2021-11-28 15:46:25 · 4305 阅读 · 0 评论 -
2021 ccpc 桂林站 F - Illuminations II(gym 103409)
题目链接题目大意:给定两个凸包,保证内凸包严格在内求照亮边界的期望值,拿到题目一推就能发现题目实际是求m条内凸包边右侧的外凸包边长和 * 该内凸包边长 的和 / 外凸包的总长。思路:双指针,准确来说是三指针,i 表示内凸包 p[i] --> p[i+1](L) 的边,k 指向直线 L 与外凸包的终边 P[k] --> P[k+1], j 指向 直线 L 与外凸包的起始边 P[j] --> P[j+1] 。但注意不要使用直线与线段判交点 , 正方形对角线数据 会使程序死循环。此外原创 2021-11-16 20:08:00 · 5301 阅读 · 2 评论 -
POJ 1981 Circle and Points(n3 & n2logn)解法与疑点解析
题目大意:给出平面上n个点求单位圆的最大覆盖点数朴素做法O(n3)n2枚举两个点+单位半径确定(2个)圆,任取其一方向构造唯一圆,由数学关系求出圆心坐标,最后枚举点到圆心距离是否大于1即可。代码如下:#include <iostream>#include <cmath>#include <algorithm>#include <cstring>#include <cstdio>#define In inline#define p原创 2021-10-24 17:52:17 · 257 阅读 · 0 评论 -
求平面中的最远点对问题
小结:平面中最远点对问题1.暴力枚举,复杂度O(n* n).2.稍加优化,先求得凸包,可以证明出最远距离点对一定处于凸包顶点处,复杂度O(m* m),最坏复杂度退化为O(n* n).3.旋转卡壳优化,复杂度O(n* logn).旋转卡壳做法:因为网上找了许多做法要么适用性不广,或是代码冗长,于是自己改良。首先得到凸包convexhull:法一:struct polygon{ int n; Point p[maxp]; Line l[maxp]; struct原创 2021-10-20 00:26:17 · 648 阅读 · 0 评论 -
二分法求凸多边形的外接圆最大半径
mark一个宝藏文章,个人认为简单易懂:添加链接描述附上博主代码:#include<cstdio>#include<cmath>const double PI=acos(-1.0);const double eps=1e-5;//比较精度//求圆心角之和double totalCornerAngles(double edges[],int n,double r){ double sum = 0.0; for(int i =0;i<n;i++)原创 2021-10-19 19:35:09 · 387 阅读 · 0 评论 -
Distance Aizu - CGL_2_D
简单题不解释题目链接#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cmath>#include<map>#include<vector>#include<queue>#include<set>#include<stack>#define In inline原创 2021-06-08 18:25:43 · 118 阅读 · 0 评论 -
2019西安邀请赛 Angel‘s Journey 计算几何 计蒜客39270
一道十分简单的计算几何题这么简单的数学题放在高中可能都不屑于看吧,忘记了,我是个大学生了,hhhh, 怪不得写的这么吃力,希望数学老师不要揍我 。To see the problem cilck here前两天刚刚看了一大堆计算几何的板子呵;看见这题忍不住就开始一顿猛打,真是恨不得把我见过的所有板子都灵活运用一遍,xswl。不过还是得不厚道的夸自己这化简为繁是为了早日融会贯通,hh。先上大佬的代码#include <bits/stdc++.h>using namespace st原创 2021-06-04 02:42:00 · 344 阅读 · 0 评论 -
Dragon Balls HDU - 3635--对find带权的高阶认识
带权并查集(bushi题目链接click here简单带权并查集 用sz 数组记录集合大小, 用cnt[x]记录x的移动步数,注意操作对象是人,不是地区。正解:#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cmath>#include<map>#include<vector>#include&原创 2021-05-23 16:46:06 · 174 阅读 · 1 评论 -
2015ACM/ICPC亚洲区上海站 K-Kingdom of Black and White HDU-5583
题目链接#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cmath>#include<map>#include<vector>#include<queue>using namespace std;#define In inline#define PI atan(1.0)*4#def原创 2021-04-30 11:29:14 · 144 阅读 · 0 评论