UVA A Spy in the Metro】的更多相关文章

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 nd her in the rst station of Algorithms City Metro, examining the time table. The Algorithms City Metro…
[题意](小紫书)一个人从站台1出发,乘车要在时刻T到达站台n,为使在站台等车时间最短,她可以选择乘坐两个方向的列车,并在客车停靠站的时候换车. [分析]每次停站下车时,她都有三种选择,1.原地不动 2.搭乘向右的车 3.搭乘向左的车.d[i][j]表示在站台i,时刻j的最小等待时间. 状态转移方程: 等待:dp[i][j]=dp[i][j+1]+1; 如果有向右的车:  dp[i][j]=min(dp[i][j],dp[i+1][j+t[i]]); 如果有向左的车: dp[i][j]=min(…
点击打开题目 题目大意: 在一个有n个站台的地铁线路里,给你列车通向每相邻两个车站所花费的时间,从0时刻开始,从1号站出发,要在T这个时间点上,到达n号站,给你m1辆从1开到n的列车及其出发时间,和m2辆从n开到1的列车及其出发时间,求在车站停留的最短时间(注意,如果你在T之前的T'时到达n号站,那你也要花费T-T'的时间停留),如果无论如何也到不了n号站,输出"Impossible" 设f[i][j]表示在第i时刻到达j号车站,将每辆列车到每个站的时间预处理一下,则状态转移方程为:…
UVA - 1025 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 time table. The Algorit…
A Spy in the Metro Time Limit: 3000MS     64bit IO Format: %lld & %llu Submit Status uDebug 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 o…
 UVA 1025 -- A Spy in the Metro  题意:  一个间谍要从第一个车站到第n个车站去会见另一个,在是期间有n个车站,有来回的车站,让你在时间T内时到达n,并且等车时间最短,输出最短等车时间. 思路:  先用一个has_train[t][i][0]来表示在t时刻,在车站i,是否有往右开的车.同理,has_train[t][i][1]用来保存是否有往左开的车. 用d(i,j)表示时刻i,你在车站j,最少还需要等待多长时间.边界条件是d(T,n)=0,其他d(T,i)为正无…
洛谷2583 地铁间谍(UVa1025A Spy in the Metro) 本题地址:http://www.luogu.org/problem/show?pid=2583 题目描述 特工玛利亚被送到S市执行一个特别危险的任务.她需要利用地铁完成他的任务,S市的地铁只有一条线路运行,所以并不复杂. 玛利亚有一个任务,现在的时间为0,她要从第一个站出发,并在最后一站的间谍碰头.玛利亚知道有一个强大的组织正在追踪她,她知道如果一直呆在一个车 站,她会有很大的被抓的风险,躲在运行的列车中是比较安全的.…
Problem UVA1025-A Spy in the Metro Accept: 713  Submit: 6160Time Limit: 3000 mSec Problem Description Input  Output For each test case, print a line containing the case number (starting with 1) and an integer representing the total waiting time in th…
传送门 Description 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 time table. The Algorithms City 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 time table. The Algorithms City Metro consists of a s…
https://vjudge.net/problem/UVA-1025 看见spy忍俊不禁的想起省赛时不知道spy啥意思 ( >_< f[i][j]表示i时刻处于j站所需的最少等待时间,有三种可能,一是i-1时刻就在这里然后等待了1时刻  f[i][j]=f[i-1][j]+1  ; 二是正好由由左边相邻的一个车站开过来(如果可以的话)  f[i][j]=f[i-t[j-1]][j-1];  三是正好由右边的车站开过来(if can) f[i][j]=f[i-t[j]][j+1]; 取三者的最…
[题目链接]:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3466 [题意] 有n个站台;(线性的); 每相邻两个站台之间的火车的行驶时间是固定的; 然后每天在第一个站台会向第n个站台的方向发出m1辆车; 最后一个站台会向第1个站台的方向发出m2辆车; 给出m1辆车是何时发出的,m2辆车是何时发出的(递增顺序给出); 然后有一个人要从1…
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=35913 预处理出每个时间.每个车站是否有火车 为了方便判断是否可行,倒推处理,每次有三种决策:原地坐等一分钟.搭车向左(如果有车).搭车向右(如果有车) /**/ #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<algor…
题意: 有线性的n个车站,从左到右编号分别为1~n.有M1辆车从第一站开始向右开,有M2辆车从第二站开始向左开.在0时刻主人公从第1站出发,要在T时刻回见车站n 的一个间谍(忽略主人公的换乘时间).输出最少的等待时间,如果无解输出impossible. 分析: d(i, j)表示第i时刻在第j个车站,最少还需要的等待时间.边界是:d(T, n) = 0, d(T, i) = +∞ 预处理: has_train[t][i][0]数组是用来记录t时刻第i个车站是否有向右开的车,类似has_train…
第一遍,刘汝佳提示+题解:回头再看!!! POINT: dp[time][sta]; 在time时刻在车站sta还需要最少等待多长时间: 终点的状态很确定必然是的 dp[T][N] = 0 ---即在T时刻的时候正好达到N站点 我们可以 从终点的状态往起始的状态转化, 一步步走就可以了. has_train[t][i][0]; t时刻在i车站是否有往右开的火车 has_train[t][i][1]; t时刻在i车站是否有往左开的火车 #include <iostream> #include &…
分析:时间是一个天然的序,这个题目中应该决策的只有时间和车站,使用dp[i][j]表示到达i时间,j车站在地上已经等待的最小时间,决策方式有三种,第一种:等待一秒钟转移到dp[i+1][j]的状态,代价为1.第二种:如果可以则向右上车,转移到dp[i+t][j+1],无代价,t为列车行驶时间.第三种与第二种相同.初始状态为dp[0][1] = 0,其他为INF.答案为dp[T][n]. 代码如下: #include<iostream> #include<cstdio> #inclu…
---恢复内容开始--- 题意:有n(2<=n<=50)个车站,从左到右编号为1~n,有M1辆列车从第1站向右开,还有M2辆列车从第N站向左开.在时刻0,间谍从第1站出发,目的是在时刻T(0<=T<=200)会见在车站n的一个间谍.在车站等候容易被抓,所以需要尽量躲在火车上,使在车站等待的时间尽量的少,列车靠站时间忽略不计,即使2站方向相反列车在同一时间靠站,间谍也能完成换乘. 题解:由于时间有序,所以可以通过判断在时刻t,在车站i 最少需要等候多少时间进行DP.由于输入较2复杂,…
题意:一个间谍要从第一个车站到第n个车站去会见另一个,在是期间有n个车站,有来回的车站,让你在时间T内时到达n,并且等车时间最短, 也就是尽量多坐车,最后输出最少等待时间. 析:这个挺复杂,首先时间是一个顺序,设d(i,j)表示时刻 i 在第 j 个车站,最少还要等待多长时间,那么边界是d(T, n) = 0. 并且有三种决策: 决策一:等着 d[i][j] = d[i + 1][j] + 1; 为什么从i + 1 过来呢? 你想一下,DP表示等待的时间,那么是不是应该倒着来呢? 决策二:有往右…
传送门 参考资料: [1]:算法竞赛入门经典:第九章 DAG上的动态规划 题意: Algorithm城市的地铁有 n 个站台,编号为 1~n,共有 M1+M2 辆列车驶过: 其中 M1 辆列车从 1 号站台驶向 n 号站台,M2 辆列车从 n 号站台驶向 1 号地铁: (单程线,M1 辆列车到达 n 号站台后不会回返,同理 M2) 特工 Maria 要在 T 时刻到达 n 号站台与特务会面,但为了保证安全,在会面前尽量呆在行进的列车中: 现给出你这 M1+M2 辆列车的发车时刻: 问如何换乘列车…
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=35913 Secret agent Maria was sent to Algorithms City to carry out an especially dangerous mission. Afterseveral thrilling events we find her in the first station of Algorithms City Metro, exam…
题意: n个车站,已知到达相邻车站的时间,有m1辆车从1站出发已知发车时间,有m2辆车从n站出发已知发车时间,求从1到达n所需等车的总时间最小. 分析: 有三种情况,在原地等,乘左到右的车,乘右到左的车dp[i][j]=min(dp[i][j+1]+1,dp[i-1][j+t[i-1]],dp[i+1][t[i]]); #include <map> #include <set> #include <list> #include <cmath> #includ…
原题 城市里的间谍 分析 动态规划,dp[i][j]表示你在时刻i,车站j,最少还要等待的时间. 边界条件d[T][n]=0 已经到达,其他d[T][i]=inf不可达. 在一个站点时,有以下三种决策: 等一分钟 搭乘往左开的车(前提是有) 搭乘往右开的车 AC代码 #include "bits/stdc++.h" using namespace std; const int maxn = 50 + 5; const int maxt = 200 + 5; const int INF…
非常有价值的dp题目  也是我做的第一题dp    真的效率好高 题意:某城市的地铁是线性的 有n个车站 从左到右编号为1-n  有m1辆列车从第一站开始往右开 还有m2辆列车从第n站开始往左开  在时刻0  小明从第1站出发  目的是在时刻T 正好会见在第n站的间谍  为了不被抓   小明在车站等待的时间要尽量少   求出最短时间  如果到不了  输出impossible 输入第一行为n  第二行为T  第三行有n-1个数字  表示 从左到右两个车站之间列车行驶的时间   接下来为m1    …
参考:https://blog.csdn.net/NOIAu/article/details/71517440 https://blog.csdn.net/c20180630/article/details/75245665 https://blog.csdn.net/rechard_chen/article/details/41357173 https://blog.csdn.net/acvay/article/details/43565183 #include <iostream> #in…
#include <iostream> #include <cstring> #include <cstdio> using namespace std; ]; ][]; //dp[i][j]记录在第i个车站需要等待时间 ][], r[][]; //l[i][j]第i个车站在j时刻是否有从左边行驶的车辆 r[i][j]右方向同l[i][j] ; int min(int a,int b){ if(a<b) return a; return b; } int main…
应当认为,有向无环图上的动态规划问题是动态规划的基本模型之一,对于某个模型,如果可以转换为某一有向无环图的最长.最短路径问题,则可以套用动态规划若干方法解决. 原题参见刘汝佳紫薯267页. 在这个题目中,首先将整个模型规划成为有向无环图的模式:1,对于某小特工,于j时间处在在第i站,可以成为一个独立的状态,也就是有向无环图的一个节点. 2,对于每个节点,可能能够走得有三个不同的边——坐火车往左走,进入左边的某个状态:坐火车往右走,进入右边的某个状态:原地等待,进入该站点的下一个时间. 每条边,拥…
题目链接: https://vjudge.net/problem/UVA-1025 题解: 详情请看紫书P267. 与其说是DP题,我觉得更像是模拟题,特别是用记忆化搜索写. 递推: #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <string> #include <vector> #include <ma…
原题链接 pdf 题目大意 给出一张无向图图,求该图的最小瓶颈生成树. 无向图的瓶颈生成树:无向图\(G\)的一颗瓶颈生成树是这样的一颗生成树:它最大的边权值在\(G\)的所有生成树中是最小的.瓶颈生成树的值为\(T\)中最大权值边的权. 该图建立在坐标系中, 给出每个点的坐标.任意两点之间都有边,边权即为两点间的距离. 题解 由于只关心生成树的最大值,我们可以将边从小到大排序,依次加入(若构成环则不加入),直到构成一颗生成树. 相信你已经发现了:这不就是Kruskal算法吗? 于是,我们得出结…
题目描述 某城市地铁是线性的,有n(2≤n≤50)个车站,从左到右编号1~n.有M1辆列车从第1站开始往右开,还有M2辆列车从第n站开始往左开.列车在相邻站台间所需的运行时间是固定的,因为所有列车的运行速度是相同的.在时刻0,Mario从第1站出发,目的在时刻T(0≤T≤200)会见车站n的一个间谍.在车站等车时容易被抓,所以她决定尽量躲在开动的火车上,让在车站等待的时间尽量短.列车靠站停车时间忽略不计,且Mario身手敏捷,即时两辆方向不同的列车在同一时间靠站,Mario也能完成换乘. [输入…
UVa 1625 color length https://blog.csdn.net/Dylan_Frank/article/details/52261424 https://www.cnblogs.com/jerryRey/p/4740944.html Uva-1375 The Best Name for Your Baby(未解决) https://blog.csdn.net/u014258433/article/details/69070747 CodeForces - 17C Bala…