自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 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 316

原创 斜率优化dp小结(convex hull trick)

一个悲惨的前言斜率优化dp 又称为 convex hull trick引子:任务安排1(ACWing 300)有 N 个任务排成一个序列在一台机器上等待执行,它们的顺序不得改变。机器会把这 N 个任务分成若干批,每一批包含连续的若干个任务。从时刻 0 开始,任务被分批加工,执行第 i 个任务所需的时间是 Ti。另外,在每批任务开始前,机器需要 S 的启动时间,故执行一批任务所需的时间是启动时间 S 加上每个任务所需时间之和。一个任务执行后,将在机器中稍作等待,直至该批任务全部执行完毕。

2022-01-03 18:29:25 824 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 288

原创 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 277

原创 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 4901

原创 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 4297

原创 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 5288 2

原创 Immortal Jewels Aizu - 2201

先占个坑,调不过去是真恶心…ps:#include <bits/stdc++.h>#define In inline#define pi (atan(1.0)*4)#define enter puts("")#define MaxN 0x3f3f3f3f#define MinN 0xc0c0c0c0#define pb push_back#define bug(x) cerr<<#x<<'='<<x<<' '#define A

2021-11-05 00:33:03 114

原创 计算几何学习&坑点

咸鱼博主(计算几何萌新,随缘更新~tip 1:#define pi atan(1.0)*4使用define定义时注意程序只是在运行时将语句进行替代,若使用 a / pi ???返回值是 a / π\piπ * 16, 因为表达式完整版是a / pi →\rightarrow→ a / atan(1.0) * 4 而不是 a / (pi / atan(1.0) * 4)。所以正确的写法应该是#define pi (antan(1.0)*4)同理引申到多种define t

2021-10-26 23:45:24 136 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 251

原创 求平面中的最远点对问题

小结:平面中最远点对问题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 579

原创 二分法求凸多边形的外接圆最大半径

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 369

原创 CSP 2021-09-2 非零段划分

先附上队友的题解,u1s1队友不会是因为给我讲题多了逻辑这么清晰了吧 因为本人较菜,看到这题就想起了亚特兰蒂斯?说白了这题思路就是一个裸的扫描线,可以从上往下扫描根据峰值来更新区间个数(详见队友博客或队内dalao给我对拍的代码,咳咳#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<vector>#include<map

2021-10-04 15:54:50 1038 1

原创 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 114

原创 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 340

原创 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 172 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 139

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除