zoukankan      html  css  js  c++  java
  • 组合数学卡特兰数

    long long f[25];
    int main() {
      f[0] = 1;
      cin >> n;
      for (int i = 1; i <= n; i++) f[i] = f[i - 1] * (4 * i - 2) / (i + 1);
      //这里用的是常见公式2
      cout << f[n] << endl;
      return 0;
    }
    View Code

    可以解决的问题:
    1.括号匹配问题,n对括号有多少种匹配方式?

    2.进出栈问题,一个无穷大的栈,1,2,3...N 有多少种不同的出栈方式

    3.二叉树种类问题:n个节点构成的二叉树,共有多少种不同情形

    4.n*n的网格从左下走到右上角,不可走对角线,有多少种不同走法

    5.凸多边形分割问题:求一个凸多边形区域划分成三角形区域的方法

    6.集合划分问题:对于集合{1,2,3,...n}的不交叉划分的数目是多少

    7.乘积重组问题:矩阵链乘P=a1*a2*a3*...an

    8.连线不相交问题:在圆上有2n个点,将这些点连起来使得所得到的n条线段不相交的方法数

    9.高矮排队问题:2n个高矮不同的人,每排必须是高到矮的顺序,而且第二排比第一排高,问排列的方式有多少种

    10.门票找钱问题:

    11.

  • 相关阅读:
    Poj(1703),种类并查集
    Poj(2236),简单并查集
    Poj (3239),m皇后问题
    Poj(1521),哈夫曼编码
    NYOJ(680),摘枇杷,(暴力,或者二分搜索)
    NYOJ(42)欧拉图
    数集合有多少个TOJ(2469)
    HDU(1016),打素数环
    HDU(4394),数论上的BFS
    Poj(2225),三维BFS
  • 原文地址:https://www.cnblogs.com/hznumqf/p/12331222.html
Copyright © 2011-2022 走看看