CF-30 D - King's Problem?(枚举+最短路)

全局最小割 一个无向连通网络,去掉一个边集可以使其变成两个连通分量则这个边集就是割集;最小割集当然就权和最小的割集。 可以用最小切割最大流定理: 1.min=MAXINT,确定一个源点 2.枚举汇点 3.计算最大流,并确定当前源汇的最小割集,若比min小更新min 4.转到2直到枚举完毕 5.min即为所求输出min     不难看出复杂度很高:枚举汇点要O(n),最 阅读详情

D - King's Problem?
Crawling in process... Crawling failed Time Limit:3000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u

Description

Every true king during his life must conquer the world, hold the Codeforces world finals, win pink panda in the shooting gallery and travel all over his kingdom.

King Copa has already done the first three things. Now he just needs to travel all over the kingdom. The kingdom is an infinite plane with Cartesian coordinate system on it. Every city is a point on this plane. There are n cities in the kingdom at points with coordinates (x1, 0), (x2, 0), ..., (xn, 0), and there is one city at point (xn + 1, yn + 1).

King starts his journey in the city number k. Your task is to find such route for the king, which visits all cities (in any order) and has minimum possible length. It is allowed to visit a city twice. The king can end his journey in any city. Between any pair of cities there is a direct road with length equal to the distance between the corresponding points. No two cities may be located at the same point.

Input

The first line contains two integers n and k (1 ≤ n ≤ 105, 1 ≤ k ≤ n + 1) — amount of cities and index of the starting city. The second line contains n + 1 numbers xi. The third line contains yn + 1. All coordinates are integers and do not exceed 106 by absolute value. No two cities coincide.

Output

Output the minimum possible length of the journey. Your answer must have relative or absolute error less than 10 - 6.

Sample Input

Input
3 1
0 1 2 1
1
Output
3.41421356237309490000
Input
3 1
1 0 2 1
1
Output
3.82842712474619030000
Input
4 5
0 5 -1 -5 2
3
Output
14.24264068711928400000

思路:如图,假设将所有点排序后,A为最左点,C为最右点,B为起始点,D为最后的n+1点,E为A到C中的任意一点。

      枚举所有的E点(AE+ED+DE+EC+BC)or(BA+AE+ED+DE+EC)最短路的最优解必在其中。

#include<iostream>
#include<cstring>
#include<iomanip>
#include<algorithm>
#include<cmath>
using namespace std;
const int mm=110000;
double x,y,xx[mm];
int n,m,xxm;
double C(int z)
{
  return hypot(x-xx[z],y);
}
double A(int l,int r)
{
  double z=xx[r]-xx[l]+min(C(l),C(r));
  return z;
}
double B(int l,int r)
{
  double z;
  z=xx[r]-xx[l]+min(C(l)+abs(xxm-xx[r]),C(r)+abs(xxm-xx[l]));
  return z;
}
int main()
{
  while(cin>>n>>m)
  {
    for(int i=0;i<n;i++)
      cin>>xx[i];
    cin>>x>>y;
    xxm=xx[m-1];
    sort(xx,xx+n);
    double ans;
    if(m==n+1)ans=A(0,n-1);
    else 
    {ans=B(0,n-1);
     for(int i=1;i<n;i++)
     {
      double z;z=min(A(0,i-1)+B(i,n-1),A(i,n-1)+B(0,i-1));
      ans=ans<z?ans:z;
      ///cout<<"z="<<z<<endl;
     }
    }
    cout.setf(ios::fixed);
    cout<<setprecision(8)<<ans<<"\n";
  }
}



ios快捷指令进行钉钉打卡 首先 1、打开快捷指令 2、自动化 3、创建个人自动化-特定时间 4、添加操作-搜索“随机数” 5、最小值和最大值填充 6、添加操作-搜索“等待” 7、长按“1秒钟”,选择魔法变量,选择上一步的随机数 6、添加操作-搜索“钉钉” 7、选择钉钉-随便一个聊天窗口。 8、添加操作-搜索“等待”,这次将等待时间设为10秒 9、添加操作 “搜索天气” ,选择显示天气。 注意点: 1、此操作依赖于钉钉极速打卡,只是帮忙唤起钉钉。 2、保存自动化时有个运行前询问,务必关掉。 3、手机不能设 阅读详情

相关推荐

别再只用真彩色了!手把手教你用ENVI主成分分析(PCA)给遥感图像‘美颜’与‘瘦身’

本文详细介绍了如何利用ENVI主成分分析(PCA)技术优化遥感图像处理,实现数据‘美颜’与‘瘦身’。通过PCA的维度压缩、噪声分离和特征增强三大优势,显著提升高光谱数据的可视化效果和分析效率。文章还提供了ENVI操作的最佳实践和常见问题解决方案,帮助读者掌握这一遥感图像处理的游戏规则改变者。

weixin_28465009的博客 275

CF 30D king's problem

