在概率论问题中求解基本事件、某个事件的可能情况数要涉及到组合分析。

而这一部分主要涉及到简单的计数原理和二项式定理、多项式定理。

我们从一个简单的实例入手。

方程的整数解个数:

Tom喜欢钓鱼,一直他在r天中钓了n条鱼,设xi表示Tom第i天钓鱼的数目,这里我们,很显然时间是有序排列的,因此我们得到一个r元向量<x1,x2,x3……,xr>,那么满足上述条件,即x1+x2+x3+……+xr=n的r元组合、有多少个呢?

分析:首先我们刻意的将问题限制一下,假设每天Tom都不是空手而归,那么通过插板的方法,我们容易得到向量组的个数:

基于这个结论,我们去掉原来的限制,并设映射关系:yi = xi + 1,很明显,y1+y2+y3+……+yr=n+r的解向量个数,与x1+x2+x3+……+xr=n的解向量个数相同。那么我们很好的将一个变量(xi)可以为0的问题转化成了一个变量(yi)不可以为0的问题,利用上文给出的规律,我们容易得到向量组的个数:

有读者可能会问,这里为什么建立的映射关系一定是yi = xi + 1呢?如果是yi = xi + 2呢?最终的结果岂不就变了?那是因为,这里我们对yi的限制是正数,建立映射关系yi = xi + 1,那么xi的取值就是非负数,如果yi = xi + 2,那么xi将取得负数,这是和原来的问题性质不同了。

因此在这里我们能够将其归纳成如下的命题:

《A First Course in Probability》-chaper1-组合分析-方程整数解的个数的更多相关文章

  1. A - Character Encoding HDU - 6397 - 方程整数解-容斥原理

    A - Character Encoding HDU - 6397 思路 : 隔板法就是在n个元素间的(n-1)个空中插入k-1个板,可以把n个元素分成k组的方法 普通隔板法 求方程 x+y+z=10 ...

  2. 方程整数解-2015省赛C语言A组第一题

    方程整数解 方程: a^2 + b^2 + c^2 = 1000(或参见[图1.jpg])这个方程有整数解吗?有:a,b,c=6,8,30 就是一组解.你能算出另一组合适的解吗? 请填写该解中最小的数 ...

  3. P1098 方程解的个数

    题目描述 给出一个正整数N,请你求出x+y+z=N这个方程的正整数解的组数(1<=x<=y<=z<1000).其中,1<=x<=y<=z<=N . 输入 ...

  4. [蓝桥杯2015初赛]方程整数解 unordered_map

    unordered_map: 如果直接写报错加上tr1: #include<tr1/unordered_map>//注意写法 using namespace std; using name ...

  5. [BZOJ3751][NOIP2014] 解方程

    Description 已知多项式方程:a0+a1*x+a2*x^2+...+an*x^n=0 求这个方程在[1,m]内的整数解(n和m均为正整数).   Input 第一行包含2个整数n.m,每两个 ...

  6. vijos P1915 解方程 加强版

    背景 B酱为NOIP 2014出了一道有趣的题目, 可是在NOIP现场, B酱发现数据规模给错了, 他很伤心, 哭得很可怜..... 为了安慰可怜的B酱, vijos刻意挂出来了真实的题目! 描述 已 ...

  7. NOIP2014 uoj20解方程 数论(同余)

    又是数论题 Q&A Q:你TM做数论上瘾了吗 A:没办法我数论太差了,得多练(shui)啊 题意 题目描述 已知多项式方程: a0+a1x+a2x^2+..+anx^n=0 求这个方程在[1, ...

  8. vijos1910解方程

      描述 已知多项式方程: a0+a1x+a2x2+...+anxn=0a0+a1x+a2x2+...+anxn=0 求这个方程在[1, m]内的整数解(n 和 m 均为正整数). 格式 输入格式 输 ...

  9. 【poj1186】 方程的解数

    http://poj.org/problem?id=1186 (题目链接) 题意 已知一个n元高次方程:   其中:x1, x2,…,xn是未知数,k1,k2,…,kn是系数,p1,p2,…pn是指数 ...

随机推荐

  1. Canvas模糊化处理图片、毛玻璃处理图片之stackblur.js

    Canvas实现毛玻璃效果解决方式1:使用stackblur.js 在Android系统中实现图片的毛玻璃效果比较好用的类库是:Android StackBlur 官方Git地址:https://gi ...

  2. .Net framework.

    Figure 1 - .Net Framework The Common Language Runtime (CLR) is the mechanism through which .NET code ...

  3. (转)[开发笔记]-js判断用户的浏览设备是移动设备还是PC

    <script type="text/javascript"> function browserRedirect() { var sUserAgent = naviga ...

  4. 类 Array Arraylist List Hashtable Dictionary

    总结C# 集合类 Array Arraylist List Hashtable Dictionary Stack Queue  我们用的比较多的非泛型集合类主要有 ArrayList类 和 HashT ...

  5. excel poi 文件导出,支持多sheet、多列自动合并。

    参考博客: http://www.oschina.net/code/snippet_565430_15074 增加了多sheet,多列的自动合并. 修改了部分过时方法和导出逻辑. 优化了标题,导出信息 ...

  6. C#中foreach遍历学习笔记

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...

  7. Django socketio 安装

    如果你还没有安装过 gevent,首先需要安装 libevent, 编译安装 libevent 需要安装 Pyhton 开发库. 在Debain上可以运行如下指令: $ sudo apt-get in ...

  8. 简单学C——第一天

    基本功 一.数据类型: 在C语言中,有数据类型这一说法.为何有这一说法?是因为在现实生活中存在着不同的数据,(例如整数,小数,字符即a b c d , . ; "  之类).由于计算机中所有 ...

  9. readline函数分析

    函数功能:提示用户输入命令,并读取命令/****************************************************************************/ /* ...

  10. 使用 Scut 搭建通服架构

    整体通服的架构图如下: 整体思路: 尽量将公共的业务逻辑分拆到单个业务服务器: 公共业务RDB读写分离,提高IO并发量: 角色简要信息.角色战斗信息修改后将ID压入修改队列,简要信息每3分钟通知同步一 ...