传送门

f[i][j]表示第一个机器耗时j,第二个机器耗时f[i][j]

第一维可以滚掉

#include <cstdio>
#include <cstring>
#include <iostream>
#define INF 1e9
#define min(x, y) ((x) < (y) ? (x) : (y))
#define max(x, y) ((x) > (y) ? (x) : (y)) using namespace std; int n, m, now = 0, last = 1, ans = 1e9;
int f[2][30011]; inline int read()
{
int x = 0, f = 1;
char ch = getchar();
for(; !isdigit(ch); ch = getchar()) if(ch == '-') f = -1;
for(; isdigit(ch); ch = getchar()) x = (x << 1) + (x << 3) + ch - '0';
return x * f;
} int main()
{
int i, j, x, y, z;
n = read();
for(i = 1; i <= n; i++)
{
x = read(), y = read(), z = read();
m += max(x, max(y, z));
if(!x) x = INF;
if(!y) y = INF;
if(!z) z = INF;
now ^= 1, last ^= 1;
memset(f[now], 127 / 3, sizeof(f[now]));
for(j = m; j >= 0; j--)
{
if(j >= x) f[now][j] = min(f[now][j], f[last][j - x]);
f[now][j] = min(f[now][j], f[last][j] + y);
if(j >= z) f[now][j] = min(f[now][j], f[last][j - z] + z);
}
}
for(i = m; i >= 0; i--)
ans = min(ans, max(i, f[now][i]));
printf("%d\n", ans);
return 0;
}

  

最新文章

  1. WinHttp
  2. golang使用yaml格式解析构建配置文件
  3. NoSQL生态系统——类似Bigtable列存储,或者Dynamo的key存储(kv存储如BDB,结构化存储如redis,文档存储如mongoDB)
  4. Redis Sentinel机制与用法(一)
  5. Google protocol buffer在windows下的编译
  6. FZU 2214 Knapsack problem(背包问题)
  7. IOS开发中--点击imageView上的Button没有任何反应
  8. C++ 前置声明 和 包含头文件 如何选择
  9. Dynamic Programming - leetcode [动态规划]
  10. Sql_Case_When用法
  11. Macaca拓展自己控件的方法
  12. Java程序设计与数据结构导论--读后感
  13. css last
  14. python读取与写入csv,txt格式文件
  15. android开发(49) Android 下拉刷新的实现。使用 SwipeRefreshLayout 代替 pull-to-refesh
  16. vector读入指定行数但不指定列数的数字
  17. 样条之Akima光滑插值函数
  18. AIX 7命令行weblogic建域流水
  19. ViewFlipper实现自动播放的图片库
  20. Linux五种I/O模型性能分析

热门文章

  1. MAC 设置登录欢迎语
  2. python_20_列表
  3. Web/Java Web项目如何模块化?没有正文,别点
  4. C#条件运算符(?:)
  5. 微服务SpringCloud+Docker入门到高级实战(目录)
  6. 更改zabbix-server的端口
  7. redhat linux6.5升级openssh
  8. 神经网络系列学习笔记(二)——神经网络之DNN学习笔记
  9. 数据存储之使用MongoDB数据库存储数据
  10. 洛谷 P2279 [HNOI2003]消防局的设立