AcWing 279 自然數拆分

2022-06-10 14:03:08 字數 505 閱讀 2609

原題鏈結

考察:完全揹包dp

思路:n可以看成體積為n,從1~n-1的數選的揹包.因為f[i][j]代表從前i個數選,體積恰好為j的方案數.

感覺我**重新整理前後是一模一樣的,重新整理前是輸出錯誤答案,重新整理後又對了 = =

1 #include 2 #include 3 #include 4

using

namespace

std;

5 typedef long

long

ll;6

const ll mod =2147483648ll;

7const

int n = 4010;8

ll f[n];

9int

main()

10

總結:注意f[i][j]是否有恰好的含義,恰好只需要初始化f[0][0] = 0

不是恰好的話,需要+w[i]

題解 AcWing279 自然數拆分

題面 因為題目中說參與加法運算的數可以重複,由此可以想到完全揹包計數問題。完全揹包計數問題與 01 揹包計數問題只有乙個不同 01 揹包計數問題的第二維迴圈是倒敘迴圈,而完全揹包計數問題的第二維迴圈是正序迴圈。這涉及到的是迴圈時後效性的問題,具體的證明留給讀者思考。注意每一步計數都要取模,且最後輸出...

AcWing P279 自然數拆分(DP)

給定乙個自然數n,要求把n拆分成若干個正整數相加的形式,參與加法運算的數可以重複。注意 拆分方案不考慮順序 至少拆分成2個數的和。求拆分的方案數 mod 2147483648的結果。輸入格式 乙個自然數n。輸出格式 輸入乙個整數,表示結果。資料範圍和約定 1 n 4000 輸入樣例 7輸出樣例 14...

自然數拆分

描述 description 輸入自然數n,然後將其拆分成由若干數相加的形式,參與加法運算的數可以重複。輸入格式 inputformat 輸入只有乙個整數n,表示待拆分的自然數n。n 80 輸出格式 outputformat 輸出乙個數,即所有方案數 樣例輸入 sampleinput 複製資料 7 ...