初學母函式,練練手;
母函式解:
/*求整數n的整數拆分方法;
題目理解為:將數字1、2、3、……n;每個數字可以選取無限次,求能組成n的情況總數
函式 (1+x+x^2+x^3……)(1+x^2+x^4……)(1+x^3+x^6+x^9……) ……
第一項的意義是:取0個1,取1個1、2個1,3個1……第二項的意義是:取0個2,取1個2……
以此類推 ;
每個括號為乙個大項,我們先將第一大項和第二大項乘起來,得到結果和第三項相乘……
以此類推;
*/#include using namespace std;
int a[200],b[200]; //a存放結果中x^i的係數,即代表整數i的劃分情況數,b臨時存放係數
int main()
for(int i = 2; i <= n; i++) // 迴圈兩大項兩大項相乘
for(int j = 0; j <= n; j++) //將b存至a,b置零
}cout<
完全揹包解:
#include #include #include #include using namespace std;
int dp[120];
int main()
cout<
HDU 1171 母函式 揹包(待補)
分家,共有n種財產,每種財產價值v,數量為m,平分給a b機構 原題講的是學院 並且a所得不小於b。求a和b可以分到的值。算是比較經典 的題目。講真,要不是這題在老師分在母函式裡我想不到用這個。我目前對母函式的理解是,求出所有target的組合方法。例如hdu1028,1398的題來說,target...
完全揹包 HDU 1114
今天看了看揹包九講的完全揹包。估計是因為只記住了方程,沒理解透的原因。照著寫,還是錯了 錯就錯在初始化的時候,我全部初始化為0了,然後用max 但是得不到答案。可是初始化出0位置以外,其他都為無窮大,取min,過了 額。去問問高手吧我。再研究了下,猛然回頭,發現,是求揹包裝滿的 最小價值 inclu...
hdu 1203(完全揹包)
problem description speakless很早就想出國,現在他已經考完了所有需要的考試,準備了所有要準備的材料,於是,便需要去申請學校了。要申請國外的任何大學,你都要交納一定的申請費用,這可是很驚人的。speakless沒有多少錢,總共只攢了n萬美元。他將在m個學校中選擇若干的 當然...