bzoj1222: [HNOI2001]产品加工
注意时间都是 <= 5的。。
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<iostream> using namespace std; template<typename Q> Q read(Q& x) {
static char c, f;
for(f = ; c = getchar(), !isdigit(c); ) if(c == '-') f = ;
for(x = ; isdigit(c); c = getchar()) x = x * + c - '';
if(f) x = -x;
return x;
}
template<typename Q> Q read() {
static Q x; read(x); return x;
} const int N = + , INF = * + ;
int a[N], b[N], c[N];
int f[N * ]; int main() {
#ifdef DEBUG
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#endif int n, maxw = ;
scanf("%d", &n);
for(int i = ; i <= n; i++) {
scanf("%d%d%d", a + i, b + i, c + i);
if(!a[i]) a[i] = INF;
if(!b[i]) b[i] = INF;
if(!c[i]) c[i] = INF;
maxw += min(min(a[i], b[i]), c[i]);
}
memset(f, 0x3f, sizeof f);
f[] = ;
for(int i = ; i <= n; i++) {
for(int j = maxw; j >= ; j--) {
f[j] += b[i];
if(j >= a[i]) f[j] = min(f[j], f[j - a[i]]);
if(j >= c[i]) f[j] = min(f[j], f[j - c[i]] + c[i]);
}
}
int ans = INF;
for(int i = ; i <= maxw; i++) ans = min(ans, max(i, f[i]));
printf("%d\n", ans); return ;
}
bzoj1222: [HNOI2001]产品加工的更多相关文章
- BZOJ1222[HNOI2001]产品加工——DP
题目描述 某加工厂有A.B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成.由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时由两台机器共同进行加工 ...
- BZOJ1222: [HNOI2001]产品加工(诡异背包dp)
Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 907 Solved: 587[Submit][Status][Discuss] Descriptio ...
- bzoj1222: [HNOI2001]产品加工--DP
DP神题orz dp[i]表示机器1工作i小时,机器2工作dp[i]小时 那么对于每个任务: 选1:dp[i]=dp[i-a]; 选2:dp[i]=dp[i]+b; 选1+2:dp[i]=dp[i-c ...
- BZOJ1222 [HNOI2001]产品加工 - 动态规划- 背包
题解 怎么看都不像是个背包,直到我看了题解→_→, 第一次碰到这么奇怪的背包= = 定一个滚动数组$F_i$, $i$表示机器$a$用了$i$的时间, $F_i$表示机器$b$用了$F_i$的时间, ...
- 【BZOJ1222】[HNOI2001]产品加工 DP
[BZOJ1222][HNOI2001]产品加工 Description 某加工厂有A.B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成.由于受到机器性能和产品特性的限制,不同 ...
- bzoj 1222: [HNOI2001]产品加工 dp
1222: [HNOI2001]产品加工 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 381 Solved: 218[Submit][Status ...
- Bzoj 1222: [HNOI2001]产品加工 动态规划
1222: [HNOI2001]产品加工 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 486 Solved: 298[Submit][Status ...
- 洛谷 P2224 [HNOI2001]产品加工 解题报告
P2224 [HNOI2001]产品加工 题目描述 某加工厂有A.B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成.由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需 ...
- 【bzoj1222】[HNOI2001]产品加工 背包dp
题目描述 某加工厂有A.B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成.由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时由两台机器共同进行加工 ...
随机推荐
- QT UI 如果发现布局之后,button不在父widget的中间
如果发现布局之后,button不在父widget的中间: 调整父widget的布局参数:
- a+b(高精度)[陈涛]——c语言
#include<stdio.h>#include<string.h>char s[1000];---------------------------------------- ...
- C++的显示转换
利用显示转换使得我们可以很容易发现它们,因为通过名字就能找到: static_cast 用于“良性”和“适度良性”转换,包括不用强制转换 const_cast 对“const”和“volatil ...
- PHP过滤常用标签的正则表达式
$str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ] ...
- jQuery 源码细读 -- $.Callbacks
$.Callbacks 是 jQuery 提供的可以方便地处理各种回调(callback)列表的类,其源代码是闭包的经典实现. 基本原理就是通过在闭包环境内保存一个 list = [] 数组用于存储回 ...
- PM【terminal】
More Knowledge More Performance More Time 资料模组化 以知识管理为基础的项目管理 规范:ethic
- python消息队列snakemq使用总结
Python 消息队列snakemq总结 最近学习消息总线zeromq,在网上搜了python实现的消息总线模块,意外发现有个消息队列snakemq,于是拿来研究一下,感觉还是很不错的,入手简单使用也 ...
- 修改虚拟机linux硬盘的大小
一.概述 Ubuntu用了一段时间,系统已从原来的4G增长到8G,导致虚拟磁盘不够用,需要修改虚拟硬盘的大小. 但是,修改虚拟机硬盘的大小不像修改内存那么简单,操作一个滑动条就轻松搞定.要知道虚拟硬盘 ...
- 定制textField
2014-08-05 11:00 447人阅读 评论(0) 收藏 举报 分类: IOS开发笔记(248) 版权声明:本CSDN博客所有文章不会即时更新,请关注个人博客:http://www.hua ...
- activity学习(1) 生命周期理解
可以忽略onWindowFocusChanged.onSaveInstanceState.onRestoreInstanceState几个事件,这几个事件官网中的生命周期里面没有提到.忽略掉这几个方法 ...