机器分配机器分配机器分配

Description

总公司拥有高效生产设备M台,准备分给下属的N个公司。各分公司若获得这些设备,可以为国家提供一定的盈利。问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值。其中M《=15,N〈=10。分配原则:每个公司有权获得任意数目的设备,但总台数不得超过总设备数M。

Input

第一行保存两个数,第一个数是设备台数M,第二个数是分公司数N。接下来是一个M*N的矩阵,表明了第I个公司分配J台机器的盈利。

Output

最大盈利

Sample Input

15 10

36 67 86 8 82 88 1 96 75 82

107 68 136 105 99 104 61 176 127 133

184 120 223 179 198 134 113 247 225 205

283 136 273 217 249 140 117 312 296 205

286 207 315 306 291 224 209 346 370 272

292 279 317 332 372 227 223 375 370 295

361 327 363 373 453 277 286 410 463 316

393 413 369 387 542 302 289 419 473 393

425 443 455 407 561 358 336 477 491 445

469 521 554 478 589 440 364 572 537 512

475 534 570 520 603 530 405 574 602 593

496 542 591 547 654 587 431 587 664 637

577 632 657 645 700 635 527 620 680 680

656 643 670 670 730 715 573 676 721 707

713 719 685 685 757 770 642 744 728 745

Sample Output

1167

题目大意:

有M台设备,给N个人,去工作,输入第二行开始,第i行表示的是获得i台设备,N个人分别可以制造的money,最多可制造多少money?

解题方法:

因为读入很特殊,要先用一个二维数组(a)读入,然后再用类似多重背包的借此即可(多重背包请看此csdn第一题“庆功会”)

动态转移方程:

f[j]=max(f[j],f[j−k]+a[i][k])f[j]=max(f[j],f[j-k]+a[i][k])f[j]=max(f[j],f[j−k]+a[i][k])

#include<cstdio>
#include<iostream>
using namespace std;
int n,m,a[11][16],f[16];
int main()
{scanf("%d%d",&m,&n);for (int i=1;i<=m;i++)for (int j=1;j<=n;j++)scanf("%d",&a[j][i]);for (int i=1;i<=n;i++)//前i个人for (int j=m;j>0;j--)//用j部电脑for (int k=1;k<=j;k++)//第i个人用k部电脑f[j]=max(f[j],f[j-k]+a[i][k]);printf("%d",f[m]);
}

【动态规划】机器分配 (ssl 1639)相关推荐

  1. (14)某工业生产部门根据国家计划的安排, 拟将某种高效率的5台机器,分配给所属的3个工厂A,B,C,各工厂在获得这种机器后,可以为国家盈利的情况如表4-10所示。

    问题描述: (14)某工业生产部门根据国家计划的安排, 拟将某种高效率的5台机器,分配给所属的3个工厂A,B,C,各工厂在获得这种机器后,可以为国家盈利的情况如表4-10所示.问:这5台机器如何分配给 ...

  2. 洛谷 p2066 机器分配(资源型)

    机器分配 https://www.luogu.org/problem/show?pid=2066 题目描述 总公司拥有高效设备M台,准备分给下属的N个分公司.各分公司若获得这些设备,可以为国家提供一定 ...

  3. 信息学奥赛一本通(1266:【例9.10】机器分配)

    1266:[例9.10]机器分配 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 6867     通过数: 3370 [题目描述] 总公司拥有高效设备M台,准备分 ...

  4. Luogu P2066 机器分配(dp)

    P2066 机器分配 题面 题目背景 无 题目描述 总公司拥有高效设备 \(M\) 台,准备分给下属的 \(N\) 个分公司.各分公司若获得这些设备,可以为国家提供一定的盈利.问:如何分配这 \(M\ ...

  5. 不止代码:机器分配(动态规划)

    题目描述 解析 头疼 什么破题 就是一个dp寻找最优性决策的常规题 但是要输出过程,可以使用递归输出 但是! 这题数据的意思是:存在a[i]=a[i+1]的情况,且在不影响利润的情况下,机器要尽可能的 ...

  6. 机器分配(信息学奥赛一本通-T1266)

    [题目描述] 总公司拥有高效设备M台,准备分给下属的N个分公司.各分公司若获得这些设备,可以为国家提供一定的盈利.问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值.其中M≤15,N≤10 ...

  7. 动态规划问题之背包模型(18题)

    背包问题是动态规划问题的一大类型,下面我们对这个进行总结. 以 Acwing y中总结的 几个类型,我写了几个题解 应用知识点 01背包.完全背包 空间压缩的写法 多维费用的背包问题,以及状态的不同表 ...

  8. 动态规划 —— 线性 DP

    [概述] 线性动态规划,是较常见的一类动态规划问题,其是在线性结构上进行状态转移,这类问题不像背包问题.区间DP等有固定的模板. 线性动态规划的目标函数为特定变量的线性函数,约束是这些变量的线性不等式 ...

  9. Acwing算法—动态规划

    目录 数字三角形模型 AcWing 898. 数字三角形 AcWing 1015. 摘花生 AcWing 1018. 最低通行费 AcWing 1027. 方格取数 AcWing 275. 传纸条 最 ...

最新文章

  1. poj 2559 Largest Rectangle in a Histogram 栈
  2. 【JavaSE】 单向链表的实现与讲解
  3. mysql -h139.129.205.80 -p test_db_dzpk db.dump
  4. saltstack-gdlwolf自学总结第二篇:salt常用帮助查找命令
  5. TP框架(接口文档模板框架)
  6. mysql脚本转成oracle脚本_mysql脚本手动修改成oracle脚本
  7. Linux学习之系统编程篇:MMU(Memory Manager Unit 内存管理单元)
  8. Braess’paradox 布雷斯悖论
  9. oracle jdbc jar包_Oracle总结之plsql编程(基础七)
  10. springboot mvc html,完美起航-SpringBoot整合MVC
  11. 详解:Oracle数据库介绍 、字符、类型、语言
  12. Microsoft Dynamic CRM 自定义重复检测功能
  13. abaqus算出来的转角单位是什么_abaqus中后处理中U的单位是什么?
  14. 计算机网络基础课程思政,《计算机网络技术》课程思政融入.pdf
  15. navicat下载安装
  16. 计算机图形学设计线宽代码,计算机图形学线宽和线型处理.ppt
  17. 【Element-ui 踩坑记录 2022/10/31】
  18. java 感想_Java课程感想
  19. 小米平板1(A0101)官方线刷包_救砖包_解账户锁
  20. ONVIFclient搜索设备获取rtsp解决开发笔记(精华文章)

热门文章

  1. linux java升级版本_为嵌入式Linux设备实现更新/升级系统
  2. 软件构造学习笔记-第三周
  3. ciclop读音,购机必备,15种 3D扫描 设备 优缺点汇总
  4. [mybatis]typeHandlers日期类型的处理
  5. Java实现BST搜索树
  6. [剑指offer]面试题48:不能被继承的类
  7. C++to_string应用举例
  8. Redis服务信息--Info指令
  9. SQL(二)- 基础查询语句
  10. Easy Math(ACM-ICPC 2018 徐州赛区网络预赛)(递归 + 杜教筛)