首页 > 其他分享 >【XSY3726】大猫熊和他的k边形(三角剖分,卡特兰数)

【XSY3726】大猫熊和他的k边形(三角剖分,卡特兰数)

时间:2022-10-30 12:59:28浏览次数:77  
标签:XSY3726 路径 三角 sum 边形 卡特兰 号点

记录一下两个结论。

  • 有标号 \(n\) 边形的三角剖分数等于 \(B_{n-2}\),其中 \(B\) 是卡特兰数。

证明:

考虑 DP,设 \(C_n\) 为有标号 \(n\) 边形的三角剖分数,考虑与 \(1\) 号点相连的最小的那条边 \((1,1+i)\)(若没有与 \(1\) 号点相连的边则钦定与 \(1\) 号点相连的最小的那条边为 \((1,n)\)),有:

\[C_n=\sum_{i=2}^{n-1} C_{i}C_{n-i+1} \]

注意和式里面不是 \(C_{i+1}C_{n-i+1}\) 的原因是我们钦定了与 \(1\) 号点相连的最小的那条边为 \((1,1+i)\),那么在这条边分割出的那个 \(i+1\) 边形中,\(1\) 需要满足没有出边,也就是说一定有边 \((2,1+i)\),然后就转化为了 \(i\) 边形的三角剖分问题。

将这个式子稍作位移:

\[\begin{aligned} C_{n+2}&=\sum_{i=2}^{n+1}C_iC_{n-i+3}\\ &=\sum_{i=0}^{n-1}C_{i+2}C_{n-i+1} \end{aligned} \]

令 \(B_n=C_{n+2}\),发现就是卡特兰数的递推式:

\[B_n=\sum_{i=0}^{n-1}B_iB_{n-i-1} \]

顺便说一下为啥这是卡特兰数的递推式:考虑枚举最后一次碰到 \(y=x\) 是位置 \((i,i)\),然后就是从 \((i+1,i)\) 走到 \((n,n-1)\),即为 \(B_{n-i-1}\)。

  • \([x^n]B(x)^k\) 为从 \((0,0)\) 走到 \((n+k-1,n)\) 且不越过 \(y=x\) 的方案数。

证明是一个比较妙的组合意义。

首先 \([x^n]B(x)^k\) 相当于如下路径的方案数:这是一条 \(k\) 段的路径,每一段都是从 \((i,i)\) 走到 \((j,j)\)(\(i\leq j\))。

然后我们考虑对这条路径做一个映射。先设这 \(k\) 段分别是 \((0,0)\to (p_1,p_1)\to (p_2,p_2)\to \cdots\to (p_{k-1},p_{k-1})\to (n,n)\),然后把每一段在前面的路径的基础上向右偏移一位,就映射到了一条 \((0,0)\) 到 \((n+k-1,n)\) 且不越过 \(y=x\) 的路径。

然后证明每一条 \((0,0)\) 到 \((n+k-1,n)\) 且不越过 \(y=x\) 的路径都能一一对应回原来那条路径:我们先找到这条路径最后一次碰到 \(y=x\) 的位置 \((p_1,p_1)\),再找到这条路径最后一次碰到 \(y=x-1\) 的位置 \((p_2+1,p_2)\),……,再找到这条路径最后一次碰到 \(y=x-(k-2)\) 的位置 \((p_{k-1}+k-2,p_{k-1})\)。这样我们就得到了 \(p_1,\cdots,p_k\),不难发现路径 \((0,0)\to (p_1,p_1)\to (p_2,p_2)\to \cdots\to (p_{k-1},p_{k-1})\to (n,n)\) 恰好就是映射回这条路径。

另外提一句,求出 \([x^n]B(x)^k\) 还可以用扩展拉格朗日反演。

标签:XSY3726,路径,三角,sum,边形,卡特兰,号点
From: https://www.cnblogs.com/ez-lcw/p/16841026.html

相关文章

  • java题目集4(四边形)、5(五边形)以及期中考试总结
    一、前言1、题目集4、5难度相比前几次有较大幅度的提升,难点在于算法的设计,如何设计能写出更简单易懂的代码,以及对于类的理解应用需要达到更高的水平。题目集4是对于......
  • PTA-四边形、五边形、期中考试
    目录一、前言1.难度分析2.题量分析3.知识点4-7-1sdut-String-2识蛟龙号载人深潜,立科技报国志(II)(正则表达式)4-7-2点线形系列4-凸四边形的计算5-7-1点线形系列5-凸五边形......
  • 对PTA题目集4(四边形)、5(五边形)以及期中考试的总结
    前言:很快就来到了第二次blog的作业总结了,在前面的三角形的基础打好之后迎来了四边形和五边形的PTA作业,后续在java课程中学习了面向对象的三个基本特征中的封装、继承和多......
  • 四边形,五边形,期中考试总结
    一、前言:四、五边形以及期中考试总结(1)点线形系列4-凸四边形的计算:该题是第四次作业的第二题,分值很高,难度比较大。本题中用到了正则表达式,数值与字符之间的转换,以及格式化f......
  • 四边形,五边形以及期中考试总结性Blog
    Java大作业第二次阶段性总结前言继完成点线性系列三角形相关计算后,第四次和第五次大作业关于四边形和五边形的相关计算代码复杂度和难度提升较大,期中考试的三题对继承,多......
  • AcWing1069.凸多边形的划分(区间DP)
    SLOJP2067.三角剖分问题AcWing1069.凸多边形的划分(区间DP)题目描述给定由N顶点组成的凸多边形每个顶点具有权值将凸N边形剖分成N-2个三角形求N-2个三角形......
  • 求面积 (坐标叉积公式+凹多边形面积-坐标公式)
    求面积(AREA)给出一个简单多边形(没有缺口),它的边要么是垂直的,要么是水平的。要求计算多边形的面积。多边形被放置在一个X-Y的卡笛尔平面上,它所有的边都平行于两条坐标轴之一......
  • [CQOI2006]凸多边形 /【模板】半平面交
    洛谷题意:逆时针给出\(n(n<=10)\)个凸多边形的顶点坐标,求它们交的面积。学长博客,计算几何知识全面半平面交问题详细讲解还有一些前置知识。两向量\((x_1,y_1),(x_2,y_2)......
  • 绘制十二边形
    importturtleastdefdraw():t.left(30)t.forward(50)defdraw_circle():t.right(120)t.forward(50)t.right(120)t.forward(50)......
  • 绘制六边形
    importturtleastdefdraw():t.forward(150)defdraw_circle():t.right(120)t.forward(150)t.right(120)t.forward(150)t.right(12......