题目大意:一个船要把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的更多相关文章

  1. POJ-2336 Ferry Loading II(简单DP)

    Ferry Loading II Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3763 Accepted: 1919 Desc ...

  2. poj-2336 Ferry Loading II(dp)

    题目链接: Ferry Loading II Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3946   Accepted: ...

  3. [POJ2336]Ferry Loading II

    题目描述 Description Before bridges were common, ferries were used to transport cars across rivers. Rive ...

  4. OJ题目分类

    POJ题目分类 | POJ题目分类 | HDU题目分类 | ZOJ题目分类 | SOJ题目分类 | HOJ题目分类 | FOJ题目分类 | 模拟题: POJ1006 POJ1008 POJ1013 P ...

随机推荐

  1. 常用python模块

    webbrowser浏览器控制模块 主要知道      导入   webbrowser使用webbrowser.open(url)运行就可以在默认浏览器打开指定url 来自为知笔记(Wiz)

  2. PHP生成缩略图,控制图片质量,支持.png .jpg .gif

    namespace common\components; class ResizeImageHelper { public $type;//图片类型 public $width;//实际宽度 publ ...

  3. Loadrunder之脚本篇——参数类型

    Internal data Date/Time,Group Name,Iteration Number,Load Generator Name,Ramdom Number,Table,Unique N ...

  4. css小知识---input输入块

    对于如下的界面,介绍一种实现方式. 可以将整个界面分为三块,左中右.通过display: inline-block;和float: right;左右浮动效果实现. 代码如下: <!DOCTYPE ...

  5. $《第一行代码:Android》读书笔记——第13章 Android高级技巧

    (一)全局获取Context 1.创建ApplicationUtil类继承自Application类: public class ApplicationUtil extends Application ...

  6. Linux基本命令 压缩命令

    1.压缩命令 ================================================================================== 命令名称:gzip ...

  7. 内核模块编译时怎样绕过insmod时的版本检查

    1.Uboot:每个arm芯片或者海斯芯片都有各自的uboot. 2.但他们的内核版本可以是一样的,主要是跟各自内核的进行的编译选项有关, 31的内核版本里加了版本检查选项“Kernel type-& ...

  8. C语言math.h库函数中atan与atan2的区别

    源: C语言math.h库函数中atan与atan2的区别 C语言中的atan和atan2

  9. 3D图形学理论入门指南

    转:http://gad.qq.com/article/detail/35096 介绍         当我还小的时候,我曾以为计算机图形学是最酷的玩意儿.但是随即我认识到,学习图形学——创建那些超级 ...

  10. Vue全家桶 vue + vue-router + vuex

    Vue实例的生命周期钩子函数(8个)        1. beforeCreate             data属性光声明没有赋值的时候        2. created             ...