• 作者:zifeiy
  • 标签:排列组合,错排问题

题目链接:https://www.luogu.org/problem/P1595

题目描述:某人写了n封信和n个信封,如果所有的信都装错了信封。求所有信都装错信封共有多少种不同情况。

可以发现,这就是一道纯纯的“错排问题”。

错排问题 是指给你n个数,问:这n个数中有多少种排列是每个位置和原排列中的每个元素都不一样的。

本着不重复造轮子的思想,转载洛谷上介绍错排问题的 这篇博客

其中,比较好实现的一种方式是用 \(f[i]\) 来表示 i 个数的全错排方案数,以及递推公式:

f[1] = 0
f[2] = 1
f[i] = (i-1) * (f[i-1] + f[i-2])

实现代码如下:

#include <bits/stdc++.h>
using namespace std;
int n;
long long f[22];
int main() {
cin >> n;
f[1] = 0;
f[2] = 1;
for (int i = 3; i <= n; i ++) f[i] = (i-1) * ( f[i-1] + f[i-2] );
cout << f[n] << endl;
return 0;
}

最新文章

  1. Unity3D 5.x 简单实例 - 孤岛场景搭建
  2. Java Se:自定义ClassLoader
  3. Eclipse 代码自动提示的设置
  4. STM32-外部中断,没有硬件干扰就是快乐
  5. ArcGIS API for Silverlight开发入门准备
  6. Android构建boot.img(一):root目录与ramdisk.img的生成
  7. SAP ABAP 日期相关函数
  8. ActiveMQ的入门demo
  9. 基于visual Studio2013解决算法导论之006最大堆排序
  10. Python什么是值或引用函数参数
  11. angularjs中动态为audio绑定src
  12. azkaban disable 停用部分工作流
  13. 洛谷P1850 换教室
  14. 洛谷.4717.[模板]快速沃尔什变换(FWT)
  15. Java从零开始学十七(简单工厂)
  16. nginx 的 autoindex on首页不显示的问题 按照下面几行要写上不然不行
  17. 【2018.06.26NOIP模拟】T1纪念碑square 【线段树】*
  18. maven 编译指定模块
  19. 第四课(2)——mysql配置参数讲解
  20. nginx的常规配置

热门文章

  1. DOM查找元素的方法总结
  2. ie8 下margin-top失效的小案例
  3. PyCharm 头文件设置及作用
  4. Directx11教程39 纹理映射(9)
  5. jQuery自动过滤单词插件
  6. Word画线条5大技巧,简单实用!
  7. Mac终端打开AndroidStudio已创建模拟器
  8. 【JZOJ4868】【NOIP2016提高A组集训第9场11.7】Simple
  9. 数据人看Feed流-架构实践
  10. PHP程序连接Redis报read error on connection问题