hdu 1521 排列组合 —— 指数型生成函数
2024-08-25 04:17:40
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1521
标准的指数型生成函数;
WA了好几遍,原来是多组数据啊囧;
注意精度,直接强制转换(int)是舍去小数,会WA,+0.5再强制转换或输出 %.0lf 是四舍五入,能A。
代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef double db;
int const xn=;
int n,m,jc[xn],s[xn];
db f[xn],g[xn];
void init()
{
jc[]=;
for(int i=;i<=;i++)jc[i]=jc[i-]*i;
}
int main()
{
init();
while(~scanf("%d%d",&n,&m))
{
for(int i=;i<=m;i++)f[i]=g[i]=;//
for(int i=;i<=n;i++)scanf("%d",&s[i]);
for(int i=;i<=s[];i++)f[i]=1.0/jc[i];
for(int i=;i<=n;i++)
{
for(int j=;j<=m;j++)
for(int k=;k<=s[i]&&j+k<=m;k++)
g[j+k]+=f[j]/jc[k];
for(int j=;j<=m;j++)f[j]=g[j],g[j]=;
}
printf("%.0lf\n",f[m]*jc[m]);
}
return ;
}
最新文章
- 新作《ASP.NET Web API 2框架揭秘》正式出版
- 分享20个最新的免费 UI 设计素材给设计师
- How to Install The Alpha Control Packages.
- 如何编写自己的Arduino库?
- 微信小程序-视图模板
- 夺命雷公狗-----React---9--map数据的遍历
- C++资料收集&;整理
- 创建自定义 jQuery 移动主题
- Java 关于中文乱码处理的经验总结【转载】
- react ie10下报错
- --@angularjs--理解Angular中的$apply()以及$digest()
- 块级元素行内元素以及display属性
- Python3:OOP Demo
- 往服务器部署thinkphp5代码时要注意 pathinfo的问题
- 构造代码块、this关键字、静态变量、静态代码块、主函数
- Java集合:ArrayList的实现原理
- easyui---editgrid
- Centos7部署tornado项目
- react-native 插件汇总
- DELL平板如何安装WIN10系统 -PE启动问题