雯舞

Love three things int he world -- Manchery

[几何 扫描线 最大子段和] JOI Open Contest 2017 Bulldozer

题目大意:给出平面上n个带权点,有正有负,求平面上两条平行直线之间的点权和最大是多少 VIEW PROBLEM - BULLDOZER (JOI17_BULLDOZER)直接枚举斜率,点按照距离排序后是一个最大子段和问题 然后考虑扫描线旋转斜率,两个点相对关系变化只会发生在斜率与两点连线平行的...

2017-07-05 07:50:00

阅读数:250

评论数:0

[几何] Codeforces 772B VK Cup 2017 - Round 2 B. Volatile Kite

那么问题来了 O(n)O(n)判到底对不对#include<cstdio> #include<cstdlib> #include<algorithm> using namespace std; typedef double ld;struct P{ ld x...

2017-06-13 22:39:49

阅读数:234

评论数:0

[几何 LIS] BZOJ 3663 Crazy Rabbit & 4660 Crazy Rabbit & 4206 最大团

膜一发题解 问题转化为直线上有一些区间,选出尽量多的区间使得它们两两之间”相交但不包含” 考虑最终方案中选出来的所有区间中左端点最小的一个,因为区间两两之间有公共部分所以这个区间内必须包含其他所有区间的左端点.那么我们枚举这个左端点最小的区间,只把其他区间中左端点在这个区间内的区间拿出来...

2017-04-21 08:24:04

阅读数:386

评论数:0

[几何] BZOJ 4814 [Cqoi2017]小Q的草稿

把三角形拆成三条线段 以每个点为中心 极角排序一发 然后扫描线 set中维护线段 优先级为到中心点的距离 因为三角形不相交 所以大小关系不会变 遇到一个点就查一下最近的线段是不是挡住了 不然就有贡献 其实三角形对于一个点 只有一条边是有用的#include<cstdio> #in...

2017-04-21 08:14:55

阅读数:726

评论数:0

[几何 two-pointers] BZOJ 1278 向量vector

有一个结论就是组成答案的向量一定都在某一直线的一侧 证明:以答案向量作一个圆 这条直线就是过终点的切线#include<cstdio> #include<cstdlib> #include<algorithm> #include<cmath> us...

2017-03-17 20:43:05

阅读数:574

评论数:0

[几何 模拟退火 || 随机增量法] Codeforces 442E #253 (Div. 1) E. Gena and Second Distance

怎么都在理性愉悦啊 总算做到一道有点思路的题了官方题解 题解里说的是什么呢 我们先二分答案AnsAns 然后我们考虑AnsAns合法的条件是存在一个圆OO 他只包含其中一个特殊点 我们肯定可以挪动这个圆 使得有至少一个点在边界上 枚举点pp在边界上 那么圆心OO就在以pp为圆心的圆CC上...

2017-03-14 11:20:08

阅读数:364

评论数:0

[几何] BZOJ 1132 [POI2008]Tro

裸的做是 O(n3)O(n^3) 按极角排序后 用分配律 就可以 O(n2logn)O(n^2 \log n)#include<cstdio> #include<cstdlib> #include<algorithm> #include<cmath>...

2017-03-13 13:55:52

阅读数:175

评论数:0

[几何] BZOJ 2710 [Violet 1]追风者 & POJ 3924 Tornado

好神的几何题 把一个点不动作为参照物 然后就变成了只有一个点在动 画出来就是这样然后就是求 一个点到两组平行线段的距离最小值#include<cstdio> #include<cstdlib> #include<algorithm> #include<...

2017-03-09 11:56:09

阅读数:383

评论数:0

[圆的反演] HDU 4773 Problem of Apollonius

反演详见ACdreamer的blog反演的基本性质 不过反演中心的一条直线反演成一个过反演中心圆 反之亦然 不过反演中心的一个圆反演成另一个不过反演中心的圆 那题目就很显然了先把两个圆反演 变成两个圆 在求公切线 再反演回去可能用到的几何方法 两圆的公切线 两个相交圆的交点 最后上几张图 ...

2017-02-28 07:41:07

阅读数:303

评论数:0

[凸包最大内接圆 二分 半平面交] POJ 3525 Most Distant Point from the Sea

二分答案 然后半平面向内缩 判断是否有交#include<cstdio> #include<cstdlib> #include<algorithm> #include<cmath> using namespace std; typedef doubl...

