UVA 1025 A Spy in the Metro(城市里的间谍)

城市里的间谍(A Spy in the Metro UVa 1025)最详细题解 题的核心是逆推的思想这道题一看要问最少需要等待多少时间,自然会想到用dp,那么怎么来处理这个问题呢?我们可以用dp[i][j]来表示时刻i,你现在身处第j个站,最少还需要等待多长时间,我们所知的是,在T时刻,你人一定需要在第n个车站去完成间谍任务,所以dp[T][n]=0;可以由这个位置来进行反推,比如我在时刻T-1可以仍然位于车站n或者说如果有往左开的车我就有选择往左坐车的可能; 那么我们对于一 阅读详情

本题思路为以时间为“序”,用dp[i][j]表示时刻i,在车站j还需要等待多少时间

边界条件为dp[T][n]=0.

在1个车站 可以有3种决策:

                                              1:等1分钟

                                              2:搭向左去的车。

                                              3:搭向右去的车。

代码如下:

#include <iostream>
#include <cstring>
#include <cstdio> 
using namespace std;
int n,T,M1,M2,t[99],m1[99],m2[99];
int has_train[999][99][2];                  //表示在时刻i车站j是否有车开往右/或者左
int dp[999][99];
int case1=1;
int main(){
    while(scanf("%d%d",&n,&T)!=EOF){
		if(n==0) break;
		memset(t,0,sizeof(t));
		memset(m1,0,sizeof(m1));
		memset(m2,0,sizeof(m2));
		memset(has_train,0,sizeof(has_train));
		memset(dp,0,sizeof(dp));
	for(int i=1;i<n;i++)
		scanf("%d",&t[i]);
	scanf("%d",&M1);
	for(int i=1;i<=M1;i++){                 //输入数据并且建立has_train[][][].
		scanf("%d",&m1[i]);
		int sum=m1[i];
	    for(int n1=1;n1<=n;n1++){
		    sum+=t[n1-1];
		    has_train[sum][n1][0]++;
		}
	}
	scanf("%d",&M2);                        //输入数据并且建立has_train[][][].
	for(int i=1;i<=M2;i++){
		scanf("%d",&m2[i]);
		int sum=m2[i];
	    for(int n2=n;n2>=1;n2--){
		    sum+=t[n2];
		    has_train[sum][n2][1]++;
		}
	}
	for(int i=1;i<=n-1;i++)
		dp[T][i]=(1<<30);                   //与0区分开来,用于下面判断是否进行过计算
	dp[T][n]=0;
	for(int i=T-1;i>=0;i--)
		for(int j=1;j<=n;j++){
			dp[i][j]=dp[i+1][j]+1;           //等待1分钟。
			if(j<n&&has_train[i][j][0]&&i+t[j]<=T)
				dp[i][j]=min(dp[i][j],dp[i+t[j]][j+1]);
			if(j>1&&has_train[i][j][1]&&i+t[j-1]<=T)
				dp[i][j]=min(dp[i][j],dp[i+t[j-1]][j-1]);
		}
		printf("Case Number %d: ",case1++);
		if(dp[0][1]<(1<<30))
			printf("%d\n",dp[0][1]);
		else
			printf("impossible\n");
	}
return 0;	
}


开心浴室Mvp http://blog.youkuaiyun.com/aishang5wpj/article/details/51384371 立即下载

相关推荐

手把手教你用Simulink搭建BPSK调制解调系统(附完整参数设置与波形分析)

本文详细指导如何使用Simulink搭建BPSK调制解调系统,涵盖从理论到实践的全流程,包括参数设置、模块连接和波形分析。重点解析调制解调中的关键参数和常见问题,如带通滤波器设计、载波同步等,帮助读者快速掌握BPSK系统的实现与调试技巧。

weixin_27741699的博客 422

浴室间谍照相机,遥控器剃须膏防水隐蔽的间谍相机HD DVR 16GB

浴室间谍照相机,遥控器剃须膏防水隐蔽的间谍相机HD DVR 16GB   规格:   你想知道当你是什么情况呢?如果是这样,这个间谍卫星剃须膏针孔摄像头可以成为您可靠的助手。   此产品似乎像一个普通的剃须膏。事实上,它是一个专业的间谍相机。针孔摄像头被设置在瓶子里面,所以没有什么不寻常的外观。该摄像头可以远程控制。这意味着,当你想拍摄的东西,你可以使用一个遥控器来操作摄像机的工作在很长的距离。其

errcit1的专栏 8万+

RK3568 解决MIPI屏幕开机只显示uboot logo的问题

之前写过一篇文章介绍了RK3568驱动MIPI屏幕的方法,这次产品迭代,硬件改版,选型的新的屏幕了。所以再次开启调试屏幕的过程。本以为会和上次一样会轻车熟路,事情总是事与愿违,同样的路,遇到新的坑。

