Luogu P2742 圈奶牛

Luogu_P2742 圈奶牛 Fencing the Cows /【模板】二维凸包 圈奶牛 Fencing the Cows 链接 Luogu_P2742 圈奶牛 Fencing the Cows /【模板】二维凸包 题目描述 农夫约翰想要建造一个围栏用来围住他的奶牛,可是他资金匮乏。他建造的围栏必须包括他的奶牛喜欢吃草的所有地点。对于给出的这些地点的坐标,计算最短的能够围住这些点的围栏的长度。 输入格式 输入数据的第一行是一个整数。表示农夫约翰想要围住的放牧点的数目 nn。 第222到第(n+1)(n+1)(n+1)行,每行两个实数,第(i+1)(i+1)(i+1)行的实数xi,yix_ 阅读详情

第一次计算几何

题目大意:

给定平面内一些点,求凸包周长。

代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int n,sum;
double ans;
struct Point
{
	double x,y;
	Point(double x=0,double y=0):x(x),y(y){}
}p[10010],ch[10010];
const double eps=1e-8;
int dcmp(double x)
{
	if(fabs(x)<eps) return 0;
	else return x<0?-1:1;
}
typedef Point Vector;
Vector operator + (Vector A,Vector B) {return Vector(A.x+B.x,A.y+B.y);}
Vector operator - (Point A,Point B) {return Vector(A.x-B.x,A.y-B.y);}
Vector operator * (Vector A,double p){return (A.x*p,A.y*p);}
Vector operator / (Vector A,double p){return (A.x/p,A.y/p);}
bool operator == (Vector A,Vector B) {return dcmp(A.x-B.x)==0&&dcmp(A.y-B.y)==0;}
bool operator < (const Point& a,const Point& b){return a.x<b.x||a.x==b.x&&a.y<b.y;}
double Cross(Vector A,Vector B)
{
	return A.x*B.y-A.y*B.x;
}
double dis(Point A,Point B)
{
	return sqrt((double)(A.x-B.x)*(A.x-B.x)*1.0+(double)(A.y-B.y)*(A.y-B.y)*1.0);
}
int ConvexHull(Point *p,int n,Point *ch)
{
	sort(p,p+n);
	int m=0;
	for(int i=0;i<n;i++)
	{
		while(m>1&&Cross(ch[m-1]-ch[m-2],p[i]-ch[m-2])<=0) m--;
		ch[m++]=p[i];
	}
	int k=m;
	for(int i=n-2;i>=0;i--)
	{
		while(m>k&&Cross(ch[m-1]-ch[m-2],p[i]-ch[m-2])<=0) m--;
		ch[m++]=p[i];
	}
	if(n>1) m--;
	return m;
}
int main()
{
	scanf("%d",&n);
	for(int i=0;i<n;i++) scanf("%lf%lf",&p[i].x,&p[i].y);
	sum=ConvexHull(p,n,ch);
	for(int i=0;i<sum;i++) ans+=dis(ch[i],ch[i+1]);
	ans+=dis(ch[sum],ch[0]);
	printf("%.2lf",ans);
	return 0;
}


Screenshot_2026-11-03-16-23-09-34.jpg 立即下载

相关推荐

研发流程后端开发工具,提示功能开发效率

后端开发工具

【Luogu_P2742】圈奶牛Fencing the Cows /【模板】二维凸包

思路: 直接凸包模板 codecodecode #include<algorithm> #include<iostream> #include<cstdio> #include<cmath> using namespace std; long long n, top, s[1000010]; double ans; struct node { double x, y; }p[1000010]; double cj(double x, double y,..

ha 232

机器人具有扰动抑制功能的有限时间基于方位角的领航者-跟随者编队控制(Matlab代码实现)

