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