hdu 2048 神、上帝以及老天爷
来源:互联网 发布:linux fg命令 编辑:程序博客网 时间:2024/06/07 00:16
Problem
acm.hdu.edu.cn/showproblem.php?pid=2048
Meaning
求 1 ~ n 的整数序列的重排,刚好每个数都不在原位(错排)的概率。
Analysis
主要是错排方案数的递推式。
定义:dp[i] = i 个数错排的方案数
。对于新来的 i,把它和前 i - 1 个已错排的数中任意一个交换位置,还是错排,方案有(i - 1) * dp[i-1]
种;在有 i - 1 个数,其中 i - 2 个是错排、剩下一个在原位的序列中,把 i 和在原位的那个数交换,还是错排,方案有(i - 1) * dp[i-1]
种。
所以:dp[i] = (i - 1) * (dp[i-1] + dp[i-2]
。
Code
#include <cstdio>using namespace std;const int N = 20;long long cp[N+1] = {0, 0, 1}, fac[N+1] = {1};int main(){ for(int i = 1; i <= N; ++i) fac[i] = fac[i-1] * i; for(int i = 3; i <= N; ++i) cp[i] = (i - 1) * (cp[i-1] + cp[i-2]); int C; scanf("%d", &C); while(C--) { int n; scanf("%d", &n); printf("%.2f%%\n", 100.0 * cp[n] / (double)fac[n]); } return 0;}
阅读全文
0 0
- HDU 2048 神、上帝以及老天爷
- hdu 2048 神、上帝以及老天爷
- hdu 2048 神、上帝以及老天爷
- HDU-2048神、上帝以及老天爷
- hdu 2048 神、上帝以及老天爷
- hdu 2048 神、上帝以及老天爷
- HDU 2048 神、上帝以及老天爷
- hdu 2048 神、上帝以及老天爷
- hdu 2048神、上帝以及老天爷
- HDU 2048 - 神、上帝以及老天爷
- hdu 2048 神、上帝以及老天爷
- [hdu-2048] 神、上帝以及老天爷
- HDU 2048 神、上帝以及老天爷
- HDU 2048 神、上帝以及老天爷
- HDU 2048 神、上帝以及老天爷
- hdu 2048 神、上帝以及老天爷
- hdu-2048-神、上帝以及老天爷
- hdu 2048 神、上帝以及老天爷
- 我的梦,我的梦
- 【poj 3070】Fibonacci
- JQuery DON 导航
- 廖雪峰Python教程阅读笔记——6. 面向对象编程
- intellij配置maven+SSM+redis(三)
- hdu 2048 神、上帝以及老天爷
- HDOJ 1021 Fibonacci Again
- hdu-6130-Kolakoski
- InputSplit&&处理阶段mapReduce【partioner,combiner,shuffle】->reduce
- 全光网络的前世今生
- IO流(五)其他流
- 2017百度之星初赛(B) 1002 Factory(倍增法求LCA)
- Ubuntu 16.04 系统没有声音的解决办法
- JAVA跨平台原理