错排

news/2025/1/22 14:45:05/文章来源:https://www.cnblogs.com/water-flower/p/18685930

错排

定义错排d(x)为:长度为x的排列,并且对于任意i,第i位的数不是i的排列方案数。

求法1:无脑容斥。

至少有k个位置对应的数与下标相同的方案数为 \(\binom{n}{k} (n-k)!\)

d(x)相当于k=0的情况减k=1加上k=2...来容斥的结果。形式化表达为:

\[d(n) = \sum_{k=0}^n(-1)^k\binom{n}{k} (n-k)!\\ =n!\sum(-1)^k\frac{1}{k!} (用定义展开组合数,将n!移出来) \]

求法2:递推

另一种做法是考虑递推,考虑 $ n $ 所在的环的大小:

  • 大小为 2,那么剩下的所有是一个 $ n-2 $ 的错排,方案数为 $ (n-1) d_{n-2} $
  • 大小 $ > 2 $,那么插入 $ n $ 之前就已经是一个错排了,枚举插入位置,方案数为 $ (n-1) d_{n-1} $

\[\therefore d_n = (n-1)(d_{n-1} + d_{n-2}) \]

初值:\(d_1 = 0, d_2 = 1\)

例题

[SDOI2016] 排列计数

求有多少种 1 ∼ n 的排列 a,满足恰有 m 个位置 i 使得 \(a_i = i\)。答案对 1e9 + 7 取模。

1 ≤ T ≤ 5 × 1e5,1 ≤ n ≤ 1e6,0 ≤ m ≤ 1e6。

从n中任意钦定m个位置:\(\binom{n}{m}\)

这m个位置的数顺序随意:\(m!\)

剩下位置错排:\(d_{n-m}\)

所以答案为\(\binom{n}{m}m!d_{n-m}\)

预处理阶乘逆元后O(1)求

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/873246.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能创新型教师培育计划(第一期)

Skip to contentOpenHydraSearchKMain Navigation首页 课程新一代人工智能经典实验【中学】 XEdu系列【中学】 中小学AI开源课程倡议使用指南活动获取支持On this page人工智能创新型教师培育计划(第一期) 一、组织单位 二、活动背景 三、活动内容 四、活动安排 五、师资介绍…

前置数学

一些必要 trick推式子,先提 \(\sum\) 和 \(\Pi\) 到最前面,然后从后往前合并,必要时考虑更改 \(\sum\) 的取值 看到次方变为斯特林数,\(x^n=\sum\limits_{i=0}^{n} {n \brace i}{x \choose i}i!=\sum\limits_{i=0}^{n}\sum\limits_{i=1}^m{(-1)^{m-i}\frac{i^n}{(m-i)!}}{x…

MUX-VLAN

MUX VLAN(Multiplex VLAN)是一种高级的VLAN技术,它通过在交换机上实现二层流量隔离和灵活的网络资源控制,提供了一种更为细致的网络管理方式。 一、基本概念 MUX VLAN分为主VLAN(Principal VLAN)和多个子VLAN(Subordinate VLAN)。 主VLAN是MUX VLAN配置中的核心VLAN,它…

OpenWrt 挂载 SMB

通过OpenWrt挂载smb存储,并再通过smb分享(实现分布分享统一入口?)添加用户 依赖 opkg install shadow-common opkg install shadow-useradd添加 smb 专用用户 useradd YOUR_SMB_USER_NAME将用户与 smb 服务关联 smbpasswd -a YOUR_SMB_USER_NAMEOpenWrt 设置 挂载 SMB 网络共…

高效批量工作流导入及脚本上线,利用DolphinScheduler接口轻松实现

实现了批量生成DolphinScheduler的任务,当导入时发现只能逐个导入,因此通过接口实现会更方便。 DolphinScheduler接口文档 DolphinScheduler是有接口文档的,地址是 http://IP:12345/dolphinscheduler/swagger-ui/index.html?language=zh_CN&lang=cn不过这文档写的比较简…

IDEA如何打开每日提示?

前言 大家好,我是小徐啊。我们在使用IDEA开发Java应用的时候,经常需要使用IDEA的各种各样的技巧,提示。这个在每次IDEA打开的时候,会自动弹出来。但有时候,我们可能不小心把这个提示设置成关闭了,导致后面打开IDEA的时候,再也不弹出这个提示了。这样我们可能就不能很全面…

如何用vscode打开obj、glb文件,查看3D文件

方案1:安装插件 3D Viewer for VSCode,安装完可以查看obj 但是不懂为啥是白色的 glTF Tools,安装完可以查看gltf 启动位置在右上角:白色小山的图标 这个效果不错,看起来比较舒服。 但是gltf从哪里来呢? 首先我们有一个glb文件,右键它,点击倒数第二行的“glTF: import …

时间序列平稳性的双重假设检验:KPSS与ADF方法比较研究

在进行时间序列分析之前,确定序列的平稳性是一个关键步骤。平稳性指的是时间序列的统计特性(如均值和方差)在时间维度上保持不变。本文将详细介绍如何运用 KPSS 检验和 Dickey-Fuller 检验来验证序列的平稳性。这两种检验方法基于不同的统计假设:KPSS 检验的原假设是数据非…

Svelte 最新中文文档翻译(4)—— 符文(Runes)下

前言 Svelte,一个非常“有趣”、用起来“很爽”的前端框架。从 Svelte 诞生之初,就备受开发者的喜爱,根据统计,从 2019 年到 2024 年,连续 6 年一直是开发者最感兴趣的前端框架 No.1:Svelte 以其独特的编译时优化机制著称,具有轻量级、高性能、易上手等特性,非常适合构…

固定测斜探头 土体位移变化数据支持 助力工程监测 无线传输

固定测斜探头 土体位移变化数据支持 助力工程监测 无线传输FI系列固定测斜探头是一款专为土体内部位移变化监测而设计的高精度测量仪器。无论是深基坑开挖、地铁地基、公路地基、挡土墙、坝体、尾矿库还是山体滑坡等工程项目,我们的测斜探头都能提供准确可靠的数据支持。该测斜…

研发效率低下?试试这些改进方法

最近这段时间,互联网上发生了很多大事:极越汽车突然宣布破产解散;养乐多上海工厂关闭;网传海信大规模裁员;……2024年即将结束,如果给2024年打个标签,有人说是“愈加魔幻”的一年,有人说是“挑战激增”的一年,也有人说是“生存指数飙升”的一年。 根据裁员追踪机构lay…

复现一下最近的湘岚杯的pwn部分

前言 pwn萌新一枚,这次湘岚杯pwn题只出了两道,后面orw写了exp但是一直打不通,后来发现思路错了。宇宙射线这题很新颖,虽然比赛期间没有做出来,但是赛后复现时学到了很多东西,还是很开兴的。题解过程 ret2text签到 解题思路: ​ 这题是pwn题中的签到题,题目描述也很清晰…