poj2336
题目大意:一个船要把n个车渡过河 船最多载m辆车 把车运过去需要t的时间 回来也要t的时间
给定n辆车依次到河边的时间 求最短运送时间 还有最短跑几趟
一维dp 可以直接d运送时间
dp[i]=min{max(time[i],dp[j]+t)+t} (i-n=<j<i)
time[i]表示第i辆车到达时间,trip[i]表示第i辆车最少几趟
trip[i]=min{trip[j]}+1
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cstdlib>
using namespace std;
const int maxn=;
int dp[maxn],trip[maxn],tim[maxn],n,t,m,i,j;
int main()
{
int T;
cin>>T;
while(T--)
{
cin>>n>>t>>m;
memset(dp,0xff,sizeof(dp));
memset(trip,,sizeof(trip));
for(int i=;i<=m;i++)cin>>tim[i];
dp[]=-t;
dp[]=tim[]+t;
trip[]=;
for(i=;i<=m;i++)
{
for(j=max(,i-n);j<i;j++)
{
int tmp=max(dp[j]+t,tim[i])+t;
if(dp[i]==-)
{
dp[i]=tmp;
trip[i]=trip[j]+;
continue;
}
if(tmp<dp[i])
{
dp[i]=tmp;
trip[i]=trip[j]+;
}
}
}
cout<<dp[m]<<" "<<trip[m]<<'\n';
}
//system("pause");
return ;
}
poj2336的更多相关文章
- POJ-2336 Ferry Loading II(简单DP)
Ferry Loading II Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3763 Accepted: 1919 Desc ...
- poj-2336 Ferry Loading II(dp)
题目链接: Ferry Loading II Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3946 Accepted: ...
- [POJ2336]Ferry Loading II
题目描述 Description Before bridges were common, ferries were used to transport cars across rivers. Rive ...
- OJ题目分类
POJ题目分类 | POJ题目分类 | HDU题目分类 | ZOJ题目分类 | SOJ题目分类 | HOJ题目分类 | FOJ题目分类 | 模拟题: POJ1006 POJ1008 POJ1013 P ...
随机推荐
- 常用python模块
webbrowser浏览器控制模块 主要知道 导入 webbrowser使用webbrowser.open(url)运行就可以在默认浏览器打开指定url 来自为知笔记(Wiz)
- PHP生成缩略图,控制图片质量,支持.png .jpg .gif
namespace common\components; class ResizeImageHelper { public $type;//图片类型 public $width;//实际宽度 publ ...
- Loadrunder之脚本篇——参数类型
Internal data Date/Time,Group Name,Iteration Number,Load Generator Name,Ramdom Number,Table,Unique N ...
- css小知识---input输入块
对于如下的界面,介绍一种实现方式. 可以将整个界面分为三块,左中右.通过display: inline-block;和float: right;左右浮动效果实现. 代码如下: <!DOCTYPE ...
- $《第一行代码:Android》读书笔记——第13章 Android高级技巧
(一)全局获取Context 1.创建ApplicationUtil类继承自Application类: public class ApplicationUtil extends Application ...
- Linux基本命令 压缩命令
1.压缩命令 ================================================================================== 命令名称:gzip ...
- 内核模块编译时怎样绕过insmod时的版本检查
1.Uboot:每个arm芯片或者海斯芯片都有各自的uboot. 2.但他们的内核版本可以是一样的,主要是跟各自内核的进行的编译选项有关, 31的内核版本里加了版本检查选项“Kernel type-& ...
- C语言math.h库函数中atan与atan2的区别
源: C语言math.h库函数中atan与atan2的区别 C语言中的atan和atan2
- 3D图形学理论入门指南
转:http://gad.qq.com/article/detail/35096 介绍 当我还小的时候,我曾以为计算机图形学是最酷的玩意儿.但是随即我认识到,学习图形学——创建那些超级 ...
- Vue全家桶 vue + vue-router + vuex
Vue实例的生命周期钩子函数(8个) 1. beforeCreate data属性光声明没有赋值的时候 2. created ...