hdu1521(指数母函数)
排列组合
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 5209 Accepted Submission(s): 2287
Problem Description
有n种物品,并且知道每种物品的数量。要求从中选出m件物品的排列数。例如有两种物品A,B,并且数量都是1,从中选2件物品,则排列有"AB","BA"两种。
Input
每组输入数据有两行,第一行是二个数n,m(1<=m,n<=10),表示物品数,第二行有n个数,分别表示这n件物品的数量。
Output
对应每组数据输出排列数。(任何运算不会超出2^31的范围)
Sample Input
2 2
1 1
Sample Output
2
解析:不能单纯的认为是一个简单的排列组合,不等于C(n,m)*A(m,m),因为有可能重复。例如AAB,AAB
指数母函数自行了解
#include<bits/stdc++.h>
using namespace std;#define e exp(1)
#define pi acos(-1)
#define mod 1000000007
#define inf 0x3f3f3f3f
#define ll long long
#define ull unsigned long long
#define mem(a,b) memset(a,b,sizeof(a))
int gcd(int a,int b){return b?gcd(b,a%b):a;}const int maxn=105;
int n,m,s[maxn];
double c1[maxn],c2[maxn],f[maxn];void init()
{mem(c1,0);mem(c2,0);
}
int main()
{f[0]=1;for(int i=1; i<11; i++)f[i]=f[i-1]*i;while(~scanf("%d%d",&n,&m)){init();for(int i=0; i<n; i++)scanf("%d",&s[i]);for(int i=0; i<=s[0]; i++)c1[i]=1.0/f[i];for(int i=1; i<n; i++){for(int j=0; j<=m; j++){for(int k=0; k<=s[i]&&k+j<=m; k++){c2[j+k]+=c1[j]*1.0/f[k];//注意与普通母函数不同 }}for(int j=0; j<=m; j++){c1[j]=c2[j];c2[j]=0;}}printf("%.0f\n",c1[m]*f[m]); }return 0;
}
hdu1521(指数母函数)相关推荐
- hdu1521 排列组合
Problem Description 有n种物品,并且知道每种物品的数量.要求从中选出m件物品的排列数.例如有两种物品A,B,并且数量都是1,从中选2件物品,则排列有"AB" ...
- 普通母函数与指数母函数
大佬博客普通母函数: 在用到母函数之前啊,恐怕很少有人听过母函数,我也一样,我当时是做杭电acm的2082题要用母函数做才去了解母函数的.当然母函数分为很多种,包括普通母函数.指数母函数.L级数.贝尔 ...
- hdu1521 指数型母函数
排列组合 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 排列组合(HDU-1521)
Problem Description 有n种物品,并且知道每种物品的数量.要求从中选出m件物品的排列数.例如有两种物品A,B,并且数量都是1,从中选2件物品,则排列有"AB",& ...
- 排列与组合的一些定理(二)
一,容斥原理 设S是一个集合,Ai 是S 中具有性质 Pi 的元素组成的子集合.那么,S中既不具有性质P1,也不具有性质P2,...更不具有性质Pn 的元素个数为: 二,容斥原理计算 有限制的重组合问 ...
- 网易游戏2011.10.15校园招聘会笔试题
http://blog.csdn.net/hackbuteer1/article/details/6878570 1.对于一个内存地址是32位.内存页是8KB的系统.0X0005F123这个地址的页号 ...
- 母函数 入门 + 模板
在数学中,某个序列的母函数(Generating function,又称生成函数)是一种形式幂级数,其每一项的系数可以提供关于这个序列的信息.使用母函数解决问题的方法称为母函数方法. 母函数可分为很多 ...
- dp 母函数 入门 + 模板
dp 母函数 入门 + 模板 在数学中,某个序列的母函数(Generating function,又称生成函数)是一种形式幂级数,其每一项的系数可以提供关于这个序列的信息.使用母函数解决问题的方法称为 ...
- php 标准规范,PHP PSR标准规范
MVC文件上传文件限制 最近想实现MVC中文件上传限制,总觉得有便利的方法,找了半天就找到加属性accept Android 异步Http框架简介和实现原理 在前几篇文章中 [原创] RT7 Lite ...
最新文章
- 刷完EMNLP 2021论文列表,我们挑出了这8篇预训练相关必读论文
- python多进程和多线程一起使用_Python3多进程与多线程区别及使用(2.线程)
- activemq网络桥接_ActiveMQ –经纪人网络解释–第5部分
- 前端学习(3057):vue+element今日头条管理-回顾
- php的Apa红灯_macos – 使用自制软件更新php和mysql后的apa...
- RocketMQ : MQClientException: producerGroup can not equal DEFAULT_PRODUCER, please specify another
- Clojure 学习入门(7)- 连接mysql
- 不可忽视的IT运维管理
- 超标量处理器的分支预测
- matlab怎样批量裁剪图片大小,wps 批量调整图片大小 宏
- GOOGLE:单一模式背后
- Moore型状态机和Mealy型状态机的区别以及各自Verilog的实现细节:为什么Moore型状态机需要多一个状态?怎么选择用哪一种状态机?
- 网络百科——网络接口卡
- eSPI自学笔记(一):前言和简介
- zip文件类型如何恢复系统默认值--右键->打开方式中 无 “资源管理器”选项
- RabbitMQ第五个实操小案例——主题交换机(TopicExchange)
- 数学速算法_适合小学三、四年级的心算法,再“笨”的学生,也不用列竖式
- 小米6手机投屏到wins 8.1电脑上的软件——scrcpy的安装与使用教程
- 【毕业设计_课程设计】在线免费小说微信小程序的设计与实现(源码+论文)
- 安装Oracle 11g报错 This is a prerequisite condition to test whether sufficient total swap space is avail
热门文章
- Linux学习总结(三)之 putty,xshell远程连接及密钥认证篇
- Java中String字符串toString()、String.valueOf()、String强转、+ 的区别
- JSON 常量详情参考 (内含对中文不转义的参数)
- 微信公众平台开发新手教程(图文具体解释)
- FineReport——JS二次开发(局部刷新)
- webservice(基础)
- unicode and utf-8
- 多台工作站搭建MPI并行环境
- 计算机桌面图标有背影,桌面图标有背影怎么解决
- [MATLAB调试笔记]Update the electric field in one step