uva562 平分紙幣

2021-07-10 03:50:14 字數 482 閱讀 7615

題目大意:

有一堆紙幣要平分給兩個人,要求他們兩個之間的差值盡量的小。

思路:

類似於揹包問題,將紙幣的和當作是體積,從sum/2開始逆序減算出最大的重量(即dp[sum/2]),然後利用sum - 2 * dp[i] 得出的就是答案了。

忘記初始化dp wa

**:

#include 

using

namespace

std;

#include

#include

int dp[100005],a[100005];

int main()

memset(dp,0,sizeof(dp));

for(int i = 1; i <= n ; i++)

}printf("%d\n",sum - 2 * dp[sum / 2]);

}return

0;}

UVA562(平分錢幣問題)

題目大意 給定 n個硬幣,要求將這些硬幣平分以使兩個人獲得的錢盡量多,求兩個人分到的錢最小差值。思路 將它所給出的n個錢幣加起來sum,將sum 2當作體積,求出在sum 2下的最大值,sum 2 dp sum 2 這個題目wa幾次,原因就是陣列開小了,悲催的英文題,表示看不懂.include in...

UVA562(平分錢幣問題)

題目大意 給定 n個硬幣,要求將這些硬幣平分以使兩個人獲得的錢盡量多,求兩個人分到的錢最小差值。思路 將它所給出的n個錢幣加起來sum,將sum 2當作體積,求出在sum 2下的最大值,sum 2 dp sum 2 這個題目wa幾次,原因就是陣列開小了,悲催的英文題,表示看不懂.include in...

UVA 562 DP入門之01揹包

題意 有一堆硬幣,如何平分,可以讓兩堆硬幣的價值之差最小 剛開始想貪心的,姿勢不對,直接wa 將硬幣總和sum求出來,將sum 2當做容器就好,搜尋sum 2 0 符合條件的 列舉出所有的可能性之和。然後最後就是 差值 q sum 2 最大值 如下 include include include i...