题意

您正在经营一家为无线电控制汽车生产定制车轴的机加工车间。这些车轴可以用钢或不锈钢制造,不锈钢零件的价格通常来自普通钢。您有两台CNC车床:一台配置生产不锈钢零件,另一台配置生产钢制零件。在给定的生产运行中,特定的零件设计只能分配给两台机器中的一台,即相同的零件设计可以用钢或不锈钢制造,但不能同时制造。零件由坚固的材料棒制成;今天你的库存水平相当低,你只有一根钢棒和一根不锈钢棒。零件设计选自库,其中每个零件根据生产它所需的库存材料长度列出,以及钢和不锈钢版本中零件的当前优质产量。您必须从库中选择一部分零件,并决定生产这些零件的副本数量,以及是否应使用钢或不锈钢生产给定零件,以最大限度地提高您的可用材料量。

题解

开始题意理解错,以为是个DAG上的动态规划。比完才发现是个01背包。根据题目要求枚举子集,再加上01背包就行。

AC代码

#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <functional>
using namespace std;const int maxn = 1205;int dp1[maxn], dp2[maxn];
int w[20],v1[20],v2[20];
int n, x;int solve(int a, int b){memset(dp1, 0, sizeof(dp1));memset(dp2, 0, sizeof(dp2));for(int i = 0; i<n; i++){if((x&(1<<i)))for(int j = w[i]; j<=a; j++)dp1[j]=max(dp1[j], dp1[j-w[i]]+v1[i]);else for(int j = w[i]; j<=b; j++) dp2[j]=max(dp2[j], dp2[j-w[i]]+v2[i]);}return dp1[a]+dp2[b];
}int main(){while(scanf("%d",&n) != EOF && n!=-1){for(int i = 0; i<n; i++){scanf("%d%d%d", w+i, v1+i, v2+i);}int i,j, mx = 0;scanf("%d%d", &i, &j);for(x = 0; x<(1<<n); x++){int res = solve(i, j);if(mx<res)mx = res;}printf("%d\n", mx);}return 0;
}

Axles UVALive 7197相关推荐

  1. DP UVALive 6506 Padovan Sequence

    题目传送门 /*题意:两行数字,相邻列一上一下,或者隔一列两行都可以,从左到右选择数字使和最大DP:状态转移方程:dp[i][j] = max (dp[i][j], dp[1-i][j-1] + a[ ...

  2. The UVALIVE 7716 二维区间第k小

    The UVALIVE 7716 二维区间第k小 /** 题意:给一个n * n的矩阵,有q个查询每次查询r,c,s,k表示已(r,c)为右上角 大小为s的正方形中 第k小的元素n <= 250 ...

  3. UVALive 8513 lovers 2017 西安区域赛 B 贪心+multiset

    UVALive 8513 有2种人,每个人有自己的权值$A_i$ $B_i$ 当$A_i + B_i >=K$时 两个人可以配对 问最多多少人可以配对 解法 : 把$/{ A_i /}$ 排序 ...

  4. 训练指南 UVALive - 3713 (2-SAT)

    layout: post title: 训练指南 UVALive - 3713 (2-SAT) author: "luowentaoaa" catalog: true mathja ...

  5. 逆序数 UVALive 6508 Permutation Graphs

    题目传送门 1 /* 2 题意:给了两行的数字,相同的数字连线,问中间交点的个数 3 逆序数:第一行保存每个数字的位置,第二行保存该数字在第一行的位置,接下来就是对它求逆序数 4 用归并排序或线段树求 ...

  6. Infinite Fraction Path UVALive - 8207

    Infinite Fraction Path UVALive - 8207 题意: 给你n个数,每个数在0到9之间,每个数的下标一次是0~n-1,然后他所能走到的数为(i^2+1)%n,i为他本身的下 ...

  7. F - Heron and His Triangle UVALive - 8206

    F - Heron and His Triangle UVALive - 8206 题意: 给你应该n,然后求一个最小的t,问长度为t-1,t,t+1所组成的三角形的面积为整数,t>=n 题解: ...

  8. Tree UVALive - 8212

    Tree UVALive - 8212 题意: 有n个点,k个颜色,每个点都要被染色,相同颜色之间的边算是被该颜色覆盖,问有多少边被所有颜色覆盖 题解: 题目给的是无根树,我们可以将1默认为根然后求所 ...

  9. Rabbits UVALive - 8211

    Rabbits UVALive - 8211 题意: n个兔子的位置,兔子每次可以跳到两个兔子之间,问最多可以跳多少下? 题解: 求出所有相邻两数的间隔,然后减去最小间隔就是答案 代码: #inclu ...

最新文章

  1. [机器学习笔记]Note14--推荐系统
  2. java list 比较相同的元素_java list 比较相同的元素 | 学步园
  3. hud抬头显示器哪个好_显示器TN、IPS、VA面板类型哪个好?
  4. Nginx 屏蔽ip地址的方法
  5. 六层电梯的PLC控制程序
  6. STM32 HAL库函数学习 UART篇
  7. php版本大屏幕,PHP现场抽奖大屏幕互动系统
  8. lua 随机数 math.random()和math.randomseed()用法
  9. PDF如何导出成图片,操作教程
  10. 在电脑上怎么做判断题打√或x_电脑基础知识竞赛试题
  11. 树莓派 交叉编译工具链的安装
  12. dockerfile unknown instruction:jar
  13. 安超云生态|安超云与长城超云完成兼容互认证 携手打造协同生态
  14. 影音服务器nas硬盘,手把手教您用win10做NAS:搭配emby,VM虚拟群晖,直通硬盘!打造家庭影音媒体服务器!...
  15. 穿越火线枪战王者服务器维护,穿越火线枪战王者-CF正版官方手游-官方网站-腾讯游戏...
  16. 具有DPP-4抑制活性的新型氨甲基联苯衍生物
  17. win10安装VMware死机
  18. 服务器升级如何维护,服务器维护更新升级的注意事项服务器教程 -电脑资料
  19. pycharm利用快捷键实现多选相同标签并修改
  20. 金蝶KIS专业版旗舰版 如何将物料属性中的科目代码设置默认值

热门文章

  1. 特斯拉火速道歉!甩锅国家电网失败,网友:这次碰到硬茬了
  2. 如何使用systemctl管理postgres数据库启停
  3. DML语句和 DQL语句
  4. C盘创建文件或复制文件时提示错误0x80070522:客户端没有所需的特权的两种解决办法
  5. Vivo手机配什么牌子蓝牙耳机好?适配vivo手机国产降噪耳机推荐
  6. BootstrapValidator详解,触发到验证
  7. lisp绘制棱锥_ICAD命令全集.doc
  8. 阿里开源分布式框架dubbo
  9. AI一分钟就能生成个性动漫头像?分享一个超好用的AI卡通头像生成器
  10. 前后端分离以及vue框架的介绍