uva1347 - Tour DP

用Python实现单层感知器:5分钟搞定逻辑与/或/异或分类(附避坑指南) 本文通过Python代码实战,详细讲解了单层感知器的核心原理与实现步骤,5分钟内即可完成逻辑与、或运算的分类任务。文章深入剖析了单层感知器的能力边界,解释了其无法解决异或(XOR)等线性不可分问题的根本原因,并提供了学习率设置、权重初始化等关键避坑指南,帮助初学者直观理解神经网络的基础。 阅读详情

John Doe, a skilled pilot, enjoys traveling. While on vacation, he rents a small plane and starts visiting beautiful places. To save money, John must determine the shortest closed tour that connects his destinations. Each destination is represented by a point in the plane pi = < xi, yi > . John uses the following strategy: he starts from the leftmost point, then he goes strictly left to right to the rightmost point, and then he goes strictly right back to the starting point. It is known that the points have distinctx -coordinates.

Write a program that, given a set of n points in the plane, computes the shortest closed tour that connects the points according to John's strategy.

Input 

The program input is from a text file. Each data set in the file stands for a particular set of points. For each set of points the data set contains the number of points, and the point coordinates in ascending order of the x coordinate. White spaces can occur freely in input. The input data are correct.

Output 

For each set of data, your program should print the result to the standard output from the beginning of a line. The tour length, a floating-point number with two fractional digits, represents the result.


Note: An input/output sample is in the table below. Here there are two data sets. The first one contains 3 points specified by their x and y coordinates. The second point, for example, has the x coordinate 2, and the y coordinate 3. The result for each data set is the tour length, (6.47 for the first data set in the given example).

Sample Input 

3 
1 1
2 3
3 1
4 
1 1 
2 3
3 1
4 2

Sample Output 

6.47
7.89

  有N个点,从1出发到N再返回1,除了1和N只经过其他点1次,求最短距离。

  相当于两个人从1出发走两条不相交的路到N(x小的肯定比x大的先经过),dp[i][j]表示两个人分别在i,j(i>j),并且从1-i的所有点都经过的最短距离。dp[1][1]初始化为0,其它INF,对于j<i-1,那肯定是从dp[i-1][j],i-1到i走一步递推来,对于j=i-1,那么可以从1-j的任意一点到i。

#include<iostream>
#include<queue>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<set>
#include<map>
#include<vector>
#include<stack>
#include<algorithm>
using namespace std;
typedef long long LL;
typedef pair<LL,LL> pii;

const int MAXN=1010;
const LL MAXM=2600;
const double INF=999999999999.0;
const LL MOD=1000000009;

int N;
double dp[MAXN][MAXN],dist[MAXN][MAXN],x[MAXN],y[MAXN];

int main(){
    freopen("in.txt","r",stdin);
    while(scanf("%d",&N)!=EOF){
        for(int i=1;i<=N;i++) scanf("%lf%lf",&x[i],&y[i]);
        for(int i=1;i<=N;i++)
            for(int j=i+1;j<=N;j++) dist[i][j]=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
        for(int i=0;i<=N;i++)
            for(int j=0;j<=N;j++) dp[i][j]=INF;
        dp[1][1]=0;
        for(int i=2;i<=N;i++){
            for(int j=1;j<i-1;j++){
                if(dp[i-1][j]!=INF) dp[i][j]=min(dp[i][j],dp[i-1][j]+dist[i-1][i]);
            }
            for(int j=1;j<i;j++){
                if(dp[i-1][j]!=INF) dp[i][i-1]=min(dp[i][i-1],dp[i-1][j]+dist[j][i]);
            }
        }
        double ans=INF;
        for(int i=1;i<N;i++) ans=min(ans,dp[N][i]+dist[i][N]);
        printf("%.2lf\n",ans);
    }
    return 0;
}


Oracle EBS 寄销/VMI(2)-->采购篇 上篇有一部分设置需要建BPA后,将BPA编号与批准的供应商相关联.     本篇主要是讲的内容:一揽子采购协议-->准标采购订单-->收接入库-->子库转移-->创建冲减通知-->'按接收开票' 自动开票程序 1. PO-->采购订单à采购订单 创建一揽子采购协议,确定物料 阅读详情

相关推荐

【Clickhouse从入门到精通】第60篇:ClickHouse生态总结与未来展望

