http://codeforces.com/problemset/problem/598/C

题目大意: 给你你个向量  向量的起点都是从(0,0)开始的   求哪个角最小  输出这两个向量

这是第一次接触极角

一个函数图像上某一点到原点的距离就是极径,极径与x轴的夹角就是极角

按照极角排序   是从第三象限的最右边的开始是最小  一直逆时针转到第二象限的最右边

求极角差最小就行了

但是卡精度问题  把double换成long double   就好了  (我也不知道为什么)

#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<iostream>
#define INF 0x3f3f3f3f3 using namespace std; struct node{int x,y,j; long double k;}a[]; int cmp(node c,node d)
{
return c.k<d.k;
} int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
for(int i=;i<=n;i++)
{
scanf("%d %d",&a[i].x,&a[i].y);
a[i].k=atan2(a[i].y,a[i].x);
a[i].j=i;
}
sort(a+,a++n,cmp);
a[].k=a[n].k;
a[].j=a[n].j; int xx=,yy=;
long double Min=INF;
for(int i=;i<=n;i++)
{
long double jiao=a[i].k-a[i-].k;
if(jiao<) jiao+=acos(-1.0)*;
if(jiao<Min)
{
Min=jiao;
xx=a[i].j;
yy=a[i-].j;
}
}
printf("%d %d\n",xx,yy);
}
return ;
}

C. Nearest vectors--cf598C(极角排序)的更多相关文章

  1. codeforces 598C C. Nearest vectors(极角排序)

    题目链接: C. Nearest vectors time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  2. Educational Codeforces Round 1 C. Nearest vectors 极角排序

    Partial Tree Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/598/problem/ ...

  3. CodeForces - 598C Nearest vectors(高精度几何 排序然后枚举)

    传送门: http://codeforces.com/problemset/problem/598/C Nearest vectors time limit per test 2 seconds me ...

  4. POJ 1696 Space Ant 【极角排序】

    题意:平面上有n个点,一只蚂蚁从最左下角的点出发,只能往逆时针方向走,走过的路线不能交叉,问最多能经过多少个点. 思路:每次都尽量往最外边走,每选取一个点后对剩余的点进行极角排序.(n个点必定能走完, ...

  5. Space Ant---poj1696(极角排序)

    题目链接:http://poj.org/problem?id=1696 题意:给你n个点,然后我们用一条线把它们连起来,形成螺旋状: 首先找到左下方的一个点作为起点,然后以它为原点进行极角排序,找到极 ...

  6. poj2280Amphiphilic Carbon Molecules(极角排序)

    链接 卡了几天的破题,对于hdu的那份数据,这就一神题.. 借助极角排序,枚举以每一个点进行极角排序,然后构造两条扫描线,一个上面一个下面,两条同时走,把上线和下线的点以及上线左边的点分别统计出来,如 ...

  7. LightOJ 1285 - Drawing Simple Polygon (几何,极角排序)

    1285 - Drawing Simple Polygon   PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: ...

  8. 简单几何(极角排序) POJ 2007 Scrambled Polygon

    题目传送门 题意:裸的对原点的极角排序,凸包貌似不行. /************************************************ * Author :Running_Time ...

  9. poj 1696 Space Ant (极角排序)

    链接:http://poj.org/problem?id=1696 Space Ant Time Limit: 1000MS   Memory Limit: 10000K Total Submissi ...

随机推荐

  1. Win2D 入门教程 VB 中文版 - 防止内存泄漏

    避免内存泄漏 本文从微软官方文档翻译 http://microsoft.github.io/Win2D/html/RefCycles.htm 如果文档有问题,可以在 https://github.co ...

  2. axios 两种异步模式,代理模式 和 异步模式

    axios 两种异步模式,代理模式 和 异步模式

  3. python导包一不小心就入坑(常用解决办法)

    常见导包报错: - ImportError:No module named - SystemError: Parent module '' not loaded, cannot perform rel ...

  4. centos 7 安装 docker(详细)

    更新源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O/etc/yum.re ...

  5. fork 和 exec

    https://blog.csdn.net/disadministrator/article/details/39347333 进程创建方法:fork.exec.clone,父进程等待子进程结束是用w ...

  6. 让自己习惯C++

    条款1.C++是一个语言联邦 过程形式(procedural) 面向对象形式(object-oriented) 函数形式(function) 泛型形式(generic) 元编程形式(metaprogr ...

  7. jquery 打星评分插件

    <link rel="stylesheet" href="/static/vendor/raty/jquery.raty.css"> <scr ...

  8. github 获取 token

    登录github 地址:https://github.com 点击settings 在点击Developer settings 继续 继续 描述栏随意写  复选框是token的权限 都选上吧 点击红框 ...

  9. 剑指Offer(书):数值的整数次方

    题目:给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 分析: * 要注意以下几点:* 1.幂为负数时,base不能为0,不然求的时候是对 ...

  10. Tarjan 算法求割点、 割边、 强联通分量

    Tarjan算法是一个基于dfs的搜索算法, 可以在O(N+M)的复杂度内求出图的割点.割边和强联通分量等信息. https://www.cnblogs.com/shadowland/p/587225 ...