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 · 429 阅读 · 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 · 1078 阅读 · 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 · 439 阅读 · 0 评论 -
Ancient Berland Circus(CF 1 C 浮点数GCD)
题目链接 题目大意: 给定正x边形的三个顶点坐标,判断出其最小面积取值时是几边形,并求出他的面积。 知识背景: 1.浮点数取模 2.硬算 3.海伦公式: p = (a+b+c)/2 4.三角形外接圆半径: 5.正x边形面积计算公式: 6. 圆周角定理:一段弧的圆周角等于圆心角的一半。 先mark浮点数取模的两种方法: //法一: double fgcd(double x, double y){ while(fabs(x)>eps && fabs(y)>eps){ if原创 2021-12-05 18:48:40 · 343 阅读 · 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 · 4990 阅读 · 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 · 4384 阅读 · 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 · 5499 阅读 · 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 · 349 阅读 · 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 · 840 阅读 · 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 · 540 阅读 · 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 · 174 阅读 · 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 · 388 阅读 · 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 · 221 阅读 · 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 · 194 阅读 · 0 评论
分享