king’s problem 这道题第一眼看上去是普通的贪心(这傻孩子真可怜) 贪心 分类讨论的贪心 不多说 主要是分成 起始点是否在x轴上 不在很好做 在的话,就分两种状况比大小讨论 出解 #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;algorithm&gt; #include&lt;cmath&g...

beautiful_CXW的博客 287

正点原子RK3588 Android 12镜像构建实战:从环境配置到烧录验证全指南

本文提供了一份基于正点原子RK3588开发板的Android 12镜像构建全流程实战指南。内容涵盖从Ubuntu环境配置、SDK获取、编译内核与系统,到最终镜像打包与烧录验证的完整步骤,并分享了内核驱动定制与系统优化技巧,旨在帮助开发者高效完成瑞芯微RK3588平台的系统定制工作。

grass的博客 810

CodeForces - 30D King‘s Problem?【贪心】

题目链接:https://codeforces.com/contest/30/problem/D #include <iostream> #include <cstdio> #include <cstdlib> #include <cctype> #include <cmath> #include <climits> #include <cstring> #include <vector> #include &l

inv0ker的博客 308

DISM错误87详解:RestoreHealth选项无法识别的修复方法

DISM(部署映像服务和管理工具)是Windows系统维护与修复的核心命令行工具,常与SFC(系统文件检查器)配合使用,用于扫描和修复组件存储损坏、系统文件缺失等问题。在执行系统健康检查时,用户常会遭遇错误87,提示“未在此上下文中识别出restorehealth选项”。该错误的本质并非工具损坏,而是命令参数结构不符合DISM的语法解析规则,或当前系统环境(如Windows 7、WinRE/PE、32位环境)不支持该参数。理解DISM的命令层级、参数挂载关系以及运行上下文,是精准排除故障的前提。通过核对标准

weixin_34116482的博客 473

单细胞测序流程(十)KEGG通路富集分析与可视化圈图实战解析

本文详细解析了单细胞测序数据分析中KEGG通路富集分析与可视化圈图的完整实战流程。从差异表达基因列表出发,通过R语言进行KEGG富集分析,并利用Perl脚本进行基因ID转换,最终使用GOplot包绘制高级可视化圈图,帮助研究者将基因列表转化为有意义的生物学故事。

i7j8k9l的博客 405

codeforces 30D King's Problem? 数学

codeforces 30D King's Problem? 数学

-Claude 1040

【ES】--Elasticsearch的分词器深度研究

分词器是ik_max_word,会将“龙马家书”拆分为“龙马”、“马家”、“家书”。然后filter配置的是edge_ngram_filter,在上面拆分的token词组基础上,按照edge_ngram_filter规则进一步拆分。从结果看:分词器是keyword,filter支持edge_ngram_filter,字符过滤器支持tsconvert【简繁体】。分词器是keyword,表明是不进行分词,但filtet中edge_ngram_filter是按照布长方式拆分token,所以得到如此结果。

寻梦友的博客 2425

【贪心】codeforces30D King‘s problem

直接上中文题面 King's Problem? 时间限制:3.0s  内存限制:256.0MB   Special Judge 问题描述   每一个真正的国王在他的一生中,一定会征服世界,取得 codeforces 的世界冠军,在射击场赢得粉色的熊猫(= =),并游历整个王国。   国王 Copa 已经完成了前三件事。现在他只需要游历完整个王国了。他的王国在一个无限大的笛卡尔坐标系

Kemlkyo 844

AlertManager的使用(邮件和微信告警)

一、AlertManager概述 Prometheus 包含一个报警模块,就是我们的 AlertManager,Alertmanager 主要用于接收 Prometheus 发送的告警信息,它支持丰富的告警通知渠道,而且很容易做到告警信息进行去重,降噪,分组等,是一款前卫的告警通知系统。 Alertmanager是一个独立的告警模块,接收Prometheus等客户端发来的警报,之后通过分组、删除重复等处理,并将它们通过路由发送给正确的接收器;告警方式可以按照不同的规则发送给不同的模块负责人,Alertman

weixin_45880055的博客 2万+

别再只会按按钮了!用NanoStat开源项目学ESP32硬件设计:BOOT与自动下载电路的避坑指南

本文通过NanoStat开源项目深入解析ESP32硬件设计中BOOT与自动下载电路的关键技术。从启动机制、电路设计陷阱到三极管选型,提供了一套完整的避坑指南和优化方案,帮助开发者提升设计可靠性和烧录效率。特别适合中级开发者学习ESP32硬件设计的精髓。

weixin_30296405的博客 439

Codeforces 30D King's Problem? 模拟

首先将n个点排序,找出排序后的K,然后分情况讨论。 当 k == n+1时,显然是 k->1->n || k->n->1这两种的较小值,因为三角形的两边之和大于第三边。 当1 1 , k -> 1 -> n+1 -> k+1 ->n  ||  k -> n -> n+1 -> k-1 -> 1,当k+1 || k-1 不存在时将对应步骤忽略。 2 , k - > 1 -> n+1 ->

