参考: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>
#include <cstdio>
#include <cstring>
using namespace std;
const int N=;
const int M=;
const int INF=1e8;
int n,t,l,r,kcase;//n车站数,t时间,l向右车辆数,kcase样例数
int station_time[N];//车站之间的时间
int have_train[M][N][],dp[M][N];
void test()
{
cout<<'n'<<n<<'t'<<t<<endl;
for (int i=;i<n;i++)
{
cout<<station_time[i]<<' ';
}
cout<<endl;
for (int i=;i<=t;i++)
{
for (int j=;j<=n;j++)
{
printf("[%9d]",dp[i][j]);
}
printf("\n");
}
getchar();
}
void init()
{
cin>>t;
memset(station_time,,sizeof(station_time));
for (int i=;i<n-;i++)
{
cin>>station_time[i];
}
cin>>r;
memset(have_train,,sizeof(have_train));
while (r--)
{
int d;
cin>>d;
for (int j=;j<n;j++)
{
if (d<=t)
{
have_train[d][j][]=;
}
d+=station_time[j-];
}
}
cin>>l;
while (l--)
{
int d;
cin>>d;
for (int j=n;j>;j--)
{
if (d<=t)
{
have_train[d][j][]=;
}
d+=station_time[j-];
}
}
}
void dpp()
{
memset(dp,,sizeof(dp));
for (int j=;j<=n;j++)
{
dp[t][j]=INF;
}
dp[t][n]=;
for (int i=t-;i>=;i--)//注意i>=0!
{
for (int j=;j<=n;j++)
{
dp[i][j]=dp[i+][j]+;
if (j<n&&have_train[i][j][]&&i+station_time[j-]<=t)
{
dp[i][j]=min(dp[i][j],dp[i+station_time[j-]][j+]);
}
if (j>&&have_train[i][j][]&&i+station_time[j-]<=t)//注意判断条件不要写错!
{
dp[i][j]=min(dp[i][j],dp[i+station_time[j-]][j-]);
}
} }
// test();
cout<<"Case Number "<<kcase++<<": ";
if (dp[][]>=INF)
{
cout<<"impossible"<<endl;
}
else
{
cout<<dp[][]<<endl;
}
}
int main()
{
kcase=;
// freopen("btext.txt","r",stdin);
while (cin>>n&&n)
{
init();
dpp();
} return ;
}

【动态规划】[UVA1025]A Spy in the Metro 城市里的间谍的更多相关文章

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

    原题 城市里的间谍 分析 动态规划,dp[i][j]表示你在时刻i,车站j,最少还要等待的时间. 边界条件d[T][n]=0 已经到达,其他d[T][i]=inf不可达. 在一个站点时,有以下三种决策 ...

  2. 城市里的间谍B901

    城市里的间谍   城市里的间谍 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 某城市的地铁是线性的,有 n(2 <= n ...

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

    非常有价值的dp题目  也是我做的第一题dp    真的效率好高 题意:某城市的地铁是线性的 有n个车站 从左到右编号为1-n  有m1辆列车从第一站开始往右开 还有m2辆列车从第n站开始往左开  在 ...

  4. 【Uva1025 A Spy in the Metro】动态规划

    题目描述 某城市地铁是线性的,有n(2≤n≤50)个车站,从左到右编号1~n.有M1辆列车从第1站开始往右开,还有M2辆列车从第n站开始往左开.列车在相邻站台间所需的运行时间是固定的,因为所有列车的运 ...

  5. UVA1025 A Spy in the Metro —— DP

    题目链接: https://vjudge.net/problem/UVA-1025 题解: 详情请看紫书P267. 与其说是DP题,我觉得更像是模拟题,特别是用记忆化搜索写. 递推: #include ...

  6. Uva1025 A Spy in the Metro

    #include <iostream> #include <cstring> #include <cstdio> using namespace std; ]; ] ...

  7. 题解:UVa1025 A Spy in the Metro

    原题链接 pdf 题目大意 给出一张无向图图,求该图的最小瓶颈生成树. 无向图的瓶颈生成树:无向图\(G\)的一颗瓶颈生成树是这样的一颗生成树:它最大的边权值在\(G\)的所有生成树中是最小的.瓶颈生 ...

  8. UVA1025 城市里的间谍

    #include<iostream> #include<cstdio> #include<memory.h> using namespace std; #defin ...

  9. UVa 1025 城市里的间谍

    https://vjudge.net/problem/UVA-1025 题意:一个间谍要从第一个车站到第n个车站去会见另一个,在是期间有n个车站,有来回的车站,让你在时间T内时到达n,并且等车时间最短 ...

随机推荐

  1. 关于method not exist:think\db\Query->render错误解决方法

    {volist name="Teachers" id="Teachers" key="key"} <tr> <td> ...

  2. GridView中的更新按钮不能触发RowUpdating事件

    当点击“编辑”按钮以后,可以看到“更新”和“取消”按钮,“取消”按钮可以正常触发RowCancelingEdit事件,但是“更新”按钮不能触发RowUpdating事件. 解决方案: 在<asp ...

  3. memset赋初值的运用

    int ”较“的原则:加法不爆. 极大值:0x7f 较大值:0x3f 较小值:0xc0 极小值:0x80 long long ”较“的原则:加法不爆. 极大值:0x7f 较大值:0x3f 较小值:0x ...

  4. 郑州集训Day4 [小Cat与小鲜肉]

    考试的时候由于没有想出这道题就弃疗了 发现主要还是自己姿势不够 [问题描述] \(P\) 校某宿舍人才辈出,其舍长图书馆男神因被偷拍侧身照而在网络上一票走红. 小鲜肉 \(SJY\) 是小 \(Cat ...

  5. R 代码积累

    R 代码积累不定期更新 1.阶乘.递归.reduce.sprintf #NO.1 # 阶乘函数 fact <- function(n){ if(n==0) return(1) #基例在这 els ...

  6. Struts2学习笔记——Struts2搭建和第一个小程序

    1.新建web项目 2.配置Struts2核心过滤器 (1)打开web.xml文件,做以下配置: <?xml version="1.0" encoding="UTF ...

  7. mui(手机)

    官网:http://dev.dcloud.net.cn/mui/

  8. 学大伟业 Day 5 培训总结

    今天讲数据结构 先从mzx大佬的ppt摘抄一段: 数据结构是计算机存储.组织数据的方式.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合. 通常情况下,精心选择的数据结构可以带来更高的运行或 ...

  9. python序列化_json,pickle,shelve模块

    序列化 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes 把内存数据 转成字符,叫序列化 把字符 转成内存数据,叫反序列化 模块 ...

  10. bootstrapTable 问题

    bootstrapTable引用问题 $("#table").bootstrapTable({ // 对应table标签的id method: 'post', url: 'abc' ...