内容概要:本文档标题为《Plecs全桥LLC谐振变换器仿真模型.txt》,但实际内容并未涉及该主题的具体技术细节或仿真建模过程。相反,文档实质是一份由科研服务团队发布的跨学科资源目录,集中展示了大量基于Matlab、Simulink、Python、PSCAD等平台实现的科研项目与算法开发案例,涵盖电力系统、无人机路径规划、微电网优化、状态估计、信号处理、车间调度、图像处理、通信技术、雷达追踪、智能优化算法等多个工程技术领域。每个条目以“【】”标注研究主题,并注明“Matlab代码实现”“Python代码实现”等形式,表明其为可提供技术支持与代码资源的服务项目。文档末尾频繁出现“完整资源下载:公众号——荔枝科研社”及百度网盘链接,明确体现出其作为科研辅助服务推广与引流工具的功能属性。; 适合人群:面向电气工程、自动化、控制科学与工程、计算机科学、智能制造、新能源、航空航天、通信工程及相关交叉学科的研究生、高校教师、科研人员及企业研发工程师。; 使用场景及目标:①为科研人员提供课题选题、技术路线设计与算法实现的参考范例;②辅助学生或研究人员完成课程设计、毕业论文、项目仿真与算法复现任务;③作为第三方技术服务团队的能力展示目录,便于潜在客户快速了解其在多领域提供的定制化仿真与算法开发服务范围。; 阅读建议:此文档并非传统意义上的学术论文或技术教程,而是一份高度碎片化、广告性质浓厚的资源索引清单。读者应忽略其误导性的文件名,将其视为一个综合性科研技术服务目录,重点关注自身研究方向相关的条目,并通过文末提供的公众号或网盘链接进一步获取具体代码与资料。同时,需注意甄别资源的技术质量、原创性与适用性,避免盲目依赖外部服务。

#Jarivs算法# [luogu P2742] [USACO5.1]圈奶牛Fencing the Cows /【模板】二维凸包

Title https://www.luogu.com.cn/problem/P2742 Solution JarivsJarivsJarivs算法主要步骤: 找到最左边的点 核心部分PROC1PROC1PROC1,顺时针进行凸包。枚举两点,用叉积计算夹角,选择最左的解,如果三点共线,选择最远的点。 Code #include<cstdio> #include<algorithm> #include<cmath> #include<iostream>

Nowed 381

科技中介服务机构如何打造高效、可复制的技术交易服务流程?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

高校技术转移办公室人员如何提升科研成果的市场推广与转化成功率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

luogu P2742 【模板】二维凸包 / [USACO5.1]圈奶牛Fencing the Cows

题解: 二维凸包裸题 按照x坐标为第一关键字,y坐标为第二关键字排序 然后相邻判断叉积用单调队列搞过去 正反都做一次就好了 代码: #include <bits/stdc++.h> using namespace std; #define rint register int #define IL inline #define rep(i,h,t) for (in...

weixin_30393907的博客 115

基于LSTM神经网络的风电功率预测研究(Matlab代码实现)

内容概要:本文档名为《Plecs全桥LLC谐振变换器仿真模型.txt》,但其实际内容并未包含与Plecs或全桥LLC谐振变换器相关的具体仿真模型,而是汇集了大量来自优快云博客平台的技术文章标题和片段,内容涉及基于MATLAB的电力系统动态分析、风储VSG系统仿真、多无人机路径规划、最优潮流计算、卡尔曼滤波状态估计、车间调度算法、无线电力传输、抽水蓄能电站调度等多个领域。这些内容主要围绕Matlab/Simulink或Python代码实现展开,覆盖电力电子、电力系统、自动化控制、优化算法、信号处理、深度学习等方向,具有较强的科研仿真属性。然而,文档整体缺乏统一主题与逻辑结构,信息呈现高度碎片化,更像是多个独立技术资源的罗列而非系统性论述。; 适合人群:适用于从事电力系统、电力电子、自动化控制、智能制造、人工智能、信号处理及相关交叉学科的研究生、高校科研人员及企业研发工程师。; 使用场景及目标:①作为科研选题与技术调研的灵感来源,快速掌握当前热门研究方向与方法论;②获取多种仿真模型的设计思路与实现框架,辅助完成课程设计、学位论文或科研项目的建模仿真任务;③结合文中提及的算法(如PSO、NSGA-II、EKF、CNN、LSTM等)与工具(如Matlab/Simulink、PSCAD等),开展系统性学习与二次开发。; 阅读建议:此文档内容杂乱无章,不具备连贯阅读价值,建议仅将其作为索引线索,从中提取感兴趣的主题后,进一步查找原始完整文献或配套代码资源进行深入研究,避免陷入无效信息泛滥的困境。

