组合概率
2015-09-29 14:31
239 查看
输入:从[a,b]中取出n个整数,求n个整数和为x的概率是多少。可以重复取出。
利用动态规划+枚举
利用动态规划+枚举
#include<iostream> using namespace std; double dp[110][11000]; int main() { if(freopen("/Users/richard/ClionProjects/Didi/in","r",stdin) == NULL) { cout << "failed open!" << endl; } int n,a,b,x; double p; cin >> n >> a >> b >> x; memset(dp,0, sizeof(dp)); p = 1.0f/(b-a+1); for(int i = 1; i <= n; ++i) { for(int j = a *i; j <= b*i && j <= x; ++j) {//i个数,其和的range为a*i~b*i if(i == 1) { dp[i][j] = p; } else { double pp = 0; for(int z = a; z <= b; ++z) { if(j >= z) pp += dp[i-1][j-z]*p;//动态规划dp } dp[i][j] = pp; } } } printf("%0.4f\n", dp [x]); return 0; }
相关文章推荐
- P11 (*) Modified run-length encoding.
- zabbix安装
- nginx主流程
- Java反射机制
- Android之解析XML总结(SAX、Pull、Dom三种方式)
- 【BZOJ3251】树上三角形
- android L新控件RecyclerView具体解释DeMo
- PHP Session恢复和重新写入
- shell时间
- 大数据环境下的文件系统感想
- ArcGIS相关资源整理
- 如何在Ubuntu QML应用中实现MultipleSelectionListView
- 虚函数和纯虚函数的区别
- NYoj WAJUEJI which home strong!(简单搜索)
- ubuntu下查看tomcat运行状态
- APP推广之有关ASO痛点的10个Q&A
- 软件测试人员需要精通的开发语言(1)--- VBScript
- 关于hashCode方法的作用
- Zookeeper源码分析(二)-ZKDatabase.loadDataBase()
- 详解开源项目:MMPopupView(弹出框组件)