• 写在前面
  • 交错排列问题简介
  • 求解过程
  • 总结

写在前面

本文详细讨论一道组合数学的经典问题:交错排列问题,参考总结自组合学大师Richard P. Stanley的文章A Survey of Alternating Permutations,以及自己的一点理解,如果有不对的地方请大家指出,谢谢!文章有需要者可直接点击链接下载或从我分享的资源中下载。

交错排列问题简介

设π=a1a2⋯an∈Zn+!,\pi=a_1a_2\cdots a_n\in\mathbb{Z}_n^+!,π=a1​a2​⋯an​∈Zn+​!, 如果排列 π\piπ满足a1>a2<a3>⋯,a_1>a_2<a_3>\cdots,a1​>a2​<a3​>⋯, 则称 π\piπ是nnn元集Zn+\mathbb{Z}_n^+Zn+​上的一个交错排列;如果排列π\piπ满足a1<a2>a3<⋯,a_1<a_2>a_3<\cdots,a1​<a2​>a3​<⋯, 则称 π\piπ是nnn元集Zn+\mathbb{Z}_n^+Zn+​上的一个反交错排列

记Zn+!\mathbb{Z}_n^+!Zn+​!中交错排列的个数为En(E_n(En​(称为Euler数)))。

下面我们采用递推关系及指数型生成函数的方法求解EnE_nEn​的表达式。

求解过程

令0⩽k⩽n0\leqslant k \leqslant n0⩽k⩽n, 从Zn+!\mathbb{Z}_n^{+}!Zn+​!中选取其kkk子集SSS, 有(nk)\binom{n}{k}(kn​)种取法; 由反交错排列定义,可设Sˉ=Zn+!−S\bar{S}=\mathbb{Z}_n^+!-SSˉ=Zn+​!−S,在SSS中选取反交错排列uuu,有EkE_kEk​种取法,并在 Sˉ\bar{S}Sˉ 中选取反交错排列vvv,有En−kE_{n-k}En−k​种取法;

设www为n+1n+1n+1元排列,包含排列uuu的逆序列((( 即,若uuu表示为u1u2⋯uku_1u_2\cdots u_ku1​u2​⋯uk​,则uuu的逆序列表示为uk⋯u2u1u_k\cdots u_2u_1uk​⋯u2​u1​ )))、元素n+1n+1n+1和排列vvv

则当n⩾2n\geqslant2n⩾2时,可以这种排列的方式得到唯一的www (((其实可以分两种情况,即 kkk 为奇数或偶数,但在这两种情况下只需变换元素n+1n+1n+1的位置,即可确定唯一的序列www ))),其中包含交错排列和反交错排列。

于是可在交错排列与反交错排列间建立双射,反交错排列www的个数为2En+1,2E_{n+1},2En+1​, 所以可得到
2En+1=∑k=0n(nk)EkEn−k,n⩾1.2 E_{n+1}=\sum_{k=0}^{n}\binom{n}{k} E_{k} E_{n-k}, \quad n \geqslant 1.2En+1​=k=0∑n​(kn​)Ek​En−k​,n⩾1.
设EnE_nEn​的指数型母函数为
y=∑n⩾0Enxnn!,y=\sum_{n \geqslant 0}{E_n \frac{x^n}{n!}}, y=n⩾0∑​En​n!xn​,
并由初值条件E0=E1=1,E_0=E_1=1,E0​=E1​=1,

两边同乘以xnn!\frac{x^n}{n!}n!xn​并对nnn从零到∞\infty∞求和,并应用指数型母函数的乘法公式,得到2y′=y2+1,y(0)=1.2y'=y^2+1, \quad y(0)=1.2y′=y2+1,y(0)=1. 分离变量,可得:

y=tan⁡(x2+π4)=1+tan⁡x21−tan⁡x2=1+sin⁡xcos⁡x=sec⁡x+tan⁡x,y=\tan (\frac x2+\frac \pi4)=\frac{1+\tan \frac x2}{1-\tan\frac x2}=\frac{1+\sin x}{\cos x}=\sec x+\tan x, y=tan(2x​+4π​)=1−tan2x​1+tan2x​​=cosx1+sinx​=secx+tanx,

∑n⩾0Enxnn!=sec⁡x+tan⁡x.\sum_{n \geqslant 0}{E_n \frac{x^n}{n!}}=\sec x +\tan x. n⩾0∑​En​n!xn​=secx+tanx.
由于tan⁡x\tan xtanx为奇函数而sec⁡x\sec xsecx为偶函数,所以:
tan⁡x=∑n≥0E2n+1x2n+1(2n+1)!\tan x=\sum_{n \geq 0} E_{2n+1} \frac{x^{2n+1}}{(2n+1) !}tanx=n≥0∑​E2n+1​(2n+1)!x2n+1​ sec⁡x=∑n≥0E2nx2n(2n)!\sec x=\sum_{n \geq 0} E_{2n} \frac{x^{2n}}{(2n) !} secx=n≥0∑​E2n​(2n)!x2n​