ClickHouse系列收官总结 本文作为《ClickHouse从入门到精通》系列的第60篇收官之作,系统回顾了整个系列的知识体系。文章从基础概念到高级应用,全面梳理了ClickHouse的核心技术: 知识体系:完整回顾了60篇文章的知识图谱,包括列式存储原理、MergeTree引擎家族、分布式架构等核心内容 生态工具:详细盘点了ClickHouse的企业版工具、运维监控、数据集成和可视化方案 版本演进:分析了从21.x到24.x的主要版本特性升级 未来趋势:展望了向量化引擎、湖仓一体、AI集成等发展方向

xyghehehehe的专栏 441

uva1347 Tour

John Doe, a skilled pilot, enjoys traveling. While on vacation, he rents a small plane and starts visiting beautiful places. To save money, John must determine the shortest closed tour that connects h

nankeyimeng的博客 1202

ST电机库实战:从状态机到稳健启动流程的深度解析

本文深度解析了ST电机库中状态机的核心作用与稳健启动流程。状态机作为电机控制的“交通指挥官”,通过IDLE、CHARGE_BOOT_CAP、ALIGNMENT等一系列状态的严格跳转,确保了永磁同步电机(PMSM)和直流无刷电机(BLDC)的安全启动与可靠运行,是避免硬件损坏和实现平稳控制的关键。

weixin_29161785的博客 226

UVA 1347 Tour DP

DP dp[i][j] 前i个点已经全部走过,落后的那个人在j号点 往i+1号点转移 既 dp[i+1][i]   or   dp[i+1][j] Tour Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Submit S

码代码的猿猿 1219

不用写触发器!帆软填报报表自动记录创建/修改时间的终极方案

本文详细介绍了帆软填报报表中无需编写数据库触发器,即可自动记录数据创建时间和修改时间的终极方案。该方案利用帆软内置函数和单元格条件属性,在应用层实现日期自动生成,有效规避了触发器带来的权限、维护和部署难题,为数据填报提供了更轻量、灵活且易于维护的解决方案。

weixin_28040125的博客 359

LVGL v9的lv_scale控件实战:5分钟打造动态仪表盘(附完整代码)

本文详细介绍了LVGL v9中lv_scale控件的实战应用,通过5个关键步骤快速打造动态仪表盘。文章涵盖核心特性解析、代码实现、样式定制及性能优化,适用于工业HMI、智能家居等场景,并附完整代码示例。

gin88的博客 262

UVA1347 - Tour (DAG上的DP)

题目链接http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4093 【题意】

转移到dawxy.com 1172

利用 RSAU_LOG_API 把 SAP 安全审核日志接入企业 SIEM 的完整指南

