草庐IT

【ACM组合数学 | 错排公式】写信

题目链接:https://ac.nowcoder.com/acm/contest/54484/B题意很简单,但是数据范围偏大。错排公式首先来推导一下错排公式:\[D(n)=n!\sum_{k=0}^{n}\frac{(-1)^k}{k!}\]设一个函数:\[S_i表示一个排列中p_i=i的方案数\]那么我们可以知道:\[D(n)=n!-|\cup_{i=1}^{n}S_i|\]这个表示所有方案数减去至少有一个位置放对的方案数。现在来考虑一下如何处理后面这个并集,并集往往是不好求的,而交集会好求很多,所以在求并集的时候我们往往采取容斥原理将一个并集转换成诸多交集的加减运算。我们用一个图可以来表示

【ACM组合数学 | 错排公式】写信

题目链接:https://ac.nowcoder.com/acm/contest/54484/B题意很简单,但是数据范围偏大。错排公式首先来推导一下错排公式:\[D(n)=n!\sum_{k=0}^{n}\frac{(-1)^k}{k!}\]设一个函数:\[S_i表示一个排列中p_i=i的方案数\]那么我们可以知道:\[D(n)=n!-|\cup_{i=1}^{n}S_i|\]这个表示所有方案数减去至少有一个位置放对的方案数。现在来考虑一下如何处理后面这个并集,并集往往是不好求的,而交集会好求很多,所以在求并集的时候我们往往采取容斥原理将一个并集转换成诸多交集的加减运算。我们用一个图可以来表示

错排问题之年会抽奖与抄送列表

目录一、编程题1.年会抽奖2.抄送列表二、选择题1.操作系统中关于竞争和死锁的关系下面描述正确的是?2.并发是并行的不同表述,其原理相同。3.在Unix系统中,处于()状态的进程最容易被执行。 4.当系统发生抖动(thrashing)时,可以采取的有效措施是()。Ⅰ.撤销部分进程Ⅱ.增加磁盘交换区的容量Ⅲ.提高用户进程的优先级 一、编程题1.年会抽奖链接:年会抽奖__牛客网(nowcoder.com)今年公司年会的奖品特别给力,但获奖的规矩却很奇葩:1.首先,所有人员都将一张写有自己名字的字条放入抽奖箱中;2.待所有字条加入完毕,每人从箱中取一个字条;3.如果抽到的字条上写的就是自己的名字,那

错排问题详解

错排问题(Derangement)概念释义又叫错位排列、重排,即使一个排列所有的元素都不在原来的位置上。错排问题是组合数学发展史上的一个重要问题,错排数也是一项重要的数。令\({a_k}(1\leqk\leqn)\)是\(n,n\epsilonN\)的一个错排,如果每个元素都不在其对应下标的位置上,即\(a_k\neqk\),那么这种排列称为错位排列,或错排、重排(Derangement)。————————摘自《百度百科》简要分析我们来看一个最为经典的错排问题,信封问题:共有\(n\)张信和\(n\)个信封,假设所有信都装错了信封,共有多少种情况?我们先定义\(f(n)\)为当有\(n\)个信

错排问题详解

错排问题(Derangement)概念释义又叫错位排列、重排,即使一个排列所有的元素都不在原来的位置上。错排问题是组合数学发展史上的一个重要问题,错排数也是一项重要的数。令\({a_k}(1\leqk\leqn)\)是\(n,n\epsilonN\)的一个错排,如果每个元素都不在其对应下标的位置上,即\(a_k\neqk\),那么这种排列称为错位排列,或错排、重排(Derangement)。————————摘自《百度百科》简要分析我们来看一个最为经典的错排问题,信封问题:共有\(n\)张信和\(n\)个信封,假设所有信都装错了信封,共有多少种情况?我们先定义\(f(n)\)为当有\(n\)个信