P1806 跑步 NOI導刊2010普及(11)

2022-06-01 21:12:10 字數 450 閱讀 6514

水一篇部落格

翻譯:輸入一整數 n ,將其拆為若干個正整數之和,且這些數單調遞增(乙個數可不行)

直接 dp

易知:數的和為 i ,最後數為 j 的方案數,應該是刨除 j ,將所有最後數 k 都試一遍的和(k < j)

即: dp [ i ][ j ] += dp [ i - j ][ k ] ( k < j )

所以有程式:

#includeusing namespace std;

int n;

long long dp[510][510], ans;

int main()

{ scanf("%d",&n);

for(register int i=1;i<=n;i++)dp[i][i]=1;

for(register int i=1;i<=n;i++)for(register int j=1;j就這樣,謝謝

題解 洛谷P1806 跑步

有趣的水題 只有這麼幾篇題解,那就發一篇吧 這道題我講兩種方法 動規和打表!先講講有趣的打表吧!打表有什麼好說的嗎?有,記得開long long!還是直接上 吧!includeusing namespace std intn long long ans 501 intmain view code 想...

P1799 數列 NOI導刊2010提高(06)

這道題就是求通過刪除數字得到乙個新序列,從而與 1,2,3,4,序列所能形成最多的匹配。在題解翻到了兩種做法 傳統dp 設 dp i j 為從原序列中的前 i 位取 j 個數所能形成的最多匹配。注意 匹配的條件是 a i j 因為我們求的是新序列,新序列中第 j 位所期望的數字就是 j 如果成立,那...

洛谷 P839 NOI導刊 數頁碼

題面 一道找規律好題.首先,我們肯定只能一位一位的統計答案,考慮從高位向低位統計,顯然這樣要方便的多.對於第i位,我們統計從 a i 1 10 i 0 到 a i 1 10 i a i 10 1 對答案的貢獻.a i 表示原數的第i位 顯然0 10 i 1 1中的每乙個數都是作為上述某個數的一部分出...