動態規劃之均分求差劇最小

2021-08-22 12:09:54 字數 792 閱讀 8656

時間限制:1000 ms  |  記憶體限制:65535 kb

難度:3

輸入第一行只有乙個整數m(m<=1000),表示測試資料組數。

接下來有乙個整數n(n<=1000),表示郵票的張數。

然後有n個整數vi(vi<=100),表示第i張郵票的分值。

輸出輸出差值,每組輸出佔一行。

樣例輸入

2

52 6 5 8 9

32 1 5

樣例輸出

0

2

描述

小珂最近收集了些郵票,他想把其中的一些給他的好朋友小明。每張郵票上都有分值,他們想把這些郵票分成兩份,並且使這兩份郵票的分值和相差最小(就是小珂得到的郵票分值和與小明的差值最小),現在每張郵票的分值已經知道了,他們已經分好了,你知道最後他們得到的郵票分值和相差多少嗎?

目錄

郵票分你一半

#include#include#define max(a, b) a > b ? a : b  

int a[100000], dp[100000];

int main()

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

int v = sum / 2;

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

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

}}

最小編輯代價(動態規劃)

在nowcoder上的題目,原題如下 對於兩個字串a和b,我們需要進行插入 刪除和修改操作將a串變為b串,定義c0,c1,c2分別為三種操作的代價,請設計乙個高效演算法,求出將a串變為b串所需要的最少代價。給定兩個字串a和b,及它們的長度和三種操作代價,請返回將a串變為b串所需要的最小代價。保證兩串...

最小編輯代價(動態規劃)

實現 對於不同的要求,主要是找到求dp i j 的規律。include include include include include include include using namespace std define max length 50 字串的最大長度 求出dp i j 代表從str1 ...

最小代價樹(動態規劃)

description 以下方法稱為最小代價的字母樹 給定一正整數序列,例如 4,1,2,3,在不改變量的位置的條件下把它們相加,並且用括號來標記每一次加法所得到的和。例如 4 1 2 3 5 5 10。除去原數不4,1,2,3之外,其餘都為中間結果,如5,5,10,將中間結果相加,得到 5 5 1...