自在飞花 1055

第 0 篇|开篇:为什么我们要从 RNN 讲到 Transformer?

本文介绍了NLP模型的发展历程,从早期规则式方法到如今Transformer模型的演进脉络。文章强调理解NLP技术需要从基础模型入手,重点分析了传统机器学习的局限性(无法处理变长有序输入和深层语义关联),以及RNN如何通过循环结构首次实现顺序依赖捕捉。作者指出Transformer之所以成为主流,是因为它通过自注意力机制解决了RNN的核心痛点(低效串行处理和长距离依赖问题)。专栏将采用"从问题到解决方案"的讲解方式,帮助读者建立完整的NLP知识体系,避免孤立学习和盲目追新。全文旨在为初学

记录 IT 领域经验与见解的博客 73

The King’s Problem - targin缩点加最小路径覆盖

The King’s Problem 在一个王国里面,国王有一个新的问题. 皇城中有N个城市M条单行路,为了让他的王国更加高效,国王想要将他的王国划分成几个州,每个城市必须属于一个州。对于两个城市(u,v),必须满足以下3个条件: 1、如果有一条从u到v的路,也有一条从v到u的路,那么u、v必须属于同一个州; 2、对于每一个州里的任何两个城市u、v,至少要有一方能到达另一方(必须经...

lyslyslys的博客 257

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

hdu3861The King’s Problem

题目意思就是一个国家有n个城市,里面的道路都是单向的,现在国王要把国家分割成区域,要求的就是,每个区域里面的点u、v,u到v可达或者是v到u可达。求最少要分隔成几个区域。 显然就是最小路径覆盖问题,只是要缩点。 /***************************************** Author :Crazy_AC(JamesQi) Time :2015

KIJamesQi的博客 478

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

The King’s Problem HDU - 3861(连通图 缩点 匹配)

在一个王国里面,国王有一个新的问题. 皇城中有N个城市M条单行路,为了让他的王国更加高效,国王想要将他的王国划分成几个州,每个城市必须属于一个州。对于两个城市(u,v),必须满足以下3个条件: 1、如果有一条从u到v的路,也有一条从v到u的路,那么u、v必须属于同一个州; 2、对于每一个州里的任何两个城市u、v,至少要有一方能到达另一方(必须经过同一个州的点到达)。 ...

babing2770的博客 194

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

uva 10917 Walk Through the Forest(最短路+DP路径,4级)

Description Problem C: A Walk Through the Forest Jimmy experiences a lot of stress at work these days, especially since his accident made working difficult. To relax after a hard day, he lik

nealgavin的专栏 2130

CF-29C - Mail Stamps(DFS+离散化)

C - Mail Stamps Crawling in process... Crawling failed Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 29C Description

nealgavin的专栏 1707

hdu 4756 Install Air Conditioning(MST+全边次小树,4级)

Install Air Conditioning Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 174    Accepted Submission(s): 23 Problem Description   

nealgavin的专栏 1443

hdu 4650 Minimum Average Weight Path(最短路,5级)

第4场多校联合训练解题报告——详见杭电ACM微博~ Minimum Average Weight Path Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 94    Accepted Submissio

nealgavin的专栏 1389

UVA1416 Warfare And Logistics(LA4080)(最短路,5级)

Description The army of United Nations launched a new wave of air strikes on terrorist forces. The objective of the mission is to reduce enemy's logistical mobility. Each air strike will destro

nealgavin的专栏 1342

HDU 1068 Girls and Boys(二分图最大独立点集,3级)

Girls and Boys Time Limit:10000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status   Appoint description:  System Crawler  (2012-10-30) Description the secon

nealgavin的专栏 1229

uva 1364 - Knights of the Round Table(点双连通分量,5级)

Being a knight is a very attractive career: searching for the Holy Grail, saving damsels in distress, and drinking with the other knights are fun things to do. Therefore, it is not very surprising tha

nealgavin的专栏 1224

ZOJ 3780 Paint the Grid Again(topsort)

ZOJ Problem Set - 3780 Paint the Grid Again Time Limit: 2 Seconds      Memory Limit: 65536 KB Leo has a grid with N × N cells. He wants to paint each cell with a specific color (either black

nealgavin的专栏 1209

10054 - The Necklace(欧拉回路+DFS,2级)

Problem D: The Necklace  My little sister had a beautiful necklace made of colorful beads. Two successive beads in the necklace shared a common color at their meeting point. The figure belo

nealgavin的专栏 1184

hdu 4725 The Shortest Path in Nya Graph(堆+dij,最短路,5级)

The Shortest Path in Nya Graph Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 193    Accepted Submission(s): 38 Problem Description Th

nealgavin的专栏 1167
上一篇: ZOJ 1060 poj 1094 Sorting It All Out(拓扑排序或 弗洛德)
下一篇: ZOJ 1203 Swordfish(Kruskal 最小树)
剑不飞
博客等级 码龄15年 86粉丝 505原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值