
三角剖分
Neo__Z
这个作者很懒,什么都没留下…
展开
-
bzoj2391: Cirno的忧郁【三角剖分+Splay】
解题思路:我们先把所有点极角排序,固定点价值视为0,预处理出sum[i][j]表示极点O到点i(固定点)和极点到点j(固定点)所圈成的三角形内的青蛙价值,逆时针为正,顺时针为负,那对于一次询问,只需要像求多边形面积一样把相邻两点的sum加起来即可。那如何预处理出sum[i][j]呢?我们可以枚举i并以Oi为初始抽,逆时针加入j点,算出向量Oi与向量ij的cos值,若之前加入的一个点k在三角形Oij内原创 2017-11-25 16:25:37 · 536 阅读 · 1 评论 -
codevs1273 风战 【三角剖分+凸包+动态规划】
题目大意:原题翻译细节有误,加上我自己看丢条件,导致我想了半天没想通。 题意是有n个白点,m个黑点,还有原点(0,0)无色,黑白点的纵坐标均大于0,且无三点共线,要求一个必须包含原点的凸包,使得凸包中白点的数量减黑点的最多。n+m小等于100。解题思路:如果没有“纵坐标均大于0”,“无三点共线“,“必须包含原点”三个条件,题目将变得很恶心,然而原题没翻译第三个条件,我看丢了前两个...原创 2018-02-20 08:33:48 · 447 阅读 · 1 评论 -
BJ模拟 帐篷【凸包】
题目描述: n,m<=400解题思路:当n,m很小时,直接暴力枚举起点,用三角剖分的方式,状态记录当前点和上一个点dp,复杂度为O(n4)O(n4)O(n^4) 当n,m较大时,h已经远超1e9z,直接求周长最小凸包即可,注意周长最小时自动满足凸性,所以可以只枚举起点,状态记录当前点dp即可,也可以用floyed求最小环的方式dp,时间复杂度皆为O(n3)O(n3)O(n^3...原创 2018-05-01 11:11:00 · 188 阅读 · 0 评论