1. 程式人生 > >杭電1028 整數劃分問題 母函式

杭電1028 整數劃分問題 母函式

c1[3] = 5 說明 x 的三次方的係數為五 說明 3 可以有5 中劃分方法

#include <iostream>
using namespace std;
int c1[130], c2[130];
int main()
{
    int n, i, j;
    while(cin>>n)
    {
    for(i = 0; i <= n; i++)
    {
        c1[i] = 1;
        c2[i] = 0;
    }
    for(i = 2; i <= n; i++)
    {
        for(j = 0
; j <= n; j++) for(int k = 0;k+j<=n;k = k+i) c2[k+j] += c1[j]; for(j = 0; j <= n; j++) { c1[j] = c2[j]; c2[j] = 0; } } cout<<c1[n]<<endl; } return 0; }

相關推薦

1028 整數劃分問題 函式

c1[3] = 5 說明 x 的三次方的係數為五 說明 3 可以有5 中劃分方法 #include <iostream> using namespace std; int c1[130]

Ignatius and the Princess III(1028)(函數)

mission des panel mes content nat strong pro accepted Ignatius and the Princess III Time Limit: 2000/1000 MS (Java/Others) Memory L

演算法作業-整數劃分-函式

正整數的劃分問題是將一個正整數n表示成一系列正整數之和:n=n1+n2+…+nk,其中n1≥n2≥…≥nk≥1,k≥1。請編寫至少三種不同的求解演算法,並對所編寫演算法的時間效率進行測試和比較。解法一:遞迴演算法解法三:母函式演算法,xmk表示劃分中包含了m個k的情況。正整數

1028——整數拆分(遞迴實現)

問題描述 Problem Description “Well, it seems the first problem is too easy. I will let you know how foolish you are later.” feng5166

OJ 1028 整數劃分

Problem Description "Well, it seems the first problem is too easy. I will let you know how foolish you are later." feng5166 says. "Th

hdu 1028 & hdu 1398 —— 整數劃分(生成函式)

題目:http://acm.hdu.edu.cn/showproblem.php?pid=1028 整數劃分,每個數可以用無限次; 所以構造 f(x) = (1+x+x2+x3+...)(1+x2+x4+...)(1+x3+x6+...)...(1+xn) 乘起來後的 xn 的係數就是方案數; 用兩個

oj2092 整數

 先記下, 不知道為什麼過不了 #include<iostream> #include<math.h> using namespace std; int main(){ int a,b; bool cc; while(cin>>a&

acm1271 整數

Problem Description Gardon和小希玩了一個遊戲,Gardon隨便想了一個數A(首位不能為0),把它去掉一個數字以後得到另外一個數B,他把A和B的和N告訴了小希,讓小希猜想他原來想的數字。不過為了公平起見,如果小希回答的數雖然不是A,但同樣能達到那個條

1028

Ignatius and the Princess III Problem Description “Well, it seems the first problem is too easy. I will let you

nyoj 整數劃分 90 (函式

整數劃分 時間限制:3000 ms  |           記憶體限制:65535 KB 難度:3 描述 將正整數n表示成一系列正整數之和:n=n1+n2+…+nk, 其中n1≥n2≥…≥nk≥1,k≥1。 正整數n的這種表示稱為正整數n的劃分。求正整數n的不

acm1028利用函式求解數字拆分問題

http://acm.hdu.edu.cn/showproblem.php?pid=1028 選擇母函式  (1+x+x^2+x^3+x^4+x^5+…x^n)*(1+x^2+x^4+x^6+…)*

ACM hdu 2152 Fruit 解題報告(函式

Problem Description 轉眼到了收穫的季節,由於有TT的專業指導,Lele獲得了大豐收。特別是水果,Lele一共種了N種水果,有蘋果,梨子,香蕉,西瓜……不但味道好吃,樣子更是好看。 於是,很多人們慕名而來,找Lele買水果。 甚至連大名鼎鼎的HDU ACM

函式整數劃分

                                 母函式的分析     母函式的原理數,後生之輩沒啥可講的。完全可以站在巨人的肩膀上。下面給出杭電科技大學的課程連結,不懂得就自己去獲

HIT ~ 1402~整數劃分問題(動態規劃 or 函式

概念編輯所謂整數劃分,是指把一個正整數n寫成為其中,  為正整數,並且  ;  為n的一個劃分。如果  中的最大值不超過m,即  ,則稱它屬於n的一個m劃分。[1]求劃分個數編輯分析這裡我們記n的m劃分的個數為  。例如,當n=4時,有5個劃分,即  ,  ,  ,  ,  

acm 2082找單詞(函式)

7 379297 想法:這個用到母函式,不懂的話記得百度瞭解。 用c1【i】儲存價值為i的種數,i為價值。 c2【i】用於暫時儲存c1【i】的值 程式碼: #include<stdio.h> #include<string.h> int a[30]; int c1[55]; int

ACM hdu 2082 找單詞 解題報告(函式

Problem Description 假設有x1個字母A, x2個字母B,..... x26個字母Z,同時假設字母A的價值為1,字母B的價值為2,..... 字母Z的價值為26。那麼,對於給定的字母,可以找到多少價值<=50的單詞呢?單詞的價值就是組成一個單詞的所有

UESTC 1726 整數劃分函式水題)

題目:將整數n進行劃分,要求不能有相同的數,問有多少種劃分種數 簡單的母函式水題。 (1+x)*(1+x^2)*(1+x^3)……(1+x^n)。表示1……n最多隻能取1次 最終求的是x^n的係數 #include<iostream> #include<

ACM hdu 2079 選課時間 解題報告(函式

Problem Description 又到了選課的時間了,xhd看著選課表發呆,為了想讓下一學期好過點,他想知道學n個學分共有多少組合。你來幫幫他吧。(xhd認為一樣學分的課沒區別)Input輸入資料的第一行是一個數據T,表示有T組資料。每組資料的第一行是兩個整數n(1

hdu 1028 Ignatius and the Princess III —— 整數劃分(生成函數)

int const 整數劃分 pan 題目 algo while php cst 題目:http://acm.hdu.edu.cn/showproblem.php?pid=1028 整數劃分,每個數可以用無限次; 所以構造 f(x) = (1+x+x2+x3+...)(1+

1785 atan2函式的應用

題目連結 AC程式碼: #include<iostream> #include<iomanip> #include<algorithm> #include<math.h> using namespace std; str