時間限制: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...