HDU-4526 威威猫系列故事——拼车记 动态规划
分析:该题有2个地方要注意:所有的车要么不坐要么就坐满,这个贪心策略很容易证明是正确的,还有一点就是最后一辆车除外。
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std; const int MaX = ;
int N, K, D, S;
struct Node {
int ti;
int qz;
}seq[MaX];
int dp[MaX][MaX];
// dp[i][j]表示第i台车来的时候,等候人数为j时的最少开销 void solve() {
memset(dp, 0xff, sizeof (dp));
dp[][N] = ; // 初始化
for (int i = ; i <= K; ++i) {
const int &ti = seq[i].ti;
const int &qz = seq[i].qz;
for (int j = ; j <= N; ++j) {
if (dp[i-][j] != -) dp[i][j] = dp[i-][j] + j*(ti-seq[i-].ti); // 不乘坐
if (j == ) { // 最后一辆车可能不能坐满
for (int k = ; k <= qz; ++k) {
if (k <= N && dp[i-][k] != -) {
if (dp[i][] == -) {
dp[i][] = D + dp[i-][k] + k*(ti-seq[i-].ti);
} else {
dp[i][] = min(dp[i][], D + dp[i-][k] + k*(ti-seq[i-].ti));
}
}
}
} else {
if ((j+qz) <= N && dp[i-][j+qz] != -) {
if (dp[i][j] == -) {
dp[i][j] = D + dp[i-][j+qz] + (j+qz)*(ti-seq[i-].ti);
} else {
dp[i][j] = min(dp[i][j], D + dp[i-][j+qz] + (j+qz)*(ti-seq[i-].ti));
}
}
}
}
}
printf("%d\n", dp[K][]);
} int main() {
int T;
scanf("%d", &T);
while (T--) {
scanf("%d %d %d %d", &N, &K, &D, &S);
int sum = ;
for (int i = ; i <= K; ++i) {
scanf("%d %d", &seq[i].ti, &seq[i].qz);
sum += seq[i].qz;
}
if (sum < N) {
puts("impossible");
continue;
}
solve();
}
return ;
}
HDU-4526 威威猫系列故事——拼车记 动态规划的更多相关文章
- hdoj 4526 威威猫系列故事——拼车记
威威猫系列故事——拼车记 Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total ...
- HDU4526威威猫系列故事——拼车记(DP)
http://acm.hdu.edu.cn/showproblem.php?pid=4526 额..七夕快乐哦 刚推的时候有点乱 又各种小错误 查了好久.. dp[i][k] = min(dp[i-1 ...
- HDU 4540 威威猫系列故事——打地鼠
威威猫系列故事--打地鼠 Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Su ...
- hdu 4523 威威猫系列故事——过生日 小模拟
威威猫系列故事——过生日 Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total ...
- hdu 4540 威威猫系列故事——打地鼠 dp小水题
威威猫系列故事——打地鼠 Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total ...
- HDU 4540 威威猫系列故事——打地鼠 (状态压缩DP)
威威猫系列故事——打地鼠 Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total ...
- HDU--杭电--4504--威威猫系列故事——篮球梦--DP
威威猫系列故事——篮球梦 Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total ...
- HDUOJ----4504 威威猫系列故事——篮球梦
威威猫系列故事——篮球梦 Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total ...
- 2013腾讯编程马拉松初赛第〇场(HDU 4504)威威猫系列故事——篮球梦
http://acm.hdu.edu.cn/showproblem.php?pid=4504 题目大意: 篮球赛假如我们现在已经知道当前比分 A:B,A代表我方的比分,B代表对方的比分,现在比赛还剩下 ...
随机推荐
- 申请UAC权限Manifest文件
申请UAC 高级权限用, 同时不会影响系统风格 <?xml version="1.0" encoding="UTF-8" standalone=" ...
- jQuery DOM 与 原生DOM 互相转换的方法
jQuery 转 js $('#element').get(0); // 等于 document.getElementById('element'); // 输出 <p id="ele ...
- net-snmp源码VS2013编译添加加密支持(OpenSSL)(在VS里配置编译OpenSSL)
net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...
- android中View的GONE和INVISIBLE的原理
废话只重复两句: GONE真的隐藏: INVISIBLE不可见但是预留了View的位置: 网上千篇一律的重复着这两句话并举着例子,并没有观察本质来作区分.查看源码后得知其区别希望广大朋友能够借鉴,源码 ...
- 降维技术---PCA
数据计算和结果展示一直是数据挖掘领域的难点,一般情况下,数据都拥有超过三维,维数越多,处理上就越吃力.所以,采用降维技术对数据进行简化一直是数据挖掘工作者感兴趣的方向. 对数据进行简化的好处:使得数据 ...
- appium 等待页面元素加载
前面没找到合适的函数,用的是 try{Thread.sleep(10);}catch(Exception e){} 但是这个时间得自己控制,强制等待加载,很2的办法,后来终于找到一个合适的替代函数了 ...
- C语言 ---- 数组 iOS学习-----细碎知识点总结
#pragma mark - 数组:用来存放同一数据类型的数据 // 数组的定义:类型说明符 数组名[常量表达式] = {值1, 值2, 值3...}; // 定义一个float类型的数组,用来 ...
- SQL Server ->> EXECUTE AS LOGIN/USER和Revert表达式
EXECUTE AS LOGIN/USER和Revert表达式都是从SQL Server 2005就有.Revert的作用是用于切换当前过程的执行上下文返回上一个EXECUTE AS 语句发生之前的安 ...
- XSS检测工具 X5S/fiddler
x5s http://xss.codeplex.com/ 5s是fiddler的插件, 协助XSS脚本攻击的穿刺性测试. 需要手动驱动. 安全编码,unicode字符变形,ut-8编码. 5s is ...
- 【翻译】hololens入门
欢迎!我们很高兴您发现这里并做好了全息投影奇幻之旅的准备.本页面的全部内容都经由我们的工程师团队精心打造,因此这会让人觉得本页面是由软件工程师制作(别忘了,我们是全息投影技术的缔造者,而不是网页制 ...