2017-02-16 12:07:08

阅读数:220

评论数:0

[凸包 三分 数形结合] BZOJ 3203 [Sdoi2013]保护出题人

可以发现yi=MAXj<=i{sum[i]−sum[j−1]x[i]+(i−j)∗d}y_i=MAX_{j<=i} \{ {{sum[i]-sum[j-1]} \over {x[i]+(i-j)*d}} \} 这个东西是个斜率的形式 (x[i]+i∗d,sum[i])(x[i]...

2017-02-16 12:03:52

阅读数:213

评论数:0

[半平面交 随机增量法] BZOJ 2732 [HNOI2012]射箭

设抛物线为y=ax2+byy=ax^2+by 那么一个限制y1<=ax2+by<=y2y_1<=ax^2+by<=y_2 转化为b<=−ax+y2xb>=−ax+y1xb<=-ax+{y_2 \over x} \\ b>=-ax+{y_1 \ov...

2017-02-14 10:40:55

阅读数:357

评论数:0

[半平面交 模板题] BZOJ 3199 [Sdoi2013]escape

先用半平面交构出V图 然后连边bfs一通最短路 一个点的控制范围是和其他点的中垂线组成的半平面交#include<cstdio> #include<cstdlib> #include<algorithm> #include<cmath> #incl...

2017-02-14 10:31:06

阅读数:269

评论数:0

[半平面交对偶凸包] BZOJ 1007 [HNOI2008]水平可见直线

半平面交对偶转凸包问题 神奇的新姿势 还有待研究#include<cstdio> #include<cstdlib> #include<algorithm> using namespace std; typedef long long ll;inline ch...

2017-02-14 10:28:46

阅读数:276

评论数:0

[线性规划 对偶 凸包 三分] Codeforces 605C #335 (Div. 1) C. Freelancer's Dreams

很显然的线性规划 对偶一下 maximum p∗x+q∗yai∗x+bi∗y<=1maximum\ p*x+q*y \\ ai*x+bi*y<=1 这个肯定是半平面交出一个凸包然后用直线去切 直接三分就好了 有点需要精度//ai*x+bi*y<=1 max p*x+q...

2017-02-07 17:09:13

阅读数:361

评论数:0

[模型转化 最长下降子序列] BZOJ 2924 [Poi1998]Flat broken lines

将坐标系向左旋转45度,那么折线就要求x,y均不降,以x为第一关键字,y为第二关键字排序,那么一条折线就对应一个不降子序列。 根据最小链覆盖=最长反链,故求出最长下降子序列的长度即可 #include #include #include using namespace std; co...

2016-12-17 11:25:22

阅读数:221

评论数:0

[几何 分治] BZOJ 2928 [Poi1999]飞弹 Rockets

算导上的经典问题 n2logn啊 卡来卡去 卡时过 main上过不去 TLE 每次找到两个点I,j连一条边,使它们连线左边黑点=白点,右边黑点=白点,然后对左右递归处理即可。 由数学归纳法可证这样一定有解。 时间复杂度关键在于划分的平衡性,以及找连线的复杂度 未想到如何快速Dev...

2016-12-17 11:07:01

阅读数:235

评论数:0

[补集转化 有序化去重] Ural 1212 Battleship

论文:许智磊--浅谈补集转化思想在统计问题中的应用 可以发现这道题长度极小 总数极小 转化为总数减去有相交 去重可以运用有序化的思想  如何排除这种重复计数呢?我们采用一种排除重复的常用方法:有序化。也就是设法对于新矩形的一种摆放方案,只在处理与它相交的编号最小的已有矩形...

2016-12-12 19:13:37

阅读数:186

评论数:0

[圆的离散化 几何] POJ 1688 Dolphin Pool

调了一天半 就是过不去 心累 先挖个坑吧 论文:高逸涵《与圆有关的离散化方法》 #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; typed...

2016-12-06 13:43:11

阅读数:629

评论数:0

[复数 解析几何 || 随机化] Ural 1046 Geometrical Dreams & POJ 2600 Geometrical dreams

这个可以先设出a1 然后 一圈递推出an+1 an+1==a1 解这个方程就好了 这里用复数来实现 因为复数乘法是天然的旋转  复数旋转就是类似这样的东西 以下来自 POJ Discuss point getnp(point ori, point cen, double angle) ...

2016-12-04 20:48:44

阅读数:211

评论数:0

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