博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
10.2计数与概率基础
阅读量:4599 次
发布时间:2019-06-09

本文共 1500 字,大约阅读时间需要 5 分钟。

1.加法原理:

做一件事有n种方法,第i个步骤有pi种方案。则一共同拥有p1+p2+……+pn种方案

2.乘法原理:

做一件事。完毕它须要分成n个步骤,做第一 步有m1种不同的方法。做第二步有m2不同的方法。……。做第n步有mn不同的方法。那么完毕这件事共同拥有 N=m1×m2×m3×…×mn 种不同的方法。 和加法原理是数学概率方面的基本原理。

3.容斥原理:

在计数时。必须注意无一反复,无一遗漏。

为了使重叠部分不被反复计算。人们研究出一种新的计数方法。这样的方法的基本思想是:先不考虑重叠的情况,把包括于某内容中的全部对象的数目先计算出来,然后再把计数时反复计算的数目排斥出去,使得计算的结果既无遗漏又无反复,这样的计数的方法称为容斥原理。

A∪B∪C = A+B+C - A∩B - B∩C - C∩A + A∩B∩C

4.有反复元素的全排列:

【描写叙述】有k个元素。第i个元素有ni个。求全排列的个数

【分析】

5.可反复选择的组合:

【描写叙述】

【分析】

6.杨辉三角和二项式定理:

杨辉三角

7.数论中的计数问题:

①约数的个数:
②小于n且与n互素的整数个数(欧拉函数):
【描写叙述】给出正整数n的唯一分解式n = p1^a1*p2^a2*p3^a3*p4^a4*……pk^ak,求小于n的数中与n互素的个数
【分析】对于素数p来说。“与p互素”和“不是p的倍数”等价。利用容斥原理,n - “p1,p2,……,pk的倍数的个数” + “同一时候是两个素因子的倍数”的个数 - “同一时候是三个素因子的倍数”…………………………
【唯一分解式的求得】
(1)利用试除法依次推断√n内全部素数是否有n的因子(须要打素数表)
(2)在
√n每次找到一个素因子把他除干净(巧用break)。自己尽管用了非常长时间这个思路,可是还是LRJ的代码写得好:
int m = (int)sqrt(m + 0.5);    int ans = n;    for(int i = 2;i <= m;i++)        if(n % i == 0)  //寻找素因子        {            ans = ans / i * (i - 1);            while(n % i == 0) n /= i;  //抓住一个素因子就除尽它        }    if(n > 1) ans = ans / n * (n - 1);
【欧拉函数】(咋变形的?)
n = p_1^{k_1} p_2^{k_2} \cdots p_r^{k_r}
\varphi(n) = \prod_{i=1}^r p_i^{k_i-1}(p_i-1) = \prod_{p\mid n} p^{\alpha_p-1}(p-1) = n\prod_{p|n}\left(1-\frac{1}{p}\right)
当中
\alpha_p
是使得
p^{\alpha}
整除
n
的最大整数
\alpha
(这里
\alpha_{p_i} = k_i
)。
【代码】求1~n中全部数的欧拉phi函数值
//相似于筛选法求素数    int n,phi[100005];cin>>n;    memset(phi,0,sizeof(phi));    phi[1] = 1;    for(int i = 2;i <= n;i++)        if(!phi[i])            for(int j = i;j <= n;j += i)            {                if(!phi[j]) phi[j] = j;                phi[j] = phi[j] / i * (i - 1);            }    for(int i = 1;i <= n;i++) printf("%d\n",phi[i]);

8.编码与解码:

转载于:https://www.cnblogs.com/claireyuancy/p/6726513.html

你可能感兴趣的文章
【前端开发】 5分钟创建 Mock Server
查看>>
一个Tomcat配置参数引发的血案
查看>>
java 从键盘录入的三种方法
查看>>
使用jQuery和YQL,以Ajax方式加载外部内容
查看>>
pyspider 示例
查看>>
电路板工艺中的NPTH和PTH
查看>>
JNI实现JAVA和C++互相调用
查看>>
JAVA 笔记(一)
查看>>
js 循环读取 json的值
查看>>
c# 范型Dictionary实用例子
查看>>
C#实现动态页面静态化
查看>>
可选参数、命名参数、.NET的特殊类型、特性
查看>>
利用CGLib实现动态代理实现Spring的AOP
查看>>
面试之SQL(1)--选出选课数量>=2的学号
查看>>
Minimum Window Substring
查看>>
IIS处理并发请求时出现的问题
查看>>
数学作业
查看>>
使用pycharm开发web——django2.1.5(二)创建一个app并做一些配置
查看>>
[ZPG TEST 105] 扑克游戏【Huffman】
查看>>
_bzoj2005 [Noi2010]能量采集
查看>>