問題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掛鉤的演算法,但是...