日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【动态规划】机器分配 (ssl 1639)

發布時間:2023/12/3 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【动态规划】机器分配 (ssl 1639) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

機器分配機器分配

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)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。