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 ...
随机推荐
- loadrunder之脚本篇——加密解密
密码加密 可以给密码加密,意在把结果字符串作为脚本的参数或者参数值.例如,完整可能有一个用户密码填写的表单,你想测试网站针对不同密码的反应,但是你又想保护密码的安全.Password Encoder允 ...
- iOS 52个技巧学习心得笔记 第一章 熟悉OC
1 .简单了解OC2 .在类的头文件中尽量少引入其他头文件3 .多用字面量语法 少用与之等价的方法 4 .多用类型常量 少用 #define 预处理指令5 .用枚举表示状态,选项,状态码 .简单了解O ...
- web前端基础知识学习网站推介
内容:一.基础知识及学习资料1. HTML入门学习:http://www.w3school.com.cn/html/index.aspHTML5 入门学习:http://www.w3school.co ...
- 【CodeChef】Factorial(n!末尾0的个数)
The most important part of a GSM network is so called Base Transceiver Station (BTS). These transcei ...
- 【HackerRank】 Sherlock and The Beast
Sherlock and The Beast Sherlock Holmes is getting paranoid about Professor Moriarty, his archenemy. ...
- 恢复性训练day1
DP: 0/1背包一个常见的错误是没有cmax(f[i][j],f[i-1][j]) 0/1背包的拓展中有转移式的变形,以及无限数量背包,分组背包等. 可化为背包问题的一般不会太难. 数组开小,出现大 ...
- HashSet,TreeSet和LinkedHashSet的区别
1. Set接口 Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false. Set判断两个对象相同不是使用==运算符,而是根据equals方法.也就是说,只要两个 ...
- Win32 API编程:CHAR TCHAR WCHAR的区别
#ifdef UNICODE typedef wchar_t TCHAR; #else typedef unsigned ...
- Spring-data-jpa常用方法
- 关于Pytorch的二维tensor的gather和scatter_操作用法分析
看得不明不白(我在下一篇中写了如何理解gather的用法) gather是一个比较复杂的操作,对一个2维tensor,输出的每个元素如下: out[i][j] = input[index[i][j]] ...