博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
测试1T2
阅读量:5777 次
发布时间:2019-06-18

本文共 907 字,大约阅读时间需要 3 分钟。

题目描述

Lyk去推塔。但是推第n座塔必须先推了第1~n-1座塔。

为了加快速度lyk召唤出了szh和txm。求lyk和他的召唤兽们为了推完所有塔所经过的最短距离。

 

输入

第一行一个数N,代表一共要去多少个城市。

下面N-1 行,对于第 i 行,有 n-i 个数,表示第 i 个城市分别和第i+1, i+2, i+3, ……, N 的距离(距离<=10000)

 

输出

一个数,表示最短距离

 

样例输入

51 1 1 233 33 3333 3333

样例输出

36

提示

 

Constraints

对于30%,n<=10
对于100%,n<=100

第一遍做时爆搜爆0
DP即可
f[i][j][k]表示推到第i座塔,其余两只怪兽在j,k时的最短距离

f[i+1][j][i]=min(f[i+1][j][i],f[i][j][k]+dist[k][i+1]);

f[i+1][j][k]=min(f[i+1][j][k],f[i][j][k]+dist[i][i+1]);
[i+1][i][k]=min(f[i+1][i][k],f[i][j][k]+dist[j][i+1]);

第一遍暴力floyd预处理出所有点对间的最短距离

#include
#include
#include
using namespace std;int a[105][105],dp[105][105][105],n;void floyd(){ for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) for(int k=j+1;k<=n;k++) if(i!=k&&j!=k&&i!=j) if(a[i][j]+a[j][k]

题意难懂~~

 
 
 

转载于:https://www.cnblogs.com/dancer16/p/6840670.html

你可能感兴趣的文章
深度挖掘手机数据,伦敦广告公司Ogury 获1500万美元 B 轮融资
查看>>
“大数据”催生新型全产业链
查看>>
《C语言编程魔法书:基于C11标准》——3.3 本章小结
查看>>
《GDAL源码剖析与开发指南》一一1.7 SWIG编译
查看>>
Linux 内核自防护项目
查看>>
《MATLAB R2012a超级学习手册》一1.6 使用MATLAB R2012a帮助系统
查看>>
Grsecurity 稳定版补丁只提供给赞助商
查看>>
《推荐系统:技术、评估及高效算法》一第1章 概述
查看>>
开源项目为什么都爱把动物作为品牌 Logo ?
查看>>
Objective-C中的属性机制
查看>>
Oracle 日常应用笔记
查看>>
【RAC】集群验证工具cluvfy 实践之二
查看>>
myeclipse svn 修改用户名和密码
查看>>
Found duplicate PV 7UXOslmOGAme9YkHi7cbT6pajucbdppY: using /dev/sdq not /dev/sda
查看>>
福建SEO:根据跳出率和退出率分析用户体验
查看>>
[Java]Socket和ServerSocket学习笔记
查看>>
Nginx是个啥?
查看>>
Java 代码中如何预防空指针异常
查看>>
关于SLA,你到底知多少?
查看>>
布隆过滤器Bloom Filter算法的Java实现(用于去重)
查看>>