日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDU-2079 选课时间(题目已修改,注意读题) -母函数

發(fā)布時間:2025/3/17 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU-2079 选课时间(题目已修改,注意读题) -母函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?

選課時間(題目已修改,注意讀題)

Time Limit: 1000/1000 MS (Java/Others)????Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 995????Accepted Submission(s): 836


Problem Description 又到了選課的時間了,xhd看著選課表發(fā)呆,為了想讓下一學期好過點,他想知道學n個學分共有多少組合。你來幫幫他吧。(xhd認為一樣學分的課沒區(qū)別)
Input 輸入數(shù)據(jù)的第一行是一個數(shù)據(jù)T,表示有T組數(shù)據(jù)。
每組數(shù)據(jù)的第一行是兩個整數(shù)n(1 <= n <= 40),k(1 <= k <= 8)。
接著有k行,每行有兩個整數(shù)a(1 <= a <= 8),b(1 <= b <= 10),表示學分為a的課有b門。
Output 對于每組輸入數(shù)據(jù),輸出一個整數(shù),表示學n個學分的組合數(shù)。
Sample Input 2 2 2 1 2 2 1 40 8 1 1 2 2 3 2 4 2 5 8 6 9 7 6 8 8
Sample Output 2 445


?簡單的母函數(shù)在邊界上選取? N? 更好 ,前面數(shù)組越界,程序詭異的要死啊。

#include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> #include<time.h>int n1[45],n2[45],sub[10],N,K2;void generating_function( ) { memset(n1,0,sizeof(n1));for(int i=0;i<=sub[1];++i)n1[i]=1;memset(n2,0,sizeof(n2));for(int i=2;i<=K2;++i){for(int j=0;j<=N;++j) for(int k=0;k<=sub[i]&&j+k*i<=N;++k){n2[j+k*i]+=n1[j]; } for(int u=0;u<=N;++u){ n1[u]=n2[u];n2[u]=0;}}}int main() {int T;scanf("%d",&T);while(T--){ scanf("%d%d",&N,&K2);for(int i=1;i<=K2;++i){int i;scanf("%d",&i);scanf("%d",&sub[i]); }generating_function();printf("%d\n",n1[N]); }return 0; }


轉(zhuǎn)載于:https://www.cnblogs.com/Lyush/archive/2011/05/14/2046020.html

總結(jié)

以上是生活随笔為你收集整理的HDU-2079 选课时间(题目已修改,注意读题) -母函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。