选课时间(题目已修改,注意读题)

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4202    Accepted Submission(s): 3291

Problem Description
又到了选课的时间了,xhd看着选课表发呆,为了想让下一学期好过点,他想知道学n个学分共有多少组合。你来帮帮他吧。(xhd认为一样学分的课没区别)
Input
输入数据的第一行是一个数据T,表示有T组数据。
每组数据的第一行是两个整数n(1 <= n <= 40),k(1 <= k <= 8)。
接着有k行,每行有两个整数a(1 <= a <= 8),b(1 <= b <= 10),表示学分为a的课有b门。
Output
对于每组输入数据,输出一个整数,表示学n个学分的组合数。
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
Author
xhd
Source
ACM程序设计期末考试_热身赛(感谢 xhd & 8600)
Recommend
lcy   |   We have carefully selected several similar problems for you:  1398 1085 1171 2110 2152 
题解:
母函数。。。。没什么好说的....
AC代码:
#include<bits/stdc++.h>
using namespace std;
const int MAX=1000;
int c1[MAX];
int c2[MAX];
int g[MAX];
int n;int main()
{int i,j,t,k,a,b;cin>>t;while(t--){cin>>n>>k;memset(g,0,sizeof(g));for(i=1;i<=k;i++){scanf("%d%d",&a,&b);g[a]=b;}memset(c1,0,sizeof(c1));memset(c2,0,sizeof(c2));for(i=0;i<=41&&i<=g[1];i++) c1[i]=1;for(i=2;i<=8;i++)//第i个表达式 {for(j=0;j<=40;j++)//表示前面i个表达式累乘后的表达式里第j个变量{for(int k=0,s=0;j+k<=40&&s<=g[i];k+=i,s++){c2[j+k]+=c1[j];}}for(j=0;j<=40;j++){c1[j]=c2[j];c2[j]=0;}}printf("%d\n",c1[n]);}return 0;
}
 

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

  1. HDU 2079 选课时间(题目已修改,注意读题) 母函数 || 多重背包

    今天做这题才知道原来母函数的原型不是从第二个括号开始,那不过是优化而已,除了1^n,2^n那种类型可以从2开始外其他都要从1开始.好了,上代码吧. #include<stdio.h> in ...

  2. HDU 2152 选课时间(题目已修改,注意读题) (母函数)

    选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

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

    选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  4. HDU 2076 夹角有多大(题目已修改,注意读题)

    Problem Description 时间过的好快,一个学期就这么的过去了,xhd在傻傻的看着表,出于对数据的渴望,突然他想知道这个表的时针和分针的夹角是多少.现在xhd知道的只有时间,请你帮他算出 ...

  5. HDU 2079 选课时间

    http://acm.hdu.edu.cn/showproblem.php?pid=2079 Problem Description 又到了选课的时间了,xhd看着选课表发呆,为了想让下一学期好过点, ...

  6. 杭电ACM hdu 2079 选课时间 (模板)

    Problem Description 又到了选课的时间了,xhd看着选课表发呆,为了想让下一学期好过点,他想知道学n个学分共有多少组合.你来帮帮他吧.(xhd认为一样学分的课没区别)   Input ...

  7. 母函数+例题(hdu 2079+hdu 2082)

    母函数+例题(hdu 2079+hdu 2082) 虽然ACM的确有点力不从心,但是还是贵在坚持,继续啃啃算法..... 昨天一个下午学了学母函数,离散数学+幂级数,只能说nb- 看了半天的原理,结果 ...

  8. HDU 2079-课程时间(生成函数)

    课程时间(标题已被修改,注意阅读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  9. 集合已修改;可能无法执行枚举操作。

    问题描述:在用foreach遍历hashtable的时候,弹出"集合已修改:可能无法执行枚举操作." 问题代码: private void Check(int TimeOut)   ...

  10. 修改服务器时间报错,修改服务器时间linux

    修改服务器时间linux 内容精选 换一换 IPv6的使用,可以有效弥补IPv4网络地址资源有限的问题.如果当前云服务器使用IPv4,那么启用IPv6后,云服务器可在双栈模式下运行,即云服务器可以拥有 ...

最新文章

  1. 一文读懂马斯克展示脑机接口:硬币大小芯片植入猪脑 实时读取猪脑信息
  2. python3 替换字符串中指定位置字符
  3. EOJ Monthly 2019.2 (based on February Selection) D 进制转换 【数学 进制转换】
  4. 使用Office Word 2010/2013 发布文章到博客园
  5. Java学习笔记——函数式接口
  6. [置顶] 我的iOS作品
  7. python爬取苏州天气并用excel来保存
  8. 高效Redis Client多线程操作的并发吞吐设计
  9. java根据field名获取变量_Java反射有多强?这5大神奇功能,你需要了解!
  10. Quartz.net任务调度(石英钟定时任务)
  11. pringboot+vue 基于springboot房屋租赁管理系统#毕业设计
  12. jquery dialog 打开的时候自动聚焦解决方法
  13. C-LODOP打印插件使用
  14. chm文件无法打开,chm电子书显示“此程序无法显示网页”的解决办法
  15. NLP-D23-cs224nkaggle房价预测复习chap5深度学习计算算法R2D7Unicorn
  16. scrolltop一直为0_「超级玛丽max2.0」「达尔文3号」「超级玛丽max3.0」,三军之战最全解析...
  17. 算法---程序的灵魂,没错就是灵魂!
  18. MFC基于对话框上插入MENU菜单栏并点击菜单弹出新窗口
  19. 双十二年终盛典,几何画板放价为您!
  20. 服务器raw文件怎么,raw是什么文件格式?.raw文件怎么打开

热门文章

  1. 新手学编程?选python吧!
  2. android 8 刷机教程视频教程,教你Android 8.0的刷机教程
  3. 远程监控有效保护家庭安全
  4. Google的愚人节
  5. 100%解决GitHub打不开或者打开慢
  6. tempo.js模板引擎:通过tempo将Json串填充到html页面中
  7. 微信小程序 实用的公告栏滚动效果
  8. WordPress多功能主题 The7 更新至 v10.4.3 – 已激活汉化版
  9. GreenPlum分区表原理
  10. wow3.13大脚插件