You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

n个不同元素排列问询:两个特定元素位置限制的题意及排列数求解

解答:特定元素受限的排列问题

先明确条件含义

Hey there! 先帮你把条件掰明白:“两个特定元素既不能出现在首位也不能出现在末位”,指的是a₁和a₂这两个元素,每一个都绝对不能占排列的第一个位置,同时也绝对不能占最后一个位置。简单说就是:

  • a₁既不能在开头,也不能在结尾;
  • a₂同样既不能在开头,也不能在结尾;
  • 他俩只能待在排列中间的n-2个位置里。

计算符合条件的排列数

给你两种推导方法,选你看得顺的来理解:

方法一:直接构造合法排列

我们分两步来搭这个排列:

  1. 填首尾位置:因为首尾不能是a₁或a₂,所以只能从剩下的n-2个元素(a₃到aₙ)里挑2个来排首尾,这是排列问题,数量是 P(n-2, 2) = (n-2)(n-3)
  2. 填中间位置:首尾确定后,剩下的n-2个元素(包括a₁、a₂和没被选去首尾的元素)可以随便排在中间的n-2个位置,排列数是 (n-2)!

把两步的结果相乘,就是总的合法排列数:

(n-2)(n-3) * (n-2)!

方法二:总排列数减去不合法排列数

先算所有元素的总排列数是 n!,再减去不符合要求的排列数:

  • 不合法的情况有四类:a₁在首、a₁在尾、a₂在首、a₂在尾,每类的排列数都是 (n-1)!,加起来是 4*(n-1)!
  • 但这里有重复减去的情况:比如a₁在首且a₂在尾的排列,被减了两次;a₁在尾且a₂在首的排列也被减了两次。这两种情况的排列数各是 (n-2)!,得加回来补正。

所以不合法的总排列数是:

4*(n-1)! - 2*(n-2)!

用总排列数减去这个值,化简后和方法一的结果完全一致:

n! - 4*(n-1)! + 2*(n-2)! = (n-2)!*(n-2)(n-3)

内容的提问来源于stack exchange,提问作者looneysnoop

火山引擎 最新活动