fhqlongteng的博客 5425

洛谷2583 地铁间谍 (UVa1025A Spy in the Metro)

洛谷2583 地铁间谍(UVa1025A Spy in the Metro) 本题地址: http://www.luogu.org/problem/show?pid=2583 题目描述   特工玛利亚被送到S市执行一个特别危险的任务。她需要利用地铁完成他的任务,S市的地铁只有一条线路运行,所以并不复杂。   玛利亚有一个任务,现在的时间为0,她要从第一个站出发,并在最后一站的间谍碰头。玛利

hahalidaxin的专栏 1万+

最新版谷歌浏览器Axure插件(免翻墙)

本文介绍了在Chrome浏览器无法直接打开Axure导出HTML文件的解决方法。由于国内网络限制无法访问Chrome商店,需手动下载安装AxureRP扩展插件(提供百度网盘下载链接)。安装步骤包括:1)启用开发者模式;2)拖拽CRX文件或加载解压文件夹;3)勾选"允许访问文件网址"。同时还提示若浏览器版本过低可能无法正常运行,并给出了浏览器升级方法。该教程详细说明了从插件安装到浏览器升级的完整解决方案。

OldCat先生 2973

恶意代码实验3:Word宏病毒实验

只要下次打开这个word文档,就会执行以上代码,并将自身复制到Normal.dot(word文档的公共模板)和当前文档的ThisDocument中,同时改变函数名(模板中为Document_Close,当前文档为Document_Open),此时所有的word文档打开和关闭时,都将运行以上的病毒代码,可以加入适当的恶意代码,影响word的正常使用,本例中只是简单的跳出一个提示框。回答不正确三次,即可自动跳出病毒程序,但那时已经出现几十个文档。1、打开的宏编辑器如图所示,即可编写病毒代码。

qq_63949327的博客 6505

浴室镜是A浴室的灵魂

浴室镜是A浴室的灵魂 浴室和色彩鲜艳的墙壁,设计的陶瓷地砖和喜欢的设计师灯,水槽,浴缸饰品,淋浴使您的浴室完美。要添加一个点睛之笔,一个美丽的镜子是所有你需要添加。浴室的镜子是浴室中最重要的组成部分。镜子的正确的设置将改变浴室的外观。浴室是为了清理自己的一个地方,镜子是一个必须要分析,一个是现在干净,准备好面对图像意识的世界。它可用于无限的原因,如刷牙,剃须,梳理,梳理等等。 探索市场将要给大家介

Olathe1的专栏 1290

NVIDIA Video Codec SDK-解码接口cuvid简介

特性已废弃的 NVCUVID现代的 NVDECODE (底层 API)现代的 NVDECODE (高层 API - NvDecoder)状态已废弃 (Deprecated)官方推荐 (底层控制)官方推荐 (易用性首选)编程模型C 函数C 函数C++ 类复杂度高,需要管理大量细节中高,仍需管理解码会话低,开箱即用灵活性高高中(满足绝大多数场景)推荐对象遗留项目维护需要极致控制的高级用户所有新项目、大多数开发者。

fudexiang的博客 1176

UVA1025 城市里的间谍 A Spy in the Metro

某城市地铁是一条直线,有n2≤n≤50)个车站,从左到右编号1n。有M1​辆列车从第1站开始往右开,还有M2​辆列车从第n站开始往左开。列车在相邻站台间所需的运行时间是固定的,因为所有列车的运行速度是相同的。在时刻0,Mario 从第1站出发,目的在时刻T0≤T≤200)会见车站n的一个间谍。在车站等车时容易被抓,所以她决定尽量躲在开动的火车上,让在车站等待的时间尽量短。

Gowi的博客 1460

小红书图文AI创作:输入主题,一键生成图文(coze工作流教程+获取)

输入主题,工作流一键生成小红书风格图文,30s一条,可批量生成

2301_79384090的博客 2799

【Bug已解决】[Bug]: ValueError: No user query found in messages QWEN 3.5 27B VLLM 0.16.0 NIGHTLY 解决方案

用 vLLM 0.16.0 nightly 给发聊天请求时,服务端在处理消息时抛ValueError,请求失败。

博客 407

UVA 1025 城市里的间谍 A Spy in the Metro

UVA 1025

阿巴阿巴 203

Python爬虫实战:中国土地市场网招拍挂数据抓取与分析

本文详细介绍了如何使用Python爬虫技术从中国土地市场网抓取土地招拍挂数据,并进行初步的数据分析与可视化。文章涵盖了爬虫的基本原理、反爬虫策略应对、数据清洗与存储、数据分析与可视化等多个方面,为土地市场研究者提供了一套完整的数据获取与分析解决方案。

2201_76125261的博客 684

