洛谷P2066 機器分配

2021-07-26 08:13:21 字數 811 閱讀 3314

(一)此題資料範圍很小,所以可用搜尋。用b陣列記錄每次的路徑,最後到達終點並比較,如果結果更大,則用c陣列更新路徑。

#include#includeusing namespace std;

int n,m,a[20][20],ans,b[20],c[20];

void dfs(int x,int y,int z)

return;

}for (int i=0; i<=m-y; i++)

}int main()

(二)也可以用動歸來做。

f[x][y]:x個公司分配y臺機器最大盈利

初始化:f[0][...] = 0     f[...][0] = 0

動態轉移方程:f[i][j] = f[i-1][k] + a[i][j-k]  (0 <= k <= j)    (討論第i個公司分配0~v-k臺機器的情況)

#include#includeusing namespace std;

int n,m,a[20][20],dp[20][20],book[20][20];

//book[x][y]:前x個公司分配y臺機器得到最大盈利,前面所有公司已分配的台數

void print(int x,int y)

int main()

} printf("%d\n",dp[n][m]);

print(n,m);

printf("%d %d",n,m-book[n][m]);

return 0;

}

洛谷P2066 機器分配

總公司擁有高效裝置m臺,準備分給下屬的n個分公司。各分公司若獲得這些裝置,可以為國家提供一定的盈利。問 如何分配這m臺裝置才能使國家得到的盈利最大?求出最大盈利值。其中m 15,n 10。分配原則 每個公司有權獲得任意數目的裝置,但總台數不超過裝置數m。輸入格式 第一行有兩個數,第乙個數是分公司數n...

P2066 機器分配

無 總公司擁有高效裝置m臺,準備分給下屬的n個分公司。各分公司若獲得這些裝置,可以為國家提供一定的盈利。問 如何分配這m臺裝置才能使國家得到的盈利最大?求出最大盈利值。其中m 15,n 10。分配原則 每個公司有權獲得任意數目的裝置,但總台數不超過裝置數m。輸入格式 第一行有兩個數,第乙個數是分公司...

洛谷2066 機器分配

總公司擁有高效裝置m臺,準備分給下屬的n個分公司。各分公司若獲得這些裝置,可以為國家提供一定的盈利。問 如何分配這m臺裝置才能使國家得到的盈利最大?求出最大盈利值。其中m 15,n 10。分配原則 每個公司有權獲得任意數目的裝置,但總台數不超過裝置數m。輸入格式 第一行有兩個數,第乙個數是分公司數n...