國際大學生程式設計競賽例題 5 4 最小值

2021-08-30 11:53:14 字數 766 閱讀 8403

1.題意:

s[cnt_s],t[cnt_t] cnt_t>=cnt_s.

返回t-s的絕對值和的最小值.(cnt_s個元素)

2.思路:

動態規劃

d[i][j]:表示t的前j+1個數和s的前i+1個數匹配,得到的最小值.

轉移方程:

d[i][j]=d[i-1]d[j-1]+abs(s[i]-t[j]); i==j

d[i][j]=min(d[i][j-1],d[i-1][j-1]+abs(s[i]-t[j])); i

#include

using namespace std;

#if 0

題意:s[cnt_s],t[cnt_t] cnt_t>=cnt_s.

返回t-s的絕對值和的最小值.(cnt_s個元素)

思路:動態規劃

d[i][j]:表示t的前j+1個數和s的前i+1個數匹配,得到的最小值.

轉移方程:

d[i][j]=d[i-1]d[j-1]+abs(s[i]-t[j]); i==j

d[i][j]=min(d[i][j-1],d[i-1][j-1]+abs(s[i]-t[j])); i#endif

const int max=500;

int s[max],t[max];

int cnt_s,cnt_t,cnt;

int d[max][max]; //儲存狀態

int main()

cout<}return 0;

}測試資料見附件.

國際大學生程式設計競賽例題 1 2 求和

題目大意 不計進製的加法,進製範圍 2到16 例如 55 67 十進位制 55 add 67 12 二進位制 110111 add 1001100 1111011 123 輸入 2 10 兩個區域,十進位制加 3 69 15 輸出 從3到6 加上 從9到15的和 解答 include using n...

國際大學生程式設計競賽例題 1 4 旅館

1,題意 字串匹配 乙個待匹配字串m 0或多個任意字元,1個任意字元 乙個驗證字串t 長度不超過50 輸出 符合條件的個數 2,思路 動態規劃 d i j 表示m的前i個字元和t的前j個字元匹配的結果.轉移方程 d i j d i 1 j 1 t j d i j d i j 1 d i 1 j t ...

國際大學生程式設計競賽例題 4,6樹

1,題意 n個節點,每個節點都有編號.k k 2 個葉子,可以組成多少這樣的樹.輔助方法 prufer code,選出標號最小的葉子點,刪除,輸出它的父親節點編號,直到剩餘兩個節點.得到乙個n 2的序列,就是prufer碼,可以證明其和樹是一一對應的.問題轉化為先從n個節點擊k個作為葉子,剩餘的n ...