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 ...