A Spy in the Metro UVA - 1025 城市里的间谍

 题目链接 题意: 某城市的地铁是线性的,有n(2≤n≤50)个车站,从左到右编号为1~n。有M1辆列车从第1站开始往右开,还有M2辆列车从第n站开始往左开。在时刻0,Mario从第1站出发,目的是在时刻T(0≤T≤200)会见车站n的一个间谍。在车站等车时容易被抓,所以她决定尽量躲在开动的火车上,让在车站等待的总时间尽量短。列车靠站停车时间忽略不计,且Mario身手敏捷,即使两辆方向不同的列...

Nicolas的博客 400

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

数学建模模型总结

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

城市里的间谍(A Spy in the Metro UVa 1025)

没错,这里有部分是转发的,因为其中一些注解让我理解了这题的过程。非常感激 http://blog.youkuaiyun.com/NOIAu/article/details/71517440 题意: 某城市的地铁是线性的,有n(2≤n≤50)个车站,从左到右编号为1~n。有M1辆列车从第1站开始往右开,还有M2辆列车从第n站开始往左开。在时刻0,Mario从第1站出发,目的是在时刻T(0≤T≤200)会见

Loser 520

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

UVa 1025 城市里的间谍(A Spy in the Metro)

分析: 用dp[i][j] 表示i时刻在j车站需要等待的最小时间 用haveTrain[i][j][0] 表示i时刻在j车站是否有车向右开 用haveTrain[i][j][1] 表示i时刻在j车站是否有车向左开 由于最后的状态是确定的 dp[T][n] = 0; 因此可以考虑从末态推初态 对于一个时间 dp[t][i] t时刻在车站 只能做3种决策 等一分钟 往左行车 (在有车的情况下)...

Inuyasha__的博客 250

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【动态规划】[UVA1025]A Spy in the Metro 城市里的间谍

DescriptionSecret agent Maria was sent to Algorithms City to carry out an especially dangerous mission. After several thrilling events we find her in the first station of Algorithms City Metro, examini

XiaoZheng的博客 2270

A SPY in the Metro(城市里的间谍),UVA1025【dp】

用dp[i][j]来表示时间i时在车站j所需的时间,则dp[T][n]为0,及此时已达终点,还需等待时间为零。而dp[T][j]为INF(j 往前递推时有三种状况: 1,等一分钟,即dp[i][j]=dp[i+1][j]+1。   2.搭上往右开的车 3.搭上往左开的车 因为递推情况是在车站的情况,所以不存在在车上的状况 #include using namespace std; #d

turtle的博客 387

UVa-1025城市里的间谍 A Spy in the Metro

原题 城市里的间谍 分析 动态规划,dp[i][j]表示你在时刻i,车站j,最少还要等待的时间. 边界条件d[T][n]=0 已经到达,其他d[T][i]=inf不可达. 在一个站点时,有以下三种决策: 等一分钟 搭乘往左开的车(前提是有) 搭乘往右开的车 AC代码 #include "bits/stdc++.h" using namespace std; const int maxn = ...

weixin_30739595的博客 78

【算法竞赛入门经典例题题解】 【DP】练习城市里的间谍 A Spy in the Metro UVA1025 UVA437 巴比伦塔 刘汝佳

【算法竞赛入门经典例题题解】 【DP】 UVA1025 练习城市里的间谍 A Spy in the Metro 洛谷链接 UVA1025 练习城市里的间谍 A Spy in the Metro 题目 某城市地铁是一条直线,有 nn(2\leq n\leq 502≤n≤50)个车站,从左到右编号 …n。有 M1辆列车从第 1 站开始往右开,还有 M2 辆列车从第 n 站开始往左开。列车在相邻站台间所需的运行时间是固定的,因为所有列车的运行速度是相同的。在时刻 0,Mario 从第 1 站出发,目的在时刻 T(

csxylrf的博客 304

第四十六题 UVA1025 城市里的间谍 A Spy in the Metro

Secret agent Maria was sent to Algorithms City to carry out an especially dangerous mission. After several thrilling events we find her in the first station of Algorithms City Metro, examining the tim...

苦鬼·。 247

9-1 A Spy in the Metro uva1025 城市里的间谍 (DP)

  非常有价值的dp题目 也是我做的第一题dp 真的效率好高 题意:某城市的地铁是线性的 有n个车站 从左到右编号为1-n 有m1辆列车从第一站开始往右开 还有m2辆列车从第n站开始往左开 在时刻0 小明从第1站出发 目的是在时刻T 正好会见在第n站的间谍 为了不被抓 小明在车站等待的时间要尽量少 求出最短时间 如果到不了 输出impossible 输入第一行为...

weixin_30692143的博客 132
上一篇: TYVJ 1214 硬币问题
下一篇: HDU 5665 lucky
DIDCJS
博客等级 码龄11年 5粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值