Tyvj P1288 飘飘乎居士取能量块

2023-10-09 05:32
文章标签 能量 p1288 tyvj 飘飘 居士

本文主要是介绍Tyvj P1288 飘飘乎居士取能量块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景
9月21日,pink生日;9月22日,lina生日;9月23日,轮到到飘飘乎居士(狂欢吧,(^__^) 嘻嘻……)。
描述
9月21日,今天是pink的生日,飘飘乎居士当然要去别人的领土大闹一番啦!
为了收集更多的能量到pink家大闹,飘飘乎居士准备从后花园中取出自己多年积攒的p个能量块。后花园一共被划分n个地区,能量块被分散在里面,现在飘飘乎居士拿出地图,发现自己站在1的地方,而他要做的就是用最短的路程把所有的能量块取出,并且最后走到位于n的出口处,而飘飘乎居士一直是个懒人,他想知道最少要走多少路程才能够取到所有的能量块,并且走到出口
输入格式
第一行一个正整数n,表示花园被划分成了n个地区
接下来一个n*n的矩阵,代表个点之间的相互距离,数据保证从i走到i没有路程
在下来一个整数p,表示一共有p个能量块
接下来一行,表示各个能量块的位置,数据保证1和n没有能量块,且每个地区最多一个能量块
对于所有的数据 0< n<=100 0<=P<=10 任意两点的距离为一个小于1000的正整数
输出格式
一个数,飘飘乎居士所要行走的最小距离
测试样例1
输入
3
0 10 1
3 0 5
1 2 0
1
2
输出
7
备注
花园被分为3个地区,在2号地区有能量块,飘飘乎居士行走的路线如下
1->3->2->1->3
行走的总路程为7,也就是最后的答案。


Floyd预处理出每两点之间的最短路
然后问题就转化为了关于必须走的点集的哈密顿路径问题
可以搜索点集的顺序(排列),或使用状态压缩DP
第一次因为数组开小了,wa了
感谢yny神犇指导。


#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int n,p,ans=1e7,sum,c[15],f[101][101];
int main()
{scanf("%d",&n);memset(f,0x3f,sizeof(f));for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)scanf("%d",&f[i][j]);for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)f[i][j]=min(f[i][j],f[i][k]+f[k][j]);scanf("%d",&p);for(int i=1;i<=p;i++)scanf("%d",&c[i]);c[0]=1;c[p+1]=n;sort(c+1,c+p+1);while(1){sum=0;for(int i=1;i<=p+1;i++)sum+=f[c[i-1]][c[i]];if(ans>sum)ans=sum;if(!next_permutation(c+1,c+p+1))break;}printf("%d\n",ans);return 0;
}

这篇关于Tyvj P1288 飘飘乎居士取能量块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/170702

相关文章

能量项链,洛谷

解释:  环形dp问题还是考虑将环拉直,可以参考我上一篇文章:环形石子合并 [2 3 5 10 2] 3 5 10 将环拉直,[]内是一个有效的区间,可以模拟吸收珠子的过程,         如[2 3 5] <=>(2,3)(3,5)    2是头,3是中间,5是尾 len >= 3:因为最后[2 10 2]是最小的可以合并的有效区间 len <= n + 1因为[2 3

【Get深一度】信号处理(一)——能量信号与功率信号的区别

1.1 能量信号与功率信号的区别         通常情况下,电信号默认为电流(I)或电压(V),有两种主要类型:能量信号、功率信号。相信有朋友现在依然还是傻傻分不清楚这两者之间的区别。 下面我将进行分条详述:(关键词已加黑)        1)能量信号:表现为    确定或随机        2)功率信号:变现为    周期或随机          注:其中随机信号是比较好理解的

新能源汽车超级电容和电池能量管理系统的simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 电池模型 4.2 电池荷电状态(SOC)估算 4.3 超级电容器模型 4.4 能量管理 5.完整工程文件 1.课题概述         新能源汽车的能量管理系统(Energy Management System, EMS)旨在高效管理和分配车辆内的能量资源,以提高整体能效和延长行驶里程

音频PCM的能量dB计算

文章目录 1. 计算RMS值2. 将RMS转换为dB 参考1参考2参考3 音频PCM(脉冲编码调制)数据转换为分贝(dB)的计算涉及两个主要步骤:首先计算音频信号的均方根(RMS)值,然后将RMS值转换为分贝。以下是详细的计算过程(以16位PCM为例): 1. 计算RMS值 对于PCM音频数据,每个样本代表声音的幅度。如果有一个包含 (n) 个样本的音频片段,其幅值分别为

Comsol 声学黑洞梁式结构的振动能量收集器

声学黑洞梁式结构是一种用于收集振动能量的装置,其工作原理类似于光学中的黑洞概念。它可以将周围环境中的声波能量转化为可用的电能。声学黑洞梁式结构通常由以下几个主要组成部分构成: 1. 梁:梁是主要的振动结构,可以是金属、陶瓷或者其他适合传导声波的材料。它的设计通常考虑到频率响应和材料的机械特性,以优化能量收集效率。 2. 能量转换器:能量转换器位于振动膜的背面,用于将振动能量转化为电能。

能量英语(四) 之 “信念”

能量英语(四)  之 "信念"          英语音频地址:点击打开链接    访问密码: 257b     信念是又一个极其重要的管理自己心理、强化自己心理因素的秘诀,有了坚强的信 念,我们能更快的学好英语或其他任何东西,学习其他任何东西都会更加的快速。       一般有两种信念在影响着我们,一种是自我设限

能量单位的换算:kcal/mol 与 eV

1 kcal/mol = 0.0433641 eV 因此: 从 kcal/mol 转换为 eV: E(eV)=E(kcal/mol)×0.0433641 从 eV 转换为 kcal/mol: E(kcal/mol)=E(eV)×23.0605

lammps中有关能量的默认单位

在LAMMPS中,fix wall/lj93命令中的ϵ\epsilonϵ(势能深度)的默认单位取决于你在LAMMPS输入脚本中使用的单位系统。 具体来说,常见的LAMMPS单位系统及ϵ\epsilonϵ的默认单位如下: units real: ϵ\epsilonϵ 的单位是 kcal/mol。 units metal: ϵ\epsilonϵ 的单位是 eV。 units lj (Lennar

Comsol 考虑波导的二维星形空穴型声子晶体线缺陷压电能量收集优化方案

参考文献:Yang X , Zhong J , Xiang J .Optimization scheme for piezoelectric energy harvesting in line-defect for 2D starlike hole-type phononic crystals considering waveguides[J].AIP Advances, 2022, 12

EMI能量是如何传播的?

理解产品的EMI性能,有三个要素需要重点关注:         1. 能量源;         2. 接收器、受干扰电路或系统;         3. 能量耦合路径。         简单地说,如果没有能量源,就不会产生EMI干扰源;如果没有耦合路径,就不会产生复杂的EMI现象;如果没有敏感的接收器,即使发生了能量耦合,可能也不会产生严重的电性能问题,因此,耦合路径是三