#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
#include <map>
#include <vector>
#include <set>
#include <string>
#include <cmath>
using namespace std;
;
const double PI=acos(-1.0);
,):x(x),y(y) {};    };
typedef Point Vector;
Vector operator - (Point  A, Point  B){ return Vector(A.x-B.x, A.y-B.y); } // 向量生成
double dis(Point A,Point B) { return sqrt( (A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y) );  }
double Cross(Vector B, Vector A) { return A.x*B.y-A.y*B.x;   }  // 叉积
Point pa[maxn];
Point pt[maxn];
bool up(Point a,Point b)
{
    if(a.x!=b.x) return a.x<b.x;
    return a.y<b.y;
}
int main()
{
    int n,r; scanf("%d %d",&n,&r);
    ;i<n;i++) scanf("%lf %lf",&pa[i].x,&pa[i].y);
    sort(pa,pa+n,up);
    ;
    ;i<n;i++)
    {
         && Cross(pt[m-]-pt[m-],pa[i]-pt[m-])<=) m--;
        pt[m++]=pa[i];
    }
    int k=m;
    ;i>=;i--)
    {
        ]-pt[m-],pa[i]-pt[m-])<=) m--;
        pt[m++]=pa[i];
    }
    ) m--;
    ;
    ;i<m;i++) ans+=dis(pt[i],pt[i+]); ans+=dis(pt[m],pt[]);
    //cout<<ans<<"  "<<PI<<endl;
    ans+=PI*r*;
    printf("%.0f\n",ans);
    ;
}

poj 1113 凸包的更多相关文章

  1. poj 1113 凸包周长

    Wall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 33888   Accepted: 11544 Descriptio ...

  2. POJ 1113 凸包模板题

    上模板. #include <cstdio> #include <cstring> #include <iostream> #include <algorit ...

  3. 计算几何--求凸包模板--Graham算法--poj 1113

    Wall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 28157   Accepted: 9401 Description ...

  4. POJ 1113 Wall 凸包 裸

    LINK 题意:给出一个简单几何,问与其边距离长为L的几何图形的周长. 思路:求一个几何图形的最小外接几何,就是求凸包,距离为L相当于再多增加上一个圆的周长(因为只有四个角).看了黑书使用graham ...

  5. poj 1113 Wall 凸包的应用

    题目链接:poj 1113   单调链凸包小结 题解:本题用到的依然是凸包来求,最短的周长,只是多加了一个圆的长度而已,套用模板,就能搞定: AC代码: #include<iostream> ...

  6. poj 1873 凸包+枚举

    The Fortified Forest Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 6198   Accepted: 1 ...

  7. Poj 2187 凸包模板求解

    Poj 2187 凸包模板求解 传送门 由于整个点数是50000,而求凸包后的点也不会很多,因此直接套凸包之后两重循环即可求解 #include <queue> #include < ...

  8. POJ 1113 Wall(凸包)

    [题目链接] http://poj.org/problem?id=1113 [题目大意] 给出一个城堡,要求求出距城堡距离大于L的地方建围墙将城堡围起来求所要围墙的长度 [题解] 画图易得答案为凸包的 ...

  9. POJ 1113 Wall【凸包周长】

    题目: http://poj.org/problem?id=1113 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22013#probl ...

随机推荐

  1. 活代码LINQ——05

    片段代码: ' Exercise 9.3 Solution: Invoice.vb ' Invoice class. Public Class invoide ' declare variables ...

  2. 面试html部分

    1.DOM结构 —— 两个节点之间可能存在哪些关系以及如何在节点之间任意移动. DOM是文档对象模型的简称 DOM模型中两个节点可能存在的关系有两种:父子关系,兄弟关系. 添加节点:appendChi ...

  3. optimal-account-balancing

    一群朋友去度假,有时互相借钱. 例如,爱丽丝为比尔的午餐支付了 10 美元.后来克里斯给爱丽丝 5 美元搭出租车.我们可以假设每笔交易为一个三元组(X,Y,Z),这意味着第 X 个人借给第 Y 个人  ...

  4. perceptual loss

    https://arxiv.org/abs/1603.08155 两个网络:image transfer网络和loss网络 image transfer网络: 将输入图片y通过映射f W (x)得到输 ...

  5. lintcode中等题目的四道题

    第一题: 第一句先创建了一个解决问题的类, 第二句声明了一个公共接口的整形链表里面有N个整形数, 第三句给链表动态初始化, 第四步判断链表里的数有没有,如果N<=0则返回结果0,否则执行Prin ...

  6. 转载, sublime text3 input函数无法执行问题解决方法

    一.安装插件SublimeREPL 按Ctrl+Shift+P,打开命令框.输入Install Package,回车,等待几秒钟,会弹窗提示“安装成功”.    按Ctrl+Shift+P,打开命令框 ...

  7. day13笔记

    1:StringBuffer(掌握) (1)用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,为了解决这个问题,Java就提供了 一个字符串缓冲区类.StringBuffer供我们使 ...

  8. Echarts扩展地图文字位置错乱的问题

    最近在弄echarts 因为要用到扩展地图,所以在官网下载了相应的json文件 ,引入之后发现文字位置错乱 于是查找网上资料 发现 textFixed : {                      ...

  9. Python入门学习例子——从Hao123获取图片

    import urllib.requestimport re #获取html页面内容def getHtml(url): data=urllib.request.urlopen(url) pageCon ...

  10. git pull提交代码遇到的问题

    git pull 提示如下错误 解决方法: git pull 后面加上分支具体地址  比如:git pull origin daily/1.0.0 同样git push origin daily/1. ...