演算法 動態規劃二(例題)

2021-09-25 18:16:11 字數 1229 閱讀 5809

下面描述就是題意:

有乙個由1..9組成的數字序列.問如果將m個加 號插入到這個數字序列中,在各種可能形成的 表示式中,值最小的那個表示式的值是多少

4 21 2 3 4 

4 31 2 3 4 5

1924

#include #include #include #include #include #include #include #include #include #include #include #include #define inf 1000000007

typedef long long ll;

using namespace std;

const int inf = 0x3f3f3f;

int sz[1000];

int num[1000][1000];

int n,m;

int v(int n, int m)

}int main()

}printf("%d\n",ss[40]);

return 0;

}

時間限制: 2  s        記憶體限制: 128  mb

給你乙個固定容量的揹包v,和n個物品。每個物品有它的體積和價值,每個物品只能拿1個,在總物品的體積不超過揹包容量的前提下可以獲得的最大價值。

第一行輸入兩個int型整數v和n,表示揹包的容量和給出的物品數。(v<=1000,n<=100)然後給出n個物品,vi和mi表示物品的體積和價值。(1<=vi<=mi<=1000)

輸出乙個整數表示所能得到的最大價值並換行。

100 5

77 92

22 22

29 87

50 46

99 90

133

#include #include #include #include #include #include #include #include #include #include #include #include #define inf 1000000007

typedef long long ll;

using namespace std;

int dp[10010][10010];

struct nodep[10010];

int main()

}printf("%d\n",dp[v][n]);

return 0;

}

動態規劃例題(二)

給定乙個非負整數 num。對於 0 i num 範圍中的每個數字 i 計算其二進位制數中的 1 的數目並將它們作為陣列返回。例如 輸入 2 輸出 0,1,1 先分析,然後找規律,最後求解。直接利用求二進位制的函式,進行統計 1 的數量統計即可 class solution def countbits...

動態規劃經典例題(二)

最長公共子列 輸入 abcfbc abfcab programming contest abcd mnp 輸出 420 解題思路 和最求最長上公升子列一樣,先設定乙個陣列儲存比較過的狀態maxlen,一步步的從子問題推到最終問題。設乙個二維陣列maxlen 最長公共子串ad cba1 111b 11...

動態規劃例題

題目描述 有一條很長的數軸,一開始你在0的位置。接下來你要走n步,第i步你可以往右走ai或者bi。問n步之後,0到m的每個位置,能不能走到?輸入格式 第一行,兩個整數n,m。接下來n行,每行兩個整數ai,bi。輸出格式 一行,一共m 1個數,每個數都是0或1表示能否走到,數字之間不用空格隔開。樣例輸...