拆數遊戲dp

2021-09-02 11:01:38 字數 1858 閱讀 4176

問題4317--有趣的拆數遊戲

時間限制: 1 sec  記憶體限制: 128 mb

提交: 28  解決: 8

[提交] [狀態] [討論版] [命題人:admin]

題目描述

zxy特別喜歡數學,他看到過許多有趣的拆數題,比如:把乙個數拆成兩個質數的和或者將乙個數拆成若干個數的和,使得它們的乘積最大,當然這些都是簡單的的問題了,對於熱愛演算法競賽並且足夠優秀的你,當然不用解決這些簡單的問題啦。

現在zxy需要有乙個拆數問題交給你。

對於乙個整數n,你可以將它拆成若干個數的和,例如

1:

2:

3:

4:

注意:同樣的集合元素順序不同,我們也認為它們是不同的!

zxy想要統計到底有多少種拆分整數n的方法,所以乙個個寫下所有的可能,zxy的隊友孫剛來趁zxy不注意就把一些方案擦去了,zxy很生氣但是又沒有辦法。他發現擦去的集合都有一些特點,就是這個集合的元素裡面含有偶數。

例如對於1,2,3,4剩下的拆分方法是:

1:

2:

3:

4:

zxy突然靈機一閃,想知道對於乙個整數n,不含有集合內元素的拆分方法共有多少個?

輸入第一行乙個整數t(t<= 60),代表測試樣例的數量

乙個樣例包括一行包含三個整數n,m,k(  1<=n<=30,0<=m,k<30)

輸出t行,每行輸出當前組資料拆分方法的數量

樣例輸入

3

10 0 2

15 1 4

28 3 7

樣例輸出

55

23518848806

#include using namespace std;

const int maxn=31;

int dp[maxn];

int n,m,k,t;

bool check(int x)

int main()

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

return 0;

}

LOJ 6268 分拆數(DP 生成函式)

可以參見eiei ei的部落格傳送門 首先有乙個exp exp exp的o n logn o nlogn o nlog n 做法這裡 考慮ferr ers圖 ferrers圖 ferrer s圖從左上角向右下截乙個最大的正方形 設正方形邊長為h hh那麼剩下兩部分就都是 h le h h的整數拆分 ...

區間DP 矩陣取數遊戲

試題 noip2007 提高組 問題描述 帥帥經常跟同學玩乙個矩陣取數遊戲 對於乙個給定的 n m的矩陣,矩陣中的每個元素 aij均為非負整數。遊戲規則如下 1.每次取數時須從每行各取走乙個元素,共 n個。m次後取完矩陣所有元素 2.每次取走的各個元素只能是該元素所在行的行首或行尾 3.每次取數都有...

遊戲 最短路,拆點

把問題抽象成圖論應該不難 也許都不用抽象?但是怎麼建邊怎麼跑就千差萬別了。首先應該注意到的一點是座標的範圍是0 500,也就是501 501個位置,所以陣列 佇列不要開小。另外題目給出的莉露露沒說位置不能重複,所以每個點可能不止入隊一次,仍然要注意陣列大小。剛開始一直在想複雜度與n掛鉤的演算法,但是...