zoukankan      html  css  js  c++  java
  • P3223 [HNOI2012]排队

    题目描述

    某中学有 (n) 名男同学,(m) 名女同学和两名老师要排队参加体检。他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的)

    输入格式

    只有一行且为用空格隔开的两个非负整数 (n)(m),其含义如上所述。

    输出格式

    仅一个非负整数,表示不同的排法个数。注意答案可能很大。

    输入输出样例

    输入 #1复制

    1  1
    

    输出 #1复制

    12
    

    说明/提示

    对于 (30\%) 的数据 (nleq 100,mleq 100)

    对于 (100\%) 的数据 (nleq 2000,mleq 2000)

    思路

    • 不考虑老师相邻

    显然老师与男同学等价,用插空法解决

    (A_{n+2}^{n+2} imes A_{m}^{m} imes C_{n+3}^{m})

    其中C中的(n+3)是因为有(n+2)个人,故有(n+3)个空

    • 老师相邻

    用捆绑法,两名老师整体与男同学等价,同样用插空法答案显然为

    (A_2^2 imes A_{n+1}^{n+1} imes A_m^m imes C_{n+2}^m)

    二者做差就是答案

  • 相关阅读:
    RedHat Linux-配置YUM仓库
    04、管道符、重定向与环境变量
    03、新手必须掌握的Linux命令
    size_t
    decltype关键字
    python numpy使用笔记
    Huffman编码
    动态规划(dynamic programming)
    Prim算法
    Kruskal算法
  • 原文地址:https://www.cnblogs.com/bangdexuanyuan/p/14039166.html
Copyright © 2011-2022 走看看