Luogu P2742 [USACO5.1]圈奶牛Fencing the Cows /【模板】二维凸包【计算几何】【单调栈】【Graham算法】

计算几何+单调栈(Graham算法)

JA_yichao欢迎你 cnblogs账号:https://www.cnblogs.com/mayichao/ 234

产业园区运营负责人如何精准匹配企业与高校科研资源?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

LLC谐振变换器开环+闭环软启动仿真设计(Simulink仿真实现)

内容概要:本文系统介绍了LLC谐振变换器的开环与闭环软启动仿真设计方法,基于Simulink平台实现,涵盖半桥、全桥等多种拓扑结构的建模与仿真。重点阐述了软启动过程中的控制策略,包括变频控制、移相混合控制、恒压恒流双闭环控制等核心技术,深入分析了从开环启动平稳过渡到闭环控制的切换机制。文中提供了完整的仿真模型、设计报告、参数计算书及参考文献等配套资料,有助于读者全面掌握LLC谐振变换器的工作原理、动态响应特性及其在高频高效DC-DC变换场景中的应用,适用于电力电子系统的设计与优化研究。; 适合人群:具备电力电子与电力系统基础知识,从事电源设计、新能源变换器研发、电力电子器件应用或相关领域研究的研究生、工程师及科研人员。; 使用场景及目标:①掌握LLC谐振变换器软启动过程的控制机制与Simulink建模方法;②学习开环启动至闭环控制的平滑切换策略与实现方式;③开展高频高效DC-DC变换器的性能优化与动态响应分析;④支撑毕业设计、科研项目开发或高水平学术论文的复现与创新研究。; 阅读建议:建议结合所提供的Simulink仿真模型与参数计算文档同步操作,逐步调试关键参数,重点关注软启动过程中电压电流冲击的抑制效果,对比不同控制策略下的系统动态性能差异,深入理解谐振变换器的控制逻辑与稳定性设计要点。

洛谷P2742 圈奶牛Fencing the Cows(凸包模板)

题目链接 https://www.luogu.org/problem/P2742 代码 #include <bits/stdc++.h> #define ll long long using namespace std; const ll maxn=1e4+10; int inf=1e9; void read(int &x){ int f=1;x=0;char ...

Megurine_Luka_的博客 415

eNSP搭建基础网络

1、除5的环回地址固定以外,整个其他所有网段基于192.168.1.0/24进行合理的IP地址划分 2、R1-R4每个路由器存在两个环回接口,用于模拟连接pc网段﹔地址也在192.168.1.0/24这个网络范围内 3、R1-R4上不能直接编写到达5.5.5.0/24的静态路由,但依然可以访问 4、全网可达,尽量减少每台路由器,路由表条目数量,避免环路出现5R4与R5间,正常100oA链路通信,故障时自动改为100M 全网使用192.168.1.0/24网段进行划分,尽量减少路由条目Pc端IP使用pHcP技

在月光下棕榈树的叶子在瑟瑟抖动 8469

【洛谷P2742】【模板】二维凸包/[USACO5.1]圈奶牛【凸包】

凸包模板题。凸包get√

stoorz 264

零成本实现飞牛 OS 内网穿透:CloudFlare 隧道搭建全攻略

一、引言:突破内网限制的最优解当你的内网环境中部署了飞牛 OS 系统(无论是老旧电脑还是 NAS 设备),想要实现公网访问时,传统方案往往面临两大痛点:公网 IP 申请困难且成本高DDNS 动态解析配置复杂专业内网穿透工具存在付费门槛今天为大家带来零成本解决方案:通过免费域名搭配 CloudFlare 隧道技术,无需公网 IP 即可轻松实现飞牛 OS 服务的公网访问。全程操作可视化,新手也能快速上手!二、前期准备:必备工具清单(1)域名准备。

