传送门

文章目录

  • 题意:
  • 思路:

题意:

思路:

显然是多重集排列数,我们考虑构造指数生成函数,让后模拟一下多项式乘法即可啦。
由于存在分数,所以直接用doubledoubledouble即可。

//#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4.1,sse4.2,avx,avx2,popcnt,tune=native")
//#pragma GCC optimize(2)
#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
#include<map>
#include<cmath>
#include<cctype>
#include<vector>
#include<set>
#include<queue>
#include<algorithm>
#include<sstream>
#include<ctime>
#include<cstdlib>
#include<random>
#include<cassert>
#define X first
#define Y second
#define L (u<<1)
#define R (u<<1|1)
#define pb push_back
#define mk make_pair
#define Mid ((tr[u].l+tr[u].r)>>1)
#define Len(u) (tr[u].r-tr[u].l+1)
#define random(a,b) ((a)+rand()%((b)-(a)+1))
#define db puts("---")
using namespace std;//void rd_cre() { freopen("d://dp//data.txt","w",stdout); srand(time(NULL)); }
//void rd_ac() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//AC.txt","w",stdout); }
//void rd_wa() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//WA.txt","w",stdout); }typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;const int N=1000010,mod=1e9+7,INF=0x3f3f3f3f;
const double eps=1e-6;int n,m;
int a[N];
double x[N],y[N];int fun(int x) {int ans=1;for(int i=1;i<=x;i++) ans*=i;return ans;
}int main()
{//  ios::sync_with_stdio(false);
//  cin.tie(0);while(cin>>n>>m) {for(int i=1;i<=n;i++) cin>>a[i];for(int j=0;j<=m;j++) x[j]=y[j]=0;for(int i=0;i<=a[1];i++) x[i]=1.0/fun(i);for(int i=2;i<=n;i++) {for(int j=0;j<=m;j++) {for(int k=0;k+j<=m&&k<=a[i];k++) {(y[j+k]+=x[j]/fun(k));}}for(int j=0;j<=m;j++) x[j]=y[j],y[j]=0;}printf("%.0f\n",(x[m]*fun(m)));}return 0;
}
/**/

