http://poj.org/problem?id=1113 题目大意:现在要给n个点,让你修一个围墙把这些点围起来,距离最小是l 分析 :现在就是求凸包的周长然后再加上一个圆的周长 ...
分类:
编程语言 时间:
2016-05-17 09:53:03
阅读次数:
271
http://codeforces.com/problemset/problem/598/C 题目大意: 给你你个向量 向量的起点都是从(0,0)开始的 求哪个角最小 输出这两个向量 这是第一次接触极角 一个函数图像上某一点到原点的距离就是极径,极径与x轴的夹角就是极角 按照极角排序 是从第三象限的 ...
分类:
编程语言 时间:
2016-05-01 17:40:54
阅读次数:
189
Space Ant Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 3924 Accepted: 2457 Description The most exciting space discovery occurred at the ...
分类:
编程语言 时间:
2016-04-29 14:45:47
阅读次数:
207
首先要将这个图连通,方法是通过扫描线+set求出每个连通块最高的点上方的第一条边,然后向交点连边。 然后把边拆成两条双向边,每次找到一条没走过的边,找到极角排序后它的反向边的后继,直到回到这条边。 根据叉积可以求出面积,如果面积非负,那么就说明找到了一个封闭区域。 然后再进行一次扫描线,找到一个点上 ...
分类:
其他好文 时间:
2016-03-30 01:39:12
阅读次数:
272
类似于斜率优化的东西,果真CF的E以后才会考点算法啊。 感觉这种优化应该很常见,但这题直线只有第一象限的,但是插入,和查找操作是不变的,按极角排序后就可以直接用这个模板了。 #include <iostream> #include <stdio.h> #include <string.h> #inc
分类:
其他好文 时间:
2016-03-07 23:55:09
阅读次数:
242
题目链接:http://poj.org/problem?id=2007 题意:给出凸包和起点,逆序输出。 极角排序可以用反三角函数求出角度,按照角度排序。也可以用叉乘来做。注意题目说给定第一个数据是0,0,这是凸包的起点,数据中有在x轴负半轴的数据,所以排序的时候0,0要跳过。只排1~n-1个坐标。
分类:
编程语言 时间:
2016-02-22 20:52:20
阅读次数:
281
极角排序每次选择一个最外围的没选过的点,选择的时候需要利用极角排序进行选择#include#include#include#include#include#include#includeusing namespace std;const double eps=1e-8;struct point{ ....
分类:
其他好文 时间:
2016-01-23 23:17:26
阅读次数:
417
将所有点极角排序,建立线段树,线段树每个节点维护该区间内所有点组成的上下凸壳。对于一个查询,二分查找出相应区间的左右端点,在线段树上得到$O(\log n)$个节点,在相应凸壳上三分查找出与斜边叉积最大的那个点,看看是否为正即可。时间复杂度$O(n\log^2n)$。#include#include...
分类:
其他好文 时间:
2016-01-20 22:26:10
阅读次数:
176
填坑系列考虑所有经过两个点的直线,一定有最优解。再考虑确定一个点,按极角顺序枚举所有直线,从而O(1)转移信息。还有代码实现技巧 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 const int N = 1000 + 10; ....
分类:
其他好文 时间:
2015-12-29 09:53:42
阅读次数:
190
首先要将这个图连通,方法是通过扫描线+set求出每个连通块最高的点上方的第一条边,然后向交点连边。然后把边拆成两条双向边,每次找到一条没走过的边,找到极角排序后它的反向边的后继,直到回到这条边。根据叉积可以求出面积,如果面积非负,那么就说明找到了一个封闭区域。然后再进行一次扫描线,找到一个点上方最低...
分类:
其他好文 时间:
2015-12-07 14:07:32
阅读次数:
155