整數劃分(動歸)

2021-08-19 03:55:02 字數 560 閱讀 1831

將n分為若干個不同整數的和,有多少種不同的劃分方式,例如:n = 6, ,共4種。由於資料較大,輸出mod 10^9 + 7的結果即可。

input 輸入1個數n(1 <= n <= 50000)。 output 輸出劃分的數量mod 10^9 + 7。 sample input

6
sample output
4

#include

#include

#include

#include

#include

#include

using namespace std;

int dp[50005][351];

int main(){

int n;

while(scanf("%d",&n)!=eof){

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

dp[1][1]=1;

for(int i=2;i<=n;i++){

for(int j=1;j

dp[i][j]是把i劃分成j個數。

關於整數劃分

動歸 編輯距離

設a和b是兩個字串。我們要用最少的字元操作次數,將字串a轉換為字串b。這裡所說的字元操作共有三種 1 刪除乙個字元 2 插入乙個字元 3 將乙個字元改為另乙個字元 皆為小寫字母!輸入格式 第一行為字串a 第二行為字串b 字串a和b的長度均小於2000。輸出格式 只有乙個正整數,為最少字元操作次數。輸...

動歸 道路遊戲

題目描述 小新正在玩乙個簡單的電腦遊戲。遊戲中有一條環形馬路,馬路上有n 個機械人工廠,兩個相鄰機械人工廠之間由一小段馬路連線。小新以某個機械人工廠為起點,按順時針順序依次將這n 個機械人工廠編號為1 n,因為馬路是環形的,所以第n 個機械人工廠和第1 個機械人工廠是由一段馬路連線在一起的。小新將連...

動歸 多人揹包

求01揹包前k優解的價值和 輸入格式 第一行三個數k v n 接下來每行兩個數,表示體積和價值 輸出格式 前k優解的價值和 題解 這道題目是在01揹包的基礎上求出前k個最優解。dp i j 揹包容量為i,第j優解的值。由於任意兩個揹包不能完全相同,所以只初始化dp 0 1 0 因為要求必須恰好裝滿,...