Journey

题目链接:http://codeforces.com/problemset/problem/721/C

dp/记忆化搜索/拓扑排序

刚开始想到用bfs+dp,fst(然而中间有一步逻辑错了,不得不说pretest真心弱,然后rank一掉回到解放前),改正后MLE了,状态没去重存不下...

看了下其他人的,基本用的是记忆化搜索,复杂度是O(m*n);看了下队友ac的,以为是bfs,问了下回答说是拓扑排序(不会=、=)

游少给了一种直接dp的思路Orz,复杂度是O(m*n):

其中time[i][j]表示经过i个结点到达j结点所需要的时间,

pre[i][j]表示经过i个结点到达j结点前的结点序号。

代码如下:

 #include<cstdio>
#include<stack>
#define N 5005
using namespace std;
struct node{
int u,v,t;
}egde[N];
int time[N][N],pre[N][N];
int n,m,T;
int main(void){
scanf("%d%d%d",&n,&m,&T);
for(int i=;i<=m;++i)
scanf("%d%d%d",&egde[i].u,&egde[i].v,&egde[i].t);
for(int i=;i<=n;++i)
for(int j=;j<=n;++j)
time[i][j]=T+;
time[][]=;
for(int i=;i<n;++i)
for(int j=;j<=m;++j){
int u=egde[j].u;
int v=egde[j].v;
int t=egde[j].t;
if(time[i][u]+t<time[i+][v]){
time[i+][v]=time[i][u]+t;
pre[i+][v]=u;
}
}
int floor;
for(int i=n;i>=;--i)
if(time[i][n]<T+){
floor=i;
printf("%d\n",floor);
break;
}
int nod=n;
stack<int>s;
while(pre[floor][nod]){
s.push(pre[floor][nod]);
nod=pre[floor][nod];
floor--;
}
while(!s.empty()){
nod=s.top();
s.pop();
printf("%d ",nod);
}
printf("%d\n",n);
}

Journey的更多相关文章

  1. CF721C. Journey[DP DAG]

    C. Journey time limit per test 3 seconds memory limit per test 256 megabytes input standard input ou ...

  2. POJ2488A Knight's Journey[DFS]

    A Knight's Journey Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 41936   Accepted: 14 ...

  3. CF #374 (Div. 2) C. Journey dp

    1.CF #374 (Div. 2)    C.  Journey 2.总结:好题,这一道题,WA,MLE,TLE,RE,各种姿势都来了一遍.. 3.题意:有向无环图,找出第1个点到第n个点的一条路径 ...

  4. POJ2488-A Knight's Journey(DFS+回溯)

    题目链接:http://poj.org/problem?id=2488 A Knight's Journey Time Limit: 1000MS   Memory Limit: 65536K Tot ...

  5. codeforces 721C C. Journey(dp)

    题目链接: C. Journey time limit per test 3 seconds memory limit per test 256 megabytes input standard in ...

  6. A Knight's Journey 分类: POJ 搜索 2015-08-08 07:32 2人阅读 评论(0) 收藏

    A Knight's Journey Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 35564 Accepted: 12119 ...

  7. HDOJ-三部曲一(搜索、数学)- A Knight's Journey

    A Knight's Journey Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 131072/65536K (Java/Other) ...

  8. 【推公式】UVa 10995 - Educational Journey

    1A~,但后来看人家的代码好像又写臭了,T^T... Problem A: Educational journey The University of Calgary team qualified f ...

  9. poj 3544 Journey with Pigs

    Journey with Pigs Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3004   Accepted: 922 ...

  10. HDU 5477 A Sweet Journey 水题

    A Sweet Journey Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pi ...

随机推荐

  1. CSS倒影

    前面的话   CSS倒影目前只有chrome和safari浏览器支持,且需要添加-webkit-前缀.本文将详细介绍CSS倒影box-reflect 语法 -webkit-box-reflect 初始 ...

  2. 多目标遗传算法 ------ NSGA-II (部分源码解析)介绍

    NSGA(非支配排序遗传算法).NSGA-II(带精英策略的快速非支配排序遗传算法),都是基于遗传算法的多目标优化算法,是基于pareto最优解讨论的多目标优化. 在官网: http://www.ii ...

  3. 毕向东_Java基础视频教程第19天_IO流(11~14)

    第19天-11-IO流(字节流File读写操作) import java.io.FileInputStream; import java.io.FileOutputStream; import jav ...

  4. open live writer下载安装

    以前记笔记都是用Evernote,啥都记在上面.除了学习工作的以外,还有各种账号密码啦(这个真心有必要,再也不用各种试了),妈妈要我帮她下载的广场舞名字啦,我双十一要剁手的东西啦等等.很好用的,推荐! ...

  5. USACO 3.4 American Heritage

    American Heritage Farmer John takes the heritage of his cows very seriously. He is not, however, a t ...

  6. 消息推送之androidpn部署

    androidpn客户端的部署在eclipse上,要记住两点: 1.直接导入的项目是上个世纪的lib这个文件夹,要改为libs.否则会报错找不到云云类. 2.如果在虚拟器上测试,要将res/raw/a ...

  7. HTML <button>标签

    如果<button>标签在<form>中不加type="button",那么默认含义是"submit". <button>标 ...

  8. linux下正确安装jsoncpp

    要安装jsoncpp,首先要下载好scons,再去安装jsoncpp scons下载地址:wget http://prdownloads.sourceforge.NET/scons/scons-2.2 ...

  9. python3 获取阿里云ECS 实例及监控的方法

    #!/usr/bin/env python3.5 # -*- coding:utf8 -*- try: import httplib except ImportError: import http.c ...

  10. 【IE6的疯狂之十】父级使用padding后子元素绝对定位的BUG

    在前端开发中,经常会用到css的position:absolute来使层浮动,前通过left,top,right等属性来对层进行定位,但ie6对left,top,right等属性的解释和ie7,ie8 ...