题目链接:http://ac.jobdu.com/problem.php?pid=1451

题目思路:(参考wiki百科)

递推数列法[编辑]

对于排列数较多的情况,难以采用枚举法。这时可以用递归思想推导错排数的遞迴關係式。

显然D1=0,D2=1。当n≥3时,不妨设n排在了第k位,其中k≠n,也就是1≤k≤n-1。那么我们现在考虑第n位的情况。

  • 当k排在第n位时,除了n和k以外还有n-2个数,其错排数为Dn-2
  • 当k不排在第n位时,那么将第n位重新考虑成一个新的“第k位”,这时的包括k在内的剩下n-1个数的每一种错排,都等价于只有n-1个数时的错排(只是其中的第k位会换成第n位)。其错排数为Dn-1

所以当n排在第k位时共有Dn-2+Dn-1种错排方法,又k有从1到n-1共n-1种取法,我们可以得到:

Dn=(n-1)(Dn-1+Dn-2[2]

代码:

#include <bits/stdc++.h>
using namespace std;
#define MAXN 20
typedef long long LL;
LL dp[21];
int combine(int n){return n*(n-1)/2;
}
int main(){memset(dp,0,sizeof dp);dp[1] = 0;dp[2] = 1;dp[3] = 2;for (int i = 4;  i <= 20 ; i++){dp[i] = (i-1)*(dp[i-1]+dp[i-2]);}int p ;while (cin>>p){cout<<dp[p]<<endl;}return 0;
}

九度 OJ 1451 错排 动规相关推荐

  1. 打不开磁盘配额linux,九度OJ 1455 珍惜现在,感恩生活 -- 动态规划(背包问题)...

    题目描述: 为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买.请问:你用有限的资金最 ...

  2. Freckles - 九度 OJ 1144

    Freckles - 九度 OJ 1144 题目 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: In an episode of the Dick Van Dyke show, l ...

  3. 非常可乐(九度 OJ 1457)

    非常可乐(九度 OJ 1457) 时间限制:1 秒 内存限制:32 兆 特殊判题:否 1.题目描述: 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是 seeyou 却不这么认为.因为每次当 see ...

  4. 九度OJ 题目1179:阶乘

    /********************************* * 日期:2013-2-8 * 作者:SJF0115 * 题号: 九度OJ 题目1179:阶乘 * 来源:http://ac.jo ...

  5. 九度OJ——1028继续畅通工程

    题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).现得到城镇道路统计表,表中列出了任意两城镇间修 ...

  6. Leagal or Not - 九度 OJ 1448

    Leagal or Not - 九度 OJ 1448 题目 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: ACM-DIY is a large QQ group where man ...

  7. 九度OJ 题目1069:查找学生信息 随笔

    ** 九度OJ 题目1069:查找学生信息 ** 题目描述如下: 输入N个学生的信息,然后进行查询. 输入 输入的第一行为N,即学生的个数(N<=1000) 接下来的N行包括N个学生的信息,信息 ...

  8. 九度OJ 题目1203:IP地址

    /********************************* * 日期:2013-2-8 * 作者:SJF0115 * 题号: 九度OJ 题目1203:IP地址 * 来源:http://ac. ...

  9. 九度OJ 1024 畅通工程 -- 并查集、贪心算法(最小生成树)

    题目地址:http://ac.jobdu.com/problem.php?pid=1024 题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有 ...

最新文章

  1. sharepoint开机启动禁止
  2. 数值计算方法在计算机的应用,数值计算方法在计算机科学中的应用和误差序列实验推荐.doc...
  3. sql嵌套查询返回多个字段_list4 SQL复杂查询
  4. [Java]Thinking in Java 练习2.2
  5. SDUT -2605 A^X mod P(数论+思维)
  6. d3.js 教程 模仿echarts折线图
  7. HDU 1874 畅通工程续 (Dijkstra , Floyd , SPFA, Bellman_Ford 四种算法)
  8. 支撑位和压力位怎么看是什么意思?
  9. java编写八数码_java实现八数码
  10. 批量修改同一目录下文件名--操作so easy
  11. 服务器设计笔记(1)-----消息的封装
  12. 解决wine中文显示为方框的方法
  13. 新手入门:手把手从PHP环境到ThinkPHP6框架下载
  14. adguard home上网慢_如何正确使用smartdns搭配adguardhome, 优选dns并去除广告
  15. oracle数据类型为文本类型,Oracle 字段类型
  16. K线形态识别—K线反转形态之底部反转形态
  17. C++常用的大小写转换的方法
  18. R语言抽样并验证总体分别为正态分布、均匀分布、指数分布时样本均值的抽样分布
  19. Parcel打包React
  20. mirna富集分析_miRNA芯片数据挖掘文章套路

热门文章

  1. pythonclass实例化_Python中实例化class的执行顺序示例详解
  2. 中国中医科学院院长黄璐琦发表2022年新春贺词
  3. python小游戏之二
  4. 理性派:数学写真集系列书籍等
  5. 普通背包问题-枚举算法(《算法竞赛宝典》 第二部 基础算法艺术)
  6. 26产品经理需要具备的市场观察能力
  7. python安装轮子_如何安装这个轮子?
  8. 编号是i的结点所在的层次号是_九章算法 | 微软面试题:二叉树的锯齿形层次遍历...
  9. Java笔记-RestTemplate(Java进程)配置代理Fiddler抓包
  10. Android安全笔记-Android签名文件及初略架构