在 SAP 世界里,安全审核日志(Security Audit Log,简称 SAL)是审计和合规的核心基础设施之一。系统会在后台把安全相关的关键事件记录下来,比如:(用户登录与登录失败用户锁定、解锁权限对象或角色变更远程调用(RFC)相关活动关键事务码的启动程序直接执行、批处理作业相关的敏感操作传统 ABAP 系统里,这些日志会写到本地应用服务器上的审计文件中(背后对应类似表RSAUENTR2的结构),包含事件标识、客户端、用户、终端、事务码、时间戳等信息。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 161

UVa1347/poj2677 - C - Tour(DP)

UVa1347/poj2677 - C - Tour 题意:有n个点,一飞行员从1号点出发,严格从左走到右在返回1号点(同样严格从右走到左),求经过除1号点和n号点外每个点恰好一次的整个行程的最小值。   分析:与货郎担问题很相似,只是这里是先到n号点在返回走完未走的点,很多博主称之为双调欧几里得旅行商问题,紫书上面也说这是个经典问题,这题确实值得一做。 刚开始顺理成章地状态压缩dp了一次

我的ACM,我的梦!!! 799

SAP ABAP 缓冲同步揭秘——从 DDLOG 表到 RSDBBUF3 的完整实践指南

DDLOG 看似一张不起眼的系统表,却承担着 SAP 多实例环境下的数据一致性重任。通过掌握其字段意义、解析方法及周边监控工具,你可以在性能与一致性之间找到最佳平衡;通过精细化的参数管理与主动刷新策略,更能在关键业务场景中确保“数据永远是最新的”。愿本文能成为你日常排障与架构决策的参考手册。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 312

Python爬虫实战:股票历史数据抓取与量化回测全流程详解

我们以**东方财富网(eastmoney.com)和雪球网(xueqiu.com)**为主要目标,演示如何爬取A股历史行情。最常用的HTTP请求库,简单易用,适合静态页面数据请求。本文详细介绍了从股票历史数据抓取到简单回测的完整流程,代码示例基于最新技术,结构清晰,适合初学者和进阶者学习量化投资实战。希望对你入门Python爬虫和量化交易有所帮助!

2201_76125261的博客 1779

Tour UVA - 1347 dp 限制方程

题目链接:https://vjudge.net/problem/UVA-1347 紫书P269 题意:有n个点,设计一条路线,从最左边的点出发到最右边的点然后返回,除了最右边和最左边的点外每个点经过一次,求移动的最小距离。输入按照x升序。 思路:可以想象成两个人一起从端点出发,并且两人不能走同一点。dp【i】【j】表示一人在i一人在j的位置还需要走多远。可得dp【i】【j】=dp【j】【i】。设i...

A 151

第四部分:VTK常用类详解(第96章 vtkCaptionActor2D标题演员类)

VTK标题演员实现3D场景标注功能 摘要:vtkCaptionActor2D是VTK可视化工具包中的标题标注组件,提供混合2D/3D的文本标注功能。该组件通过连接线将文本标注与场景中的3D点关联,支持多行文本显示、自定义文本样式和动态定位。文章详细介绍了标题演员的设计原理、坐标系统控制方法、文本内容管理和大小自适应机制,并展示了在3D模型标注、数据可视化和交互场景中的典型应用。标题演员通过组合文本、边框和连接线组件,实现了灵活多样的场景标注方案,是科学计算可视化中重要的标注工具。

仰望星空的博客 255

UVA1347 旅行 Tour 题解【dp】

原题地址(vjudge) 这题还是有点意思的,你珂以理解为要找两条除了起点和终点之外没有任何点是相等的路径。这题就和某经典题不太一样了,某经典题是可以重复的。所以用dp[i][j]dp[i][j]dp[i][j]表示同时走到第iii个点和第jjj个点就不是很好了。那怎么表示呢?珂以用dp[i][j]dp[i][j]dp[i][j]表示同时走到iii和jjj且max⁡(i,j)\max(i,j)ma...

woshidalaocxy的博客 303

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

UVA1347 Tour (DP)

题目大意:有n个点,给出x、y坐标。找出一条路,从最左边的点出发,严格向右走到达最右点再严格向左回到最左点。问最短路径是多少?分析: 1.首先需要将原问题转化为,两个人A、B同时从最左边的点出发,一起严格向最右点走,且经过所有点一次(除了最左点和最右点)。这与原题的要求具有等价性。 2.先自然想到用dp(i,j)表示A走到i,B走到j时的状态还需要走多远到终点(注意表示的是还有多少到终点

Accepted丶 2452

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

UVA 1347 Tour(基础dp)

题目链接 刘汝佳紫书上dp的例题。非常nice的思路是不考虑走过去再回来而是两个人同时走,此时状态难以表示的地方是已经走过的地方,而书中又非常巧妙地用d(i,j)表示第1个人在i,第2个人在j,1-max(i,j)已经走过。还要求i>j,所以这就很完美的表示出了状态,每次只有两个决策,要么第一个人走到i+1,要么第二个人走到i+1。所以清楚了状态和决策就可以开始写代码了。下面是记忆化搜索。 #include<bits/stdc++.h> #define lk (k<<1) #d

amazingee的博客 1457

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【DP】UVA1347-Tour

这道题十分美妙啊,刚开始完全没看出是DP。 题目描述 UVA1347 总之呢,讲的就是一个有强迫症的飞行员在一个景区游览完所有景点并成功返航的故事,他不仅非要从左往右(xl &lt; xr)飞,因为穷还必须省油。。。飞到达最右边的景点后,他可以在返航时游览那些没有被游览的景点。 问他最少飞多远。 他刚开始在最左边的景点,输入保证x为升序排列。 输入样式 n x1 y1 x...

Locke的博客 352

UVa 1347 Tour(DP)

题意: 平面上有n个坐标均为正数的点,按照x坐标从小到大一次给出。求一条最短路线,从最左边的点出发到最右边的点,再回到最左边的点。除了第一个和最右一个点其他点恰好只经过一次。 分析: 可以等效为两个人从第一个点出发,沿不同的路径走到最右点。 d(i, j)表示点1~max(i, j)这些点全部都走过,而且两人的位置分别是i和j,最少还需要走多长的距离。由这个定义可知,d(i, j) ==

fisty 1178

Tour UVA - 1347【dp】

先扯两句 这道题紫书上P269-270有讲解 分析 可以把从左到右再回来看作是:两个人同时从最左点出发,经过2条不同的路径到最右点,除了起点和终点外每一个点都恰好被一个人经过。(颇有些小学奥数的意味) 定义状态dp[i][j] 为第一个人走到i,第二个人走到j,还需要走的最短距离。但是这个状态在转移的时候有些困难,无法保证两个人不会走到相同的点,例如无法判断i+1这个点有没有被j走...

岂曰无衣,与子同袍 332

UVa 1347 Tour(DP)

题意  二维坐标系上有n个点  从第一个点出发经过部分点到达第n个点  再从第n个点回到第一个点  除了第一个点  每个点都经过且仅经过一次  求最短路径长度 还是基础的DP  想出状态转移方程就容易了  d[i][j]表示去的时候经过第i个点回来经过第j个点且1~max(i,j)间的点都已经走过  显然d[i][j]=d[j][i]  所以只用考虑i>j的部分  i   第i+1个点要么去的

Deng's site \# 910

UVA 1347 Tour(DP) 紫书训练

题目链接:UVA 1347 做题感受:看到题自己想没啥思路,也想不出将一人来回改成两人同时走到终点,自己本来的想法是构造一个三维数组dp[i][j][0]和dp[i][j][1]分别表示过去和回来的状态,但是写到后面发现状态转移方程写不出来,不知道该怎么转移,感觉主要还是状态转移方程太难写,结合lrj的分析和别人的博客分析最后才勉强写出来了。(其实我真没看出来这跟DAG有特别大关系,我就觉得勉勉强强搭上边) (感觉思路分析太长的还是直接看概括吧,个人感觉自己思路分析写的不太好) 思路: 紫书上写的挺明白了,

m0_52834059的博客 181

UVA - 1347 Tour DP

题意: 给按x大小给定一些x值不同的点,问从最左边走到最右边再走回来,每个点走一遍,形成一个环,最短路径是多少 思路: 我们可以确定的是左右断点是确定的,我本来想的是,对于点来说,分到上下方的,,再往下就不知道了 后来看紫书才知道:一个状态量 dp[ i ] [ j ] 表示前第 i j 两个点(包括之前的点)走完以后,到第n个点的最短距离 过程包括: 边界:第 n-1

床前明月光 300

Uva 1347 - Tour(DP)

题目链接 https://vjudge.net/problem/UVA-1347 【题意】 按照x坐标的递增顺序给定平面上的n个点,每个点的x坐标保证不相同(n<=1000),你的任务是设计一条路线,从最左边的点出发,走到最右边的点后返回,要求除了最左端和最右端的两点以外,每个点恰好经过一次,且要让总路程尽量短,两点之间的长度...

weixin_30593443的博客 141

Tour UVA - 1347 (旅行,dp)

John Doe, a skilled pilot, enjoys traveling. While on vacation, he rents a small plane and starts visiting beautiful places. To save money, John must determine the shortest closed tour that connects h...

tomjobs的博客 408

UVa1347 Tour(DP)

Tour 给定平面上n(n<=1000)个点的坐标(按照x递增的顺序给出。各点x坐标不同,且均为整数),你的任务是设计一条路线,从最左边的点出发走到最右边的点再返回,要求除了最左边和最右边之外,每个点恰好经过一次,且路径总长度最短,两点间的长度为它们的欧几里得距离。 状态定义:dp(i,j)表示1~max(i,j)全部走过,且两个人的当前位置分别是i和j,还需要走多长的距离 。 不难发现dp...

浮生之居士 228

Tour UVA - 1347 (dp)

题目链接:点我 题目大意:从最左边的点出发,到达最右边的边,然后再回来,除了终点和起点,其他的点只能走一次,问走过的最短距离。 思路: lrj这个状态转移真是太吊了 这道题明显的就是dp了,有那么多的子问题,那么我们怎么去定义状态呢,我们一开始很容易想到dp[i]表示到起点的最小距离,但是这样明显是错的,其实题目给了很好的提示,分两次走,那么我们可以这样想,一个人从上面走,一个人从下面走,

w571523631的博客 341
上一篇: sdut2414 An interesting game 费用流
下一篇: uva12223 - Moving to Nuremberg 树形DP
小小小小葱
博客等级 码龄14年 22粉丝 266原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值