HDU2079选课时间(母函数)】的更多相关文章

母函数的简单应用http://acm.hdu.edu.cn/showproblem.php?pid=2079 介绍见另一篇随笔HDU1028Ignatius and the Princess III(母函数) #include<stdio.h> int main() { int T; while(~scanf("%d", &T))while(T--) { ]={},c2[]={}; int num,val; int i,n,k; scanf("%d%d&q…
选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2137    Accepted Submission(s): 1699 Problem Description 又到了选课的时间了,xhd看着选课表发呆,为了想让下一学期好过点,他想知道学n个学分共有多少组合.你来帮帮他吧.(xhd认为一样学分的课没区别)…
计算数的和的种类,母函数裸题 #include<stdio.h> #include<string.h> ],c2[],a,b; int main(){ int T; while(scanf("%d",&T)!=EOF){ int n,k; ;q<=T;q++){ scanf("%d%d",&n,&k); int i,j,p; memset(c1,,sizeof(c1)); c1[]=;; ;i<=k;i++…
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2079 此题采用母函数的知识求解,套用母函数模板即可: http://blog.csdn.net/ten_sory/article/details/59483762 C++代码如下: #include<iostream> using namespace std; int main() { int T,i,j,m; cin >> T; while(T--) { int MAX,k; cin &…
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2079 选课时间(题目已修改,注意读题) Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Description 又到了选课的时间了,xhd看着选课表发呆,为了想让下一学期好过点,他想知道学n个学分共有多少组合.你来帮帮他吧.(xhd认为一样学分的课没区别)   Inp…
选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2254    Accepted Submission(s): 1791 Problem Description 又到了选课的时间了,xhd看着选课表发呆,为了想让下一学期好过点,他想知道学n个学分共有多少组合.你来帮帮他吧.(xhd认为一样学分的课没区别)…
hdu 2079 选课时间 题意:选的学分总和为n,并且学分为a的课有b种,总共有K(1<=k<=8)种学分不同的课,并且要选的学分最多为40:问选课方案有多少种?(学分相同的课即认为相同) 解法1:朴素背包 求解不重复子结构问题 原本认为只要在完全背包和01背包中把循环do式改成f[v]+=f[v-w]即可,但是发现很多重叠部分:给组小数据就会发现了: 3 3 1 2 2 3 3 3 原本f[1]只有1中,但是在二进制中,开始k = 1,f[1] += f[0],f[1]就等于1了,之后循环…
题意:需要学够n学分,有k个情况(x学分,y个相同学分的课) 解法:套母函数模板 #include <iostream> #include<cstdio> using namespace std; int main(int argc, char** argv) { int i,j,k,t,sum; int c1[10000],c2[10000],num[120],n,m,x[120],y[120]; scanf("%d",&t); while(t--){…
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2079 题意:同样的学分 ,有多少种组合数,注意同样学分,课程没有区别 思路:两种方法 背包 母函数 背包: 注意初始化时dp[0]=1,其他都为0,循环时从学分N开始更新,减到为0,表示成功,组合数加一. 代码: #include <iostream> using namespace std; int main () { ]; //dp记录当前学分的组合数 cin>>t; while(t-…
链接:传送门 思路:母函数模板题 /************************************************************************* > File Name: 3.cpp > Author: WArobot > Blog: http://www.cnblogs.com/WArobot/ > Created Time: 2017年04月22日 星期六 21时55分43秒 ********************************…