综上可得:
∑n≥0Enxnn!=sec⁡x+tan⁡x=1+x+x22!+2x33!+5x44!+16x55!+61x66!+⋯.\begin{aligned} \sum_{n \geq 0} E_{n} \frac{x^{n}}{n !} &=\sec x+\tan x \\ &=1+x+\frac{x^{2}}{2 !}+2 \frac{x^{3}}{3 !}+5 \frac{x^{4}}{4 !}+16 \frac{x^{5}}{5 !}+61 \frac{x^{6}}{6 !}+\cdots. \end{aligned}n≥0∑​En​n!xn​​=secx+tanx=1+x+2!x2​+23!x3​+54!x4​+165!x5​+616!x6​+⋯.​

总结

本文针对交错排列问题进行了分析,想要深入分析交错排列问题和 EulerEulerEuler 数的相关结论,请见上面所述论文。

交错排列(Alternating Permutation)问题详解相关推荐

  1. amoled led 排列_AMOLED-显示原理详解.pdf

    AMOLED-显示原理详解 AMOLED 显示原理详解 2016/05/25 Agenda 什么是AMOLED AMOLED vs LCD PMOLED AMOLED vs Retina AMOLED ...

  2. 【算法】组合数学——排列数生成算法详解(一)

    组合数学中的全排列深成算法历来是组合数学考试的重要考察点,因此在这里我简单的介绍一下6种全排列生成算法的详细过程,并借此比较它们之间的优劣之处. 不论是哪种全排列生成算法,都遵循着"原排列& ...

  3. Java递归求全排列详解

    Java递归求全排列详解 推荐博客: 博客园Java全排列递归算法,结尾的解释很形象了 csdn的大佬写的,和我下面的代码思路基本一致 全排列的递归思想解释: 全排列的数学定义就不再过多解释,考虑递归 ...

  4. [学习C++ ]C++ STL 全排列函数详解(排列组合与匹配算法)--1

    一.概念 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列.当m=n时所有的排列情况叫全排列.如果这组数有n个,那么全排列数为n!个. 比如a ...

  5. CSS之排列系列--块级元素、内联元素、内联块元素--区别/详解

    原文网址:CSS之排列系列--块级元素.内联元素.内联块元素--区别/详解_IT利刃出鞘的博客-CSDN博客 简介 本文介绍CSS的块级元素(block).内联元素(inline)和内联块元素(inl ...

  6. 面试-Java【之】(revers)递归实现字符串倒序排列(详解)

    面试-Java[之](revers)递归实现字符串倒序排列(详解) 实现源码详解 <目录:Java-JDBC学习> <幕> 实现源码详解 public class Test { ...

  7. Android recycleview使用详解,recycleview实现九宫格布局即横向排列,recycleview设置item占位数量大号item或小号item

    1.添加recycleview依赖 compile('com.android.support:recyclerview-v7:25.1.1') {force = true } 2.item.xml & ...

  8. 剑指offer(26-33题)详解

    文章目录 26 二叉搜索树与双向链表 27 字符串的排列 28 数字中出现次数超过一半的数字(待优化)★ 29 最小的K个数 30 连续子数组最大和 31 整数中1出现的次数 32 把数组排成最小的数 ...

  9. 图像和流媒体 -- 详解YUV数据格式

    如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78283369 我们在讲 FFmpeg 系列的时候,有提到 YUV 的.其中包 ...

最新文章

  1. JSP 三 :九大隐式对象
  2. 推荐8个舍不得分享的实用软件和网站,解决很多需求
  3. C++函数模板Demo - win32 版
  4. Python语言学习:Python常用自带库(imageio、pickle)简介、使用方法之详细攻略
  5. 在千万级的数据库查询中,如何提高效率?
  6. Nacos配置中心用法详细介绍
  7. buck变换器设计matlab_一种用于Boost PFC变换器的改进关断时间控制策略
  8. 关于juniper配速小记
  9. 行进位,超前进位 ,行波进位 ,并行进位有什么区别
  10. [Matlab]利用Simulink进行模型设计和代码自动生成
  11. mapgis10原创2019视频教程
  12. 【Python量化】 Scipy库求解最优资产投资组合
  13. 【ZookeeperDubbo系列二】Zookeeper+Dubbo集群安装配置详解
  14. FH162儿童电子液晶手写板方案芯片开发
  15. 将Excel表格导入到数据库中
  16. 找手机ic库存回收公司
  17. JAVA开发讲义(一)-Java的自白
  18. 2021年美国大学生数学建模竞赛(题目详细介绍)
  19. php-ews发送邮件,node.js 基于 STMP 协议和 EWS 协议发送邮件
  20. 为什么人生病了就要静养呢?

热门文章

  1. 使用Java实现发送email邮件
  2. amazeui学习笔记二(进阶开发2)--Web组件简介Web Component
  3. fastjson和json-lib的区别
  4. 有关锁和内存使用的DMV
  5. 对.NET的GC(垃圾回收)的理解都存在错误认识
  6. js 下拉层级多选_js控制的多级下拉菜单
  7. flinksql on zeppelin安装及使用
  8. 计算机主板用塑料做的好吗,电脑主板包装的塑料袋为什么是用透明胶封的,这样...-卓优商学问答...
  9. GaussDB(for MySQL) NDP与PQ测试体验
  10. DTC精彩回顾—金学东:从可迁到好迁:人大金仓打造国产数据库生态 助力企业国产化转型...