hdu 2048 递推&&错排
直接贴出递推公式:
cnt[n]=(i-1)*(cnt[n-1]+cnt[n-2]);
数组保存的是失败的种数
AC代码:
#include<cstdio>
const int maxn=21;
long long p[maxn],cnt[maxn];
double ans[maxn];
void solve(){
long long w=1;
for(int i=1;i<=20;++i){
w*=i;
p[i]=w;
}
cnt[1]=0;
cnt[2]=1;
ans[1]=100;
ans[2]=50;
for(int i=3;i<=20;++i){
cnt[i]=(i-1)*(cnt[i-1]+cnt[i-2]);
ans[i]=1.0*cnt[i]/p[i]*100;
}
}
int main(){
solve();
int T,n;
scanf("%d",&T);
while(T--){
scanf("%d",&n);
printf("%.2lf%%\n",ans[n]);
}
return 0;
}
如有不当之处欢迎指出!
hdu 2048 递推&&错排的更多相关文章
- HDOJ(HDU).2044-2049 递推专题
HDOJ(HDU).2044-2049 递推专题 点我挑战题目 HDU.2044 题意分析 先考虑递推关系:从1到第n个格子的时候由多少种走法? 如图,当n为下方格子的时候,由于只能向右走,所以有2中 ...
- 错排-HDU 2049 递推的应用
当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用M(n)表示,那么M(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推. 第一步,把第n个元素放在一个 ...
- hdu 2044-2050 递推专题
总结一下做递推题的经验,一般都开成long long (别看项数少,随便就超了) 一般从第 i 项开始推其与前面项的关系(动态规划也是这样),而不是从第i 项推其与后面的项的关系. hdu2044:h ...
- HDU 2068 RPG的错排
要求答对一半或以上就算过关,请问有多少组答案能使他顺利过关. 逆向思维,求答错一半或以下的组数 1,错排 错排公式的由来 pala提出的问题: 十本不同的书放在书架上.现重新摆放,使每本书都不在原来放 ...
- HDU 2842 (递推+矩阵快速幂)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2842 题目大意:棒子上套环.第i个环能拿下的条件是:第i-1个环在棒子上,前i-2个环不在棒子上.每个 ...
- [HDU 2068] RPG的错排 (错排问题)
RPG的错排 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2068 题目大意: 有N个人对应N个名字,然后你去把每一个名字对应到每个人,只要求答对一半 ...
- "红色病毒"问题 HDU 2065 递推+找循环节
题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=2065 递推类题目, 可以考虑用数学方法来做, 但是明显也可以有递推思维来理解. 递推的话基本就是状态 ...
- Children’s Queue HDU 1297 递推+大数
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1297 题目大意: 有n个同学, 站成一排, 要求 女生最少是两个站在一起, 问有多少种排列方式. 题 ...
- ZOJ 3182 HDU 2842递推
ZOJ 3182 Nine Interlinks 题目大意:把一些带标号的环套到棍子上,标号为1的可以所以操作,标号i的根子在棍子上时,只有它标号比它小的换都不在棍子上,才能把标号为i+1的环,放在棍 ...
随机推荐
- 如何通过命令或脚本方式在Windows上访问linux系统
很多情况下,我们需要在Windows上写脚本,创建计划任务程序,这个过程中可能需要访问linux系统,执行脚本或者上传下载文件.并且我们也不想在Windows上安装什么东西.那最好的办法就是使用put ...
- win10 store 无法连接网络
当你试过所有的解决攻略 都无效时,那么使用这个教程 关闭以下的蓝色框里的
- MVC登出友情提示
好奇心害死猫,话说12月30号,阳历17年末,行至小镇农户,有羊在鸣,由于好奇心泛滥,循声而至,发现一只被拴住的羊,好心喂草,不料反被舔了一口,得亏抽手及时,不然小拇指估计被咬掉,没错,是咬掉,即使如 ...
- openstack开发基础
- Java细节
native关键字用法 native是与C++联合开发的时候用的!java自己开发不用的! 使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL, ...
- CentOS下内存使用率查看
freetotal used free shared buffers cachedMem: 1815340 1628680 ...
- 利用Needleman–Wunsch算法进行DNA序列全局比对
生物信息学原理作业第二弹:利用Needleman–Wunsch算法进行DNA序列全局比对. 具体原理:https://en.wikipedia.org/wiki/Needleman%E2%80%93W ...
- 数据分析之pandas教程------数据处理
目录 1 数据合并 1.1 实现数据库表join功能 1.2 实现union功能 2 数据转换 2.1 轴旋转 2.2 数据转换 2.2.1 去重 2.2.2 对某一列运用函数 2.2 ...
- 【原创】 c#单文件绿色资源自更新
先引用dnlib.dll 更新程序先fody成一个文件 放置主程序资源文件 更新程序.exe #region using System; using System.Diagnostics; using ...
- 走进JavaScript——重拾函数
创建函数 通过构造器的方式来创建函数,最后一个参数为函数体其他为形参 new Function('a','b','alert(a)') /* function anonymous(a,b) { ale ...