P2742-二维凸包/圈奶牛Fencing the Cows【凸包】

正题

题目链接:https://www.luogu.org/recordnew/lists?uid=SSL_WYC_zombieeeeee&pid=P2742&status=&sort=0


题目大意

求凸包总长度


解题思路

求凸包


codecodecode

#include<cstdio>
#include<algorithm>
#include<cmath>
#define N 10010
using namespace std;
struct point{double x,y;
}a[N];
int n,s[N];
double ans;
double m(point x,point y,point z)
{return (x.x-z.x)*(y.y-z.y)-(y.x-z.x)*(x.y-z.y);}
double dis(point x,point y)
{return sqrt((x.x-y.x)*(x.x-y.x)+(x.y-y.y)*(x.y-y.y));}
bool cmp(point x,point y)
{double t=m(x,y,a[1]);if(t>0||t==0&&dis(x,a[1])<dis(y,a[1]))return true;else return false;
}
void init()
{scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%lf%lf",&a[i].x,&a[i].y);if(a[i].y<a[1].y||a[i].y==a[1].y&&a[i].x<a[1].x)swap(a[i],a[1]);}sort(a+2,a+1+n,cmp);
}
void praham()
{s[1]=1;s[2]=2;s[3]=3;int top=3;for(int i=4;i<=n;i++){while(m(a[i],a[s[top]],a[s[top-1]])>=0)top--;s[++top]=i;}for(int i=1;i<top;i++)ans+=dis(a[s[i]],a[s[i+1]]);printf("%.2lf",ans+dis(a[s[1]],a[s[top]]));
}
int main()
{init();praham();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323079.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Wamp升级php到7.3版本

在网上找了关于cms的模板&#xff0c;结果显示php版本低于7.2的无法使用。 找了很多wamp和xampp的安装包&#xff0c;要不然版本没到7.2&#xff0c;要不然安装无法使用&#xff0c;浪费了很多时间 于是想自己手动把php升到7.3版本&#xff0c;刚开始看教程&#xff0c;特别麻烦…

浅析Entity Framework Core中的并发处理

前言 Entity Framework Core 2.0更新也已经有一段时间了,园子里也有不少的文章.. 本文主要是浅析一下Entity Framework Core的并发处理方式. 1.常见的并发处理策略 要了解如何处理并发,就要知道并发的一般处理策略 悲观并发策略 悲观并发策略,正如其名,它指的是对数据被外界&…

Mybatis的关联映射

学习目标 了解数据表之间以及对象之间的三种关联关系熟悉关联关系中的嵌套查询和嵌套结果掌握一对一、一对多和多对多关联映射的使用文章目录 1. 关联关系概述 2. 一对一 3.一对多 4. 多对多 1. 关联关系概述 一对一的关系&#xff1a;就是在本类中定义对方类型的对象一对…

POJ3348-Cows【凸包,计算几何】

正题 题目大意 凸包的面积S&#xff0c;求⌊S/50⌋\left \lfloor S/50\right \rfloor⌊S/50⌋ 解题思路 求凸包&#xff0c;然后求面积&#xff0c;然后求答案。 codecodecode #include<cstdio> #include<algorithm> #include<cmath> #define N 10010 usi…

【乱码】字符串乱码

1、html <meta charset"UTF-8">2、mysql mysql_query(set names "utf8");3、php header("Content-Type: application/json;charsetUTF-8");json解码 $a你好; echo json_encode($a);加入 $aurldecode($a);即可解码

.NET Core 使用RSA算法 加密/解密/签名/验证签名

前言 前不久移植了支付宝官方的SDK&#xff0c;以适用ASP.NET Core使用支付宝支付&#xff0c;但是最近有好几位用户反应在Linux下使用会出错&#xff0c;调试发现是RSA加密的错误&#xff0c;下面具体讲一讲。 RSA在.NET Core的改动 以前我们使用RSA加密主要是使用RSACryptoSe…

C++描述杭电OJ 2012.素数判定 ||

C描述杭电OJ 2012.素数判定 || Problem Description 对于表达式n^2n41&#xff0c;当n在&#xff08;x,y&#xff09;范围内取整数值时&#xff08;包括x,y&#xff09;(-39<x<y<50)&#xff0c;判定该表达式的值是否都为素数。 Input 输入数据有多组&#xff0c;…

ajax读取.txt文件出现乱码

其实挺简单一问题&#xff0c;刚开始以为页面没输入 <meta charset"UTF-8">结果还是乱码&#xff0c;后来想到老师讲过&#xff0c;新建文件时保存文件有utf8和ANSI等格式&#xff0c;一看果然不对&#xff0c;自己每次新建文件默认格式都是ANSI&#xff0c;这…

P3369-[模板]普通平衡树【有旋Treap】

正题 评测记录:https://www.luogu.org/recordnew/lists?uidSSL_WYC_zombieeeeee&pidP3369&status&sort0 题目大意 要求支持查询一个数字的排名&#xff0c;查询该排名的数字&#xff0c;插入数字&#xff0c;删除数字&#xff0c;求前驱后继。 解题思路 有旋Tr…

ASP.NET Core中的OWASP Top 10 十大风险-SQL注入

本博文翻译自&#xff1a; https://dotnetcoretutorials.com/2017/10/11/owasp-top-10-asp-net-core-sql-injection/ OWASP或者说是开放Web应用程序安全项目&#xff0c;这是一个非营利性的组织&#xff0c;其目的是促进安全的web应用程序的开发和设计。当他们在世界各地举办不…

C++描述杭电OJ 2023.求平均成绩 ||

C描述杭电OJ 2023.求平均成绩 || Problem Description 假设一个班有n(n<50)个学生&#xff0c;每人考m(m<5)门课&#xff0c;求每个学生的平均成绩和每门课的平均成绩&#xff0c;并输出各科成绩均大于等于平均成绩的学生数量。 Input 输入数据有多个测试实例&#x…

adb操作

adb下载安装 链接&#xff1a;https://pan.baidu.com/s/1Tg_q7Q5wS-0-y_3KuZL-dQ 提取码&#xff1a;599i 检验是否连接到手机 adb devices 检测是否自己的手机 adb shell wm size 无线连接: 先开启usb连接调试 连接手机ip adb connect 192.168.1.5 连接成功后可拔掉usb继续测…

P3369-[模板]普通平衡树【替罪羊树】

正题 评测记录:https://www.luogu.org/recordnew/lists?uidSSL_WYC_zombieeeeee&pidP3369&status&sort0 题目大意 要求支持查询一个数字的排名&#xff0c;查询该排名的数字&#xff0c;插入数字&#xff0c;删除数字&#xff0c;求前驱后继。 解题思路 替罪羊…

萨提亚领衔主题演讲,带领高管和MVP合影,预告Julia女神的演讲中将有我的.NET Core实践

微软Tech Summit 2017大会在精彩的暖场视频中劲爆开始&#xff0c;瞬间点燃参会者们的热情。予力全球每一人、每一组织&#xff0c;成就不凡&#xff0c;是微软的使命。 微软公司首席执行官萨提亚 ∙ 纳德拉发布了主题演讲&#xff0c;他表示&#xff1a;“稳定发展、持续创新…

C++描述杭电OJ 2015.偶数求和 ||

C描述杭电OJ 2015.偶数求和 || Problem Description 有一个长度为n(n<100)的数列&#xff0c;该数列定义为从2开始的递增有序偶数&#xff0c;现在要求你按照顺序每m个数求出一个平均值&#xff0c;如果最后不足m个&#xff0c;则以实际数量求平均值。编程输出该平均值序列…

Zookeeper一致性协议原理Zab

转载自 Zookeeper一致性协议原理Zab ZooKeeper为高可用的一致性协调框架&#xff0c;自然的ZooKeeper也有着一致性算法的实现&#xff0c;ZooKeeper使用的是ZAB协议作为数据一致性的算法&#xff0c; ZAB&#xff08;ZooKeeper Atomic Broadcast &#xff09; 全称为&#xf…

ajax读取文件未及时更新

在ajax读取文件&#xff08;.txt,.json&#xff09;时&#xff0c;会发生更改文件&#xff0c;ajax读取的还是原来的文件&#xff0c;要想改变这个可以在读取文件的后缀在加个&#xff1f;tXXX 具体情况如下 这样由于t值在变化&#xff0c;浏览器就会认为是个变化的值&#x…

P3369-[模板]普通平衡树【Splay】

正题 评测记录:https://www.luogu.org/recordnew/lists?uidSSL_WYC_zombieeeeee&pidP3369&status&sort0 题目大意 要求支持查询一个数字的排名&#xff0c;查询该排名的数字&#xff0c;插入数字&#xff0c;删除数字&#xff0c;求前驱后继。 解题思路 Splay不…

基于.NET CORE微服务框架 -浅析如何使用surging

1、前言 surging受到大家这么强烈的关注&#xff0c;我感到非常意外&#xff0c;比如有同僚在公司的分享会上分享surging, 还有在博客拿其它的RPC框架&#xff0c;微服务做对比等等&#xff0c;这些举动都让我感觉压力很大&#xff0c;毕竟作为个人的开源项目&#xff0c;无法与…

C++描述杭电OJ 2016.数据的交换输出 ||

C描述杭电OJ 2016.数据的交换输出 || Problem Description 输入n(n<100)个数&#xff0c;找出其中最小的数&#xff0c;将它与最前面的数交换后输出这些数。 Input 输入数据有多组&#xff0c;每组占一行&#xff0c;每行的开始是一个整数n&#xff0c;表示这个测试实例的…