
【SSL_1636】机器分配
发布日期:2021-05-07 17:53:38
浏览次数:17
分类:技术文章
本文共 1641 字,大约阅读时间需要 5 分钟。
机器分配
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 745Sample Output
1167
思路
注:本题实际的n,m与题目是相反的。
c o d e : code: code:
#include#include using namespace std;long long n,a[10001][10001],f[1001][1001],ans=0,m;void in(){ cin>>m>>n; for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ cin>>a[i][j]; } }}void dp(){ for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ for(int k=0;k<=j;k++){ f[i][j]=max(f[i][j],f[i-1][k]+a[j-k][i]); } } }}int main(){ in(); dp(); cout<
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月01日 11时24分24秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【Python】面向对象,封装
2019-03-04
接口又是个啥?
2019-03-04
二叉树的基础练习题代码
2019-03-04
(JAVA小白必看)小白IDEA的安装与配置
2019-03-04
SpringMVC模板代码
2019-03-04
C++ Primer学习笔记——第2章 变量和基本数据类型
2019-03-04
5.11 TEST1
2019-03-04
6.14 阶段考试
2019-03-04
牛客IOI周赛19-普及组
2019-03-04
2020牛客NOIP赛前集训营-普及组(第四、五场)
2019-03-04
uni-app请求头中携带token
2019-03-04
常用的 Git 命令和小技巧(1)
2019-03-04
vue中接收后台的图片验证码并显示
2019-03-04
springboot入门(1)---整合MyBatis
2019-03-04
Vue入门学习笔记(1)
2019-03-04
前端入门经验——页面布局
2019-03-04
ECharts——双向柱状图
2019-03-04
Vue——引进bootstrap
2019-03-04
Vue——引进ivew
2019-03-04