zoukankan      html  css  js  c++  java
  • 基本计数方法

    计数方法包括加法原理和乘法原理。
    乘法原理是加法原理的特殊情况,加法原理在分类有重复的情况下,可以使用容斥原

    理。
    加法原理:做一件事有n个方法,第i个方法有pi种方案,则一共有p1+p2+……+pn种

    方案。
    乘法原理:做一件事有n个方法,第i个步骤有pi种方案,则一共有p1p2……pn种方案


    几个常见的计数问题。
    组合排列:
    性质一:C(n ,0)=C(n ,n)=1
    性质二:C(n ,k)=C(n ,n-k)
    性质三:C(n , k)+C(n ,k+1) =C (n+1,k+1)
    性质四:C(n ,k+1)=C(n ,k)*(n-k)/(k+1)
    有重复元素的全排列:n1!n2!……nk!x=n!
    可重复选择的组合:设第i个元素选xi个,问题转化为x1+x2+……+xn=k的非负整数解

    的个数,即C(k+n-1,n-1)=C(n+k-1,k).

    例题一:UVa 11538
    从行,列,对角线三个方向考虑,行为n*m*(m-1),列为m*n*(n-1);对角线长度1-

    >N->1,中间有(m-n+1)个n(假设n<=m),从而可推导出对角线上的公式为2*n*(n-

    1)*(3*m-n-1)/3.

    例题二:UVa 11401
    运用加法原理,设最大边长为x,y+z>x => x-y<z<x.由此可发现规律y=1,无解;y=2,

    有一解(z=x-1);y=3,有二解(z=x-1),(z=x-2);直到y=x-1有x-2个解。

    例题三:UVa 11806
    本题要用到容斥原理,将第一行,最后一行,第一列,最后一列,看做四个集合,通过求交集得出最后结果。

  • 相关阅读:
    vue中使用$router.push跳转新页面
    08、TypeScript 装饰器
    07、TypeScript 命名空间
    06、TypeScript 类型、接口、类、泛型 综合使用,封装一个操作数据库的库
    Java课程总结
    Java第六次上机
    Java第三次上级
    Java第一次上机
    Java第二次实训
    Java第五次上机
  • 原文地址:https://www.cnblogs.com/Acgsws/p/3161730.html
Copyright © 2011-2022 走看看