Honmaple的博客 7493

Docker一键部署Synopsys EDA全家桶(VCS/Verdi 2018版)保姆级教程

本文提供了一份详尽的Docker容器化部署Synopsys EDA工具链(VCS/Verdi 2018版)的保姆级教程。通过环境隔离与标准化,解决传统安装的依赖冲突问题,并重点攻克了容器内GUI图形界面显示的核心难题。教程涵盖从Docker基础安装、镜像获取、容器启动配置,到使用X11转发或VNC实现Verdi完美显示的完整实践,旨在帮助芯片设计工程师快速构建稳定、可移植的一键化EDA工作环境。

weixin_29281941的博客 198

凸包——Luogu2742 [USACO5.1]圈奶牛Fencing the Cows

传送门 二维凸包裸题 还是按照极角排序(可能我的排序方式怪异一点的) 然后开栈用Graham求出凸包周长即可 由于我交到洛谷上的时间正值本题数据出错的时候,我不敢确定我是不是对的。。。 先放着吧,到时候如果有错再改吧#include<bits/stdc++.h> using namespace std; struct ppap{double x,y,dis,j;}a[100001]; in

2333:jzqjzq的博客专栏 449

MATLAB - 浮动基座机器人的逆运动学

本例演示如何解决以浮动底座为模型的机器人的逆运动学问题。浮动底座机器人可以在空间中自由平移和旋转,具有六个自由度。浮动基座机器人的逆运动学问题适用于空间应用,即使用安装在浮动和致动基座上的机械臂在空间操纵物体,也适用于躯干和腿部可在空间自由移动的行走机器人。请注意,刚体树对象表示具有固定基体的刚体树。这意味着刚体树的基体在世界中具有固定的位置和方向。您可以在基体上附加一个 “浮动 ”类型的刚体关节,为具有浮动基体的机器人建模,以用于动态模拟等某些应用。

机器人控制与仿真应用 2440

[luogu2742]:[USACO5.1]圈奶牛Fencing the Cows

传送门 突然心血来潮开始搞计算几何。。 首先肯定是凸包。。 直接贴代码吧。。。 代码:#include<cstdio> #include<cstring> #include<iostream> #include<cmath> #include<algorithm> #include<cstdlib> #define ll long long using namespace std; inli

玫葵之蝶 354

超越防抖:索尼CXD5254GG芯片如何重新定义电子影像稳定

索尼CXD5254GG芯片通过融合6轴IMU与图像传感器数据,重新定义了电子影像稳定技术。其核心突破在于实时地平线校正、抑制果冻效应和镜头畸变校正,并搭载智能画质控制器提升画面细节。该芯片适用于广播制作、体育娱乐、安防监控和机器人视觉导航等专业领域,提供开箱即用的优化参数配置,大幅缩短开发周期。CXD5254GG不仅实现稳定成像,更通过姿态感知与智能优化,为专业影像应用提供了完整的稳定解决方案。

致力于lidar应用开发 114

11、基于STM32的智能药盒

当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能控制系统所取代。嵌入式具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

行走的皮卡丘 6103

OI模板 凸包

OI模板 凸包 凸包-Andrew const int N=1; const double eps=1e-8; int is0(double x){return (fabs(x)<eps?0:(x<0)?-1:1);} struct Point{ double x,y; Point(){} Point(double x,double y):x(x),y(y){} Point operator+(Point b){return Point(x+b.x,y+b.y);} Point op

im_zyINF的博客 206

12027.linux flash驱动之IS25LP01G/IS25WWP01G

一页:512字节 --> 扇区 4096字节 --> 块 32k,64k, 层层递进关系。

写给自己的笔记 2289

洛谷模板汇整

洛谷模板汇整

Demilly123的博客 883

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: BZOJ 1391 order
下一篇: BZOJ 3203 保护出题人
Slr2002
博客等级 码龄9年 3粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值