前言 本文主要记录在凸优化中几个比较基础的概念:凸集、仿射集、凸包、锥、锥包。 仿射集(affine sets) 回顾一下直线与线段的定义。 对于 $$x_1 \not = x_2 \in R^n, \theta \in R$$ 则直线可以表示为: $$y = \theta x_1 + (1 \th ...
分类:
其他好文 时间:
2019-08-26 21:10:19
阅读次数:
123
题目链接: "UVA 10256" 题意 有n个红点和m个蓝点,问是否存在一条直线能够分开红点和蓝点。 题解 分别求出红点和蓝点的凸包,判断两个凸包是否相交。 凸包不相交的条件: 凸包上的任意点都在另一个凸包的外面 凸包的任意线段都与另一个凸包不相交 代码 cpp include using nam ...
分类:
其他好文 时间:
2019-08-22 00:34:32
阅读次数:
102
题目链接: "UVA 811" Description Once upon a time, in a faraway land, there lived a king. This king owned a small collection of rare and valuable trees, wh ...
分类:
其他好文 时间:
2019-08-19 00:07:04
阅读次数:
92
题意 凸包模板,给定平面上点集,求包含所有点的凸包周长最小值。 思路 使用$Graham$扫描法解决。 考虑将最左下的点设为原点(事实上任意点均可作为原点),然后其余各点根据斜率排序。 对于每一个节点,我们考虑加入它是否会与已有的边点构成内凹,如果会,那么放弃已有边点。 显然我们可以通过维护一个单调 ...
分类:
其他好文 时间:
2019-08-18 17:32:58
阅读次数:
51
T1 考试之前波波老师说让我们看看凸包,然后我一看题,觉得T1是个几何题,可能是个凸包,然后就整场没怎么深入思考,实际上并没有太难 二分肯定可以想到,以二分的答案为半径,围着每个星星画个圆,如果两个圆相交了,就用并查集把它们搞在一起,最后如果上下边界属于同一个并查集证明不可行,否则可行 那我们可以想 ...
分类:
其他好文 时间:
2019-08-18 09:47:24
阅读次数:
73
题目就是求树上每个节点的所有祖先中(ci-cj)/(dj-di)的最小值。 那么就是(ci-cj)/(di-dj)的最大值了。 对于每一个点,它的(ci,di)都是二维坐标系里的一个点 要求的就是祖先节点的所有点与目前节点连线的最小斜率 比较容易想到单调栈优化,像斜率优化dp一样 但是关键是本题在树 ...
分类:
其他好文 时间:
2019-08-18 09:30:30
阅读次数:
69
之前学斜率优化的锅,凸包没学会,当时是不等式搞过去的,考试时妄想推出和u无关,只和祖先有关的不等式,失败。。。 先看式子(c[fa]-c[son])/(dep[son]-dep[fa]),看起来很别扭,尝试加负号,就变成了斜率(我们以dep为x轴,dep为y轴建坐标系),要求斜率最大,为下凸包, 这 ...
分类:
其他好文 时间:
2019-08-18 09:18:17
阅读次数:
96
浅谈二分 来自8,17考试模拟24。 本题: 单调凸包。(找凸包方向:联系高考数学线性规划) 弹栈操作是一个个向后弹的。序列转换为树上。对于树上结构,只需记录父子关系,即可还原出一整棵树。因为要可持久化,那么这里的栈也变为了树状。只需记录在栈里的父亲即可。甚至不用开一个数组作为栈。由于单调性,搭配倍 ...
分类:
其他好文 时间:
2019-08-17 22:23:36
阅读次数:
117
题意 构造 $n$ 个点使其凸度(顶点数最多的凸多边形的顶点数)恰好为 $m$,且任意三点不能共线。 (题意有点绕,建议看英文原文 分析 首先,题目并不是求凸包上的顶点数,而是求能形成的凸多边形的最大顶点数。 直接构造符合条件的结果。 易知,凸函数上的点都能构成凸多边形。 将 $m$ 个点置于 $y ...
分类:
其他好文 时间:
2019-08-17 22:11:32
阅读次数:
106
题目是瞎写的。 “内个,先看下凸包啊。” “凸?包?” 然后就开始考试了。 话说在0817考试,一个完美的质数 考试过程: 先看T1,觉得像个计算几何。 然后是T2,觉得好像可做,逆序对?DP? T3,一眼看去好像可打暴力。 开始做T1了。 写写画画,在图里画凸包。一片混乱。 最后仿佛想到了一个错解 ...
分类:
其他好文 时间:
2019-08-17 14:38:38
阅读次数:
93