选课时间
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 11123 Accepted Submission(s): 8045

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)

问题链接:HDU2079 选课时间
问题简述:(略)
问题分析:用母函数来解决,不解释。
程序说明:(略)
参考链接:(略)
题记:(略)

AC的C++语言程序如下:

/* HDU2079 选课时间 */#include <stdio.h>
#include <string.h>#define N 40
#define M 1000
int a[N + 1], b[N + 1], c1[M + 1], c2[M + 1];int main()
{int t, n, m;scanf("%d", &t);while (t--) {scanf("%d%d", &n, &m);int sum = 0;for (int i = 1; i <= m; i++) {scanf("%d%d", &a[i], &b[i]);sum += a[i] * b[i];}memset(c1, 0, sizeof c1);memset(c2, 0, sizeof c2);c1[0] = 1;for (int i = 1; i <= b[1]; i++)c1[i * a[1]] = 1;int len = a[1] * b[1];for (int i = 2; i <= m; i++) {for (int j = 0; j <= len; j++)for (int k = 0; k <= a[i] * b[i]; k += a[i])c2[k + j] = c2[k + j] + c1[j];len += a[i] * b[i];for (int j = 0; j <= sum; j++)c1[j] = c2[j], c2[j] = 0;}printf("%d\n", c1[n]);}return 0;
}

HDU2079 选课时间【母函数】相关推荐

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

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

  2. 【hdoj_2079】选课时间(母函数)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2079 此题采用母函数的知识求解,套用母函数模板即可: http://blog.csdn.net/ten_s ...

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

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

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

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

  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. 清华大数据能力提升项目《数据分析方法》选课开始 !(附旁听名额)

    大数据背景下,信息类专业人才在各个行业的需求量巨大的同时,也在综合能力上提出了新的要求,不仅需要掌握对大数据进行高效处理的工具和平台搭建.分析和处理的理论方法,而且需要数据人才对行业知识的了解及应用. ...

  9. 【免费毕设】asp.net网上选课系统的设计与实现(源代码+lunwen)

    5.5老师信息的添加.删除.修改 老师信息的添加.删除.修改由管理员完成,老师无权操作.在管理员登录成功后点击"老师管理"即进入老师信息页面. 添加老师: 具体操作为对数据库添加新 ...

最新文章

  1. 【小米校招笔试】一个数组是由有序数组经过n次循环移动后所得,请你用最快速度查找某个元素位置
  2. 开心哲理---您的妻子! --转by yp
  3. gearman mysql持久化_gearman + mysql方式实现持久化操作示例
  4. UITableView 禁止下拉
  5. “爱因斯坦兄弟”事件轰动纽约时报!双胞胎乱写博士论文,整容后越黑越红,竟然名利双收..........
  6. jQuery之合成事件
  7. Canvas 数学、物理、动画学习笔记一
  8. 理解numpy数组中的各个维度代表的具体意思(axis)
  9. jmeter安装插件的方法
  10. Linux深度系统卡在开机界面,deepin开机卡死在logo页面解决方案
  11. python enumerate() 函数的使用方法
  12. 解决nginx下加载eot|otf|ttf|woff|svg等404 错误问题
  13. ubuntu 自动登录账户_Ubuntu如何启用root默认自动登录
  14. c语言驻波,C版:基于声学驻波的液位检测方法C2-1(电子版)
  15. 新的博客,新的开始。
  16. 在线购物系统 实验七 顺序图
  17. 论文阅读—图像分割方法综述(二)(arXiv:[cs:cv]20200410)
  18. 显卡1060和1660测试对比
  19. 02 固定效应模型与Stata实现
  20. VS2015的下载及安装

热门文章

  1. 『天涯杂谈』走的地方越多,越觉的中国的狭隘
  2. request对象_爬虫:request库的简介
  3. linux mysql csv文件_Linux MySQL数据库如何导出数据文件?导出csv语句命令
  4. ASP.NET MVC——Entity Framework连接mysql及问题
  5. Go语言中的单元测试及反向代理
  6. wamp修改默认80端口
  7. php mysql调用crontab_PHP中如何实现crontab代码
  8. mysql添加表注释、字段注释、查看与修改注释
  9. Hadoop公司考试题(基础)
  10. android调用完自己写的app之后如何返回原来的android应用_App逆向篇 神器之 Frida...