hdu 1521 排列组合 多重集排列 + 指数生成函数相关推荐

  1. 【组合数学】排列组合 ( 多重集排列 | 多重集全排列 | 多重集非全排列 所有元素重复度大于排列数 | 多重集非全排列 某些元素重复度小于排列数 )

    文章目录 一.多重集 二.多重集全排列 三.多重集全排列示例 三.多重集非全排列 1 所有元素重复度大于排列数 ( ni≥rn_i \geq rni​≥r ) 四.多重集非全排列 2 某些元素重复度小 ...

  2. 【组合数学】排列组合 ( 多重集组合数示例 | 三个计数模型 | 选取问题 | 多重集组合问题 | 不定方程非负整数解问题 )

    文章目录 一.多重集组合示例 二.三个计数模型 排列组合参考博客 : [组合数学]基本计数原则 ( 加法原则 | 乘法原则 ) [组合数学]集合的排列组合问题示例 ( 排列 | 组合 | 圆排列 | ...

  3. 【组合数学】排列组合 ( 多重集组合数 | 所有元素重复度大于组合数 | 多重集组合数 推导 1 分割线推导 | 多重集组合数 推导 2 不定方程非负整数解个数推导 )

    文章目录 一.多重集组合 ( 所有元素重复度大于组合数 ) 二.多重集组合 所有元素重复度大于组合数 推导 1 ( 分割线推导 ) 二.多重集组合 所有元素重复度大于组合数 推导 2 ( 不定方程非负 ...

  4. 【组合数学】排列组合 ( 集合排列、分步处理示例 )

    文章目录 一.集合排列.分步处理示例 排列组合参考博客 : [组合数学]基本计数原则 ( 加法原则 | 乘法原则 ) [组合数学]集合的排列组合问题示例 ( 排列 | 组合 | 圆排列 | 二项式定理 ...

  5. 【组合数学】集合的排列组合问题示例 ( 排列 | 组合 | 圆排列 | 二项式定理 )

    文章目录 一.集合排列 和 多重集排列问题 1 二. 集合排列 和 多重集排列问题 2 三. 找一一对应计算集合排列问题 ( 反向计算 ) 四. 圆排列问题 1 五. 集合交替排列问题 六. 圆排列问 ...

  6. python生成排列组合_Python 排列组合生成

    zckun:老哥们, 请教一个问题, 是关于排列组合的, 前几天和老哥们讨论了一下, 能是能解决, 但感觉不太方便 看一个简单的例子应该就明白了. to 目前是我这样做的, 用了一个模版 templa ...

  7. c语言排列组合的函数,c语言排列组合算法 排列和组合算法的实现方法_C语言经典案例...

    想了解排列和组合算法的实现方法_C语言经典案例的相关内容吗,在本文为您仔细讲解c语言排列组合算法的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:c语言排列组合算法,下面大家一起来学习吧. ...

  8. 【组合数学】排列组合 ( 两个计数原则、集合排列示例 | 集合排列、圆排列示例 )

    文章目录 一.两个计数原则.集合排列示例 二.集合排列.圆排列示例 排列组合参考博客 : [组合数学]基本计数原则 ( 加法原则 | 乘法原则 ) [组合数学]集合的排列组合问题示例 ( 排列 | 组 ...

  9. 【组合数学】排列组合 ( 集合组合、一一对应模型分析示例 )

    文章目录 一.集合组合.一一对应模型分析示例 排列组合参考博客 : [组合数学]基本计数原则 ( 加法原则 | 乘法原则 ) [组合数学]集合的排列组合问题示例 ( 排列 | 组合 | 圆排列 | 二 ...

最新文章

  1. 【Golang源码分析】Go Web常用程序包gorilla/mux的使用与源码简析
  2. 用python画烟花-python实现浪漫的烟花秀
  3. [笔记]modelsim前仿后仿各种问题
  4. JavaScript:改变li前缀图片和样式
  5. asp.net记录错误日志的方法
  6. Python str / bytes / unicode 区别详解 - Python零基础入门教程
  7. addeventlistener事件参数_从Chrome源码看浏览器的事件机制
  8. GitHub 5.9K,目标检测、跟踪、关键点全覆盖的年度开源项目来了!
  9. php fping,【Linux 命令】fping ping 包间隔时间详解
  10. 判断IE版本的HTML语句详解,如:!--[if IE 9] 仅IE9可识别 ![endif]--
  11. bzoj4326 NOIP2015 运输计划
  12. [LeetCode]Reverse Integer
  13. 国足输韩国,柯洁很生气,后果很严重……
  14. 通信中间件技术之DDS
  15. autocad2014点击保存闪退_autocad2014启动闪退 AutoCAD启动时闪退怎么办
  16. [美国]《霍比特人2:史矛革之战》[蓝光1080P.720P.中英双字][2013年奇幻动作]
  17. 企业网站如何做好搜索引擎优化
  18. tsp问题——遗传算法解决
  19. C# dgv自动排序后,各种样式设定无效的解决办法
  20. gmail imap_阻止带有Gmail IMAP的Outlook在待办事项栏中显示重复的任务

热门文章

  1. 判断只有符号数字 java_java编程 判断输入的字符,数字,及其他符号的个数
  2. 统信uos系统考试题_148款!富士通及旗下晟拓品牌系列打印机适配统信UOS
  3. 动态ram依靠什么存储信息_ROM、RAM、DRAM、SRAM和FLASH傻傻分不清
  4. 每日一笑 | 今天是植树节,我想在你心里种点逼树
  5. 构造函数怎么在主函数调用_C++ 虚基类及其派生类构造函数(学习笔记:第7章 12)...
  6. 终端如何粘贴快捷键_11 个“原来可以这样”的 Linux 终端命令
  7. 百度网页移动端html,百度移动端开始用网站品牌名代替网址显示
  8. php文件上传实验总结,53 PHP文件处理(六)文件上传--总结---细说php
  9. python绘制蟒蛇绕圈圈_Python学习之循环--绕圈圈(蛇形盘)
  10. 在每个运行中运行多个查询_在Kubernetes中运行OpenEBS