【学习笔记】信息学竞赛中的概率与期望小结

信息竞赛——概率与期望

  • 事件
    • 事件的蕴含、包含
    • 事件的互斥
    • 事件的对立
    • 事件的和(并)
    • 事件的积(交)
    • 事件的差
  • 概率
    • 事件的独立性
    • 全概率公式
    • 贝叶斯公式
    • 概率DP(竞赛中的考察)
  • 期望(竞赛中的考察)

前言,温馨提醒

你得明白自己是信息竞赛选手,而非数学竞赛选手。

并非是专业性的正确性的讲解,因为网上不缺权威专家的授课。

作为一名普通高中蒟蒻,对我而言,能够运用做信息竞赛题就足够了。

所以如果不太精准的表述还请见谅,对于完全错误的地方欢迎指出,欢迎大家交流竞赛中的概率期望套路。

这样的形式【这样的形式】是蒟蒻自己的看法,仅供参考。

跨越知识链逻辑的超前学习本就会漏洞百出,还请理性看待。

事件

概率论中研究的“事件”,有这样三层含义:

  • 有一个明确界定的试验(或观察)
  • 这个试验的全部可能结果,是在试验前就明确的
  • 有一个明确的陈述,界定了试验的全部可能结果中一确定的部分。这个陈述,或者说一确定的部分,就叫做一个事件。

全部结果即最后的所有情况可能集合,事件指的是其中某一种符合给定要求的情况集合

我个人更喜欢将事件理解为是筛选的条件/要求/限制,从所有可能结果/情况中选出所有符合这个条件的结果/情况

i.e. 掷骰子,全部结果就是骰子朝上点数的所有情况 {1,2,3,4,5,6}\{1,2,3,4,5,6\}{1,2,3,4,5,6},随便一种有特性限制的事件,比如点数为奇数,情况就是 {1,3,5}\{1,3,5\}{1,3,5}

事件的蕴含、包含

事件 AAA 和事件 BBB,当 AAA 发生的时候 BBB 一定发生,则称 AAA 蕴含 BBBBBB 包含 AAA,记为 A⊂BA\subset BAB

形象来看:在这里插入图片描述

AAA 发生 BBB 必然发生,所以 AAA 的所有情况是被 BBB 所有情况包含的。

若二者相互蕴含,即 A⊂B,B⊂AA\subset B,B\subset AAB,BA ,则称两事件相等,即 A=BA=BA=B

用“事件是实验的一些结果”观点来看,可以理解为符合 AAA 条件的实验结果必在符合 BBB 条件的实验结果中,AAA 的条件更为苛刻,相比与 BBB 而言,更难发生,所以概率就不会超过 BBB 发生的概率。

事件的互斥

A,BA,BA,B 两个事件不能同时发生(可以都不发生),则称他们是互斥的。

形象地看:在这里插入图片描述

数学化的理解就是两个集合的交集为空

如果多个事件中任意两个事件都互斥,则称这些事件是两两互斥的,简称互斥的。

构成这两个事件的结果情况/实验结果是不会有交集的

i.e. 掷骰子的点数为 333 和掷骰子的点数为 222 的倍数这两个事件就是互斥的,因为不能同时发生。

事件的对立

事件 AAA 的对立事件 B={AB=\{AB={A 不发生 }\}},也记为 Aˉ\bar{A}Aˉ

用事件的限制筛选出了符合的情况后,剩余的情况就是这个事件的对立事件集合

形象地看:在这里插入图片描述

红色区域是 AAA 事件,黄色区域就是其对立事件 BBB

i.e. 掷骰子点数为奇数为事件 AAA,则 A={2,4,6},Aˉ={1,3,5}A=\{2,4,6\},\bar{A}=\{1,3,5\}A={2,4,6},Aˉ={1,3,5}

事件的和(并)

事件 A,BA,BA,B 的和为事件 C={AC=\{AC={A 发生或 BBB 发生 }\}},即 A,BA,BA,B 至少发生一个。记为 C=A+BC=A+BC=A+B

形象地看:在这里插入图片描述

AAA 蓝点,BBB 黄圈,CCC 红线。

数学上的理解为两个图形面积的并集

所以两个事件至少发生其中之一的概率并不是简单的概率相加。

i.e. 掷骰子,点数为偶数事件 AAA,点数为质数事件 BBB

A={2,4,6},B={2,3,5}⇒C={2,3,4,5,6}A=\{2,4,6\},B=\{2,3,5\}\Rightarrow C=\{2,3,4,5,6\}A={2,4,6},B={2,3,5}C={2,3,4,5,6}

加法定理两两互斥的事件之和的概率等于各事件的概率之和。事件个数可以有限可以无限。

P(A1+A2+...)=P(A1)+P(A2)+...P(A_1+A_2+...)=P(A_1)+P(A_2)+...P(A1+A2+...)=P(A1)+P(A2)+...

形象地看:在这里插入图片描述

每个事件都是单独的完整的不与其他事件相重合的颜色区域,所有颜色区域就是这些互斥事件的和。

数学化的理解就是所有图形面积的并

i.e. 掷骰子,点数为 111 事件 A1A_1A1,点数为 222 事件 A2A_2A2,点数为 333 事件 A3A_3A3,三个事件和为 BBB

P(B={1,2,3})=P(A1={1})+P(A2={2})+P(A3={3})=16+16+16=12P(B=\{1,2,3\})=P(A_1=\{1\})+P(A_2=\{2\})+P(A_3=\{3\})=\frac{1}{6}+\frac{1}{6}+\frac{1}{6}=\frac{1}{2}P(B={1,2,3})=P(A1={1})+P(A2={2})+P(A3={3})=61+61+61=21

推论P(Aˉ)=1−P(A)P(\bar{A})=1-P(A)P(Aˉ)=1P(A)

在竞赛中,有可能 P(A)P(A)P(A) 并不好求,反而是 P(Aˉ)P(\bar{A})P(Aˉ) 好求。

事件的积(交)

事件 A,BA,BA,B 的积为事件 C={A,BC=\{A,BC={A,B 同时发生 }\}},记为 C=ABC=ABC=AB

如果两事件互斥,等于是在说 ABABAB 为不可能事件,即不能同时发生。

形象地看:在这里插入图片描述

AAA 蓝点,BBB 黄圈,CCC 红线。

数学上的理解为两个图形面积的交集

i.e. 掷出点数为奇数事件 AAA,点数为偶数事件 BBB

则两事件积 C=AB=∅C=AB=\emptyC=AB=。因为不可能一个点数又是奇数又是偶数。

事件的差

两个事件 A,BA,BA,B 的差,记为 A−BA-BAB,定义为 A−B={AA-B=\{AAB={A 发生,BBB 不发生 }\}}

形象地看:在这里插入图片描述

A−BA-BAB 红色区域。

从所有符合A限制的情况中剔除掉同时符合B情况的

显然,A−B=ABˉA-B=A\bar{B}AB=ABˉ

A,BˉA,\bar{B}A,Bˉ 都发生,相当于在说 AAA 发生,BBB 不发生。

由此可见,差可以通过积去定义。

概率

概率可以理解为:一个事件的情况总数占所有情况总数的比例,前提是每个情况都是等权位的,不存在谁优谁劣

定义:两个条件 A,B,P(B)≠0A,B,P(B)\neq 0A,B,P(B)=0,则 P(A∣B)=P(AB)P(B)P(A|B)=\frac{P(AB)}{P(B)}P(AB)=P(B)P(AB)

意思是,在给定条件 BBB 情况下 AAA 条件发生的概率。

条件概率就是这个条件发生的概率,当然是有相对参照物的,竞赛中一般都是以全局所有情况为参照空间的,无条件限制

概率 P(A∩B)P(A∩B)P(AB),即 AAABBB 同时发生的概率。

也就是说,条件概率 P(A∣B)P(A|B)P(AB) 表示当确定 BBB 发生时,样本空间不再是 ΩΩΩ【全局样本空间】,而是缩小成 BBB。我们需要计算在样本空间为 BBB 时,事件 A∩BA∩BAB 发生的概率。

我们在 BBB 样本空间中寻找 AAA 发生的概率。从上面的图中看,就是 A∩BA∩BAB 的面积(概率测度),除以 BBB 占据的面积(概率测度),也就是我们条件概率的定义。

而定义式中的 P(A∩B),P(A),P(B)P(A∩B),P(A),P(B)P(AB),P(A),P(B) 等都是以 ΩΩΩ 为样本空间的。

【以上都是数学规范化的废话,压根没有必要知道那么精确的定义,自己有个大致感觉就行了】

事件的独立性

两事件 A,BA,BA,BAAA 的无条件概率 P(A)P(A)P(A) 和给定 BBB 之下的条件概率 P(A∣B)P(A|B)P(AB),一般是不同的,这反应了两个事件之间的关联。

P(A∣B)>P(A)P(A|B)>P(A)P(AB)>P(A),则 BBB 的发生使得 AAA 的发生可能性增大【尽管一个的参照是 BBB 的样本空间,一个参照是全局样本空间】,即 BBB 的发生促进了 AAA 的发生。

形象地看:在这里插入图片描述

圆内区域表示符合这个事件的情况集合。

除了左图是促进作用,其余两张都是抑制作用,右图更是杜绝这种可能,注意此时是两个事件隶属于同一个实验。

P(A∣B)=P(A)P(A|B)=P(A)P(AB)=P(A),则 BBB 的发生与否对 AAA 发生的可能性毫无影响,这在概率论上称为 A,BA,BA,B 两事件独立。

定理:两独立事件的积概率等于其各自概率的积,即 P(AB)=P(A)P(B)P(AB)=P(A)P(B)P(AB)=P(A)P(B)

i.e. 同时抛硬币和掷骰子,点数为 111 事件 AAA ,硬币正面朝上事件 BBB。显然两者不会相互干扰。

形象地看:上面最右边的图两个就是。 因为这个时候两个事件所属的实验都不一样了。

一般【一般!】都是两个实验结果彼此不影响才会有独立事件。

乘法定理:若干个独立事件 A1,...,AnA_1,...,A_nA1,...,An 之积的概率,等于各概率之积。

P(A1A2...An)=P(A1)P(A2)...P(An)P(A_1A_2...A_n)=P(A_1)P(A_2)...P(A_n)P(A1A2...An)=P(A1)P(A2)...P(An)

条件:相加是互斥,相乘是独立

推论1:独立事件的任意部分都独立。

i.e. 事件 A,B,C,DA,B,C,DA,B,C,D 相互独立,则 A,B,CA,B,CA,B,C 也独立。

推论2:若一系列事件相互独立,则将其中一部分事件改为对立事件,仍是相互独立的。

如果一系列事件任意两个都独立,则称它们两两独立。

定理:相互独立必然推出两两独立,反过来不一定对。

i.e.:有四个一样的球,分别写上数字 1,2,31,2,31,2,3,第四个球上三个数字都写了。

定义事件 Ai:{A_i:\{Ai:{ 等概率抽一个球,上面有数字 i}i\}i}

P(A1)=P(A2)=P(A3)=12,P(A1A2)=P(A1A3)=P(A2,A3)=14P(A_1)=P(A_2)=P(A_3)=\frac{1}{2},P(A_1A_2)=P(A_1A_3)=P(A_2,A_3)=\frac{1}{4}P(A1)=P(A2)=P(A3)=21,P(A1A2)=P(A1A3)=P(A2,A3)=41

对于任意事件 Ai,AjA_i,A_jAi,Aj 都有 P(AiAj)=P(Ai)P(Aj)P(A_iA_j)=P(A_i)P(A_j)P(AiAj)=P(Ai)P(Aj),所以 A1,A2,A3A_1,A_2,A_3A1,A2,A3 两两独立。

但不相互独立,因为 P(A1)P(A2)P(A3)=18≠P(A1A2A3)=14P(A_1)P(A_2)P(A_3)=\frac{1}{8}\neq P(A_1A_2A_3)=\frac{1}{4}P(A1)P(A2)P(A3)=81=P(A1A2A3)=41

【因为原样本空间都不是等权位的,三个球只有一个数字,一个球有三个数字】

【这里只是写到了,顺便写了,在竞赛中是不会有这种数学的,所以看不看得懂并不重要】

接下来的东西,就经常在竞赛中使用了

全概率公式

B1,B2,...B_1,B_2,...B1,B2,... 为有限或无限个事件,两两互斥且每次实验中至少发生一个。

BiBj=∅(i≠j),B1+B2+...=ΩB_iB_j=\empty(i\neq j),B_1+B_2+...=\OmegaBiBj=(i=j),B1+B2+...=Ω (必然事件)

有时把具有这些性质的一组事件称为一个“完备事件群”。

显然,事件和其对应事件是一个“完备事件群”。

现在考虑任一事件 AAA,有 A=AΩ=AB1+AB2+...A=A\Omega=AB_1+AB_2+...A=AΩ=AB1+AB2+...,因为 B1...B_1...B1... 两两互质,所以 AB1,...AB_1,...AB1,... 也两两互质。

加法定理有,P(A)=P(AB1)+P(AB2)+...P(A)=P(AB_1)+P(AB_2)+...P(A)=P(AB1)+P(AB2)+...

由条件概率定义得,P(ABi)=P(Bi)P(A∣Bi)⇒P(A)=P(B1)P(A∣B1)+P(B2)P(A∣B2)+...P(AB_i)=P(B_i)P(A|B_i)\Rightarrow P(A)=P(B_1)P(A|B_1)+P(B_2)P(A|B_2)+...P(ABi)=P(Bi)P(ABi)P(A)=P(B1)P(AB1)+P(B2)P(AB2)+...

最后的式子即为全概率公式。

“全部”概率 P(A)P(A)P(A) 被分解成多个部分的和。

一般在竞赛中,从另一个角度考察这个式子。把Bi当作导致A发生的一种可能途径。对不同途径,A发生的概率即条件概率P(A|B)各各不同,而采取哪个途径也是随机的。类似于加权平均的感觉。递推求解类??

【比如,不同班级的升学率不同,学校总升学率是各班升学率的加权平均,其权和班级人数成比例】

贝叶斯公式

P(A⋂B)=P(A)∗P(B∣A)=P(B)∗P(A∣B)⇒P(A∣B)=P(B∣A)∗P(A)P(B)P(A\bigcap B)=P(A)*P(B|A)=P(B)*P(A|B)\Rightarrow P(A|B)=\frac{P(B|A)*P(A)}{P(B)} P(AB)=P(A)P(BA)=P(B)P(AB)P(AB)=P(B)P(BA)P(A)

概率DP(竞赛中的考察)

概率相较于期望而言,更容易让人接受和理解。

一般都是顺着推就可以了,比如 dpi,j:dp_{i,j}:dpi,j: 从起始位置走到 (i,j)(i,j)(i,j) 位置的概率,每走一步都有不同的概率,直接概率相乘转移。

初始化,往往是起始点设为必然事件,概率为 111

输出最终状态即可。

比较简单,一般是题目怎么说就怎么翻译,直接转移,至于优化就是另一回事了。

较难的有,对于一个状态 sss,可能是由若干个状态 tit_iti 都可以转移过来的,这中间可能还包括自己。

比如有百分之多少的概率会原地不动。总之,反正你可以列出一个等式。

然后将 sss 参与的项放在等式左边,其余的放右边,然后把 sss 状态的结果当成未知数来计算,将前面的系数也扔到右边去。

这个时候如果右边全是常数已知项,就可以直接计算。

否则就是出现环的模型,彼此概率相互影响。

这个时候列出若干个等式,高斯消元即可。

概率除了递推的形式,还有用符合条件的方案数占所有方案数的比例表示,前提是等概率。

期望(竞赛中的考察)

随机变量的期望是其每一个取值以概率为权重的加权平均值。

在竞赛中这个随机变量就是最终要求期望的一些限制,类似于事件

【比如最后长度为多少的期望,那么从所有情况中选出最后长度为这么多的情况,再进行期望的相关计算】

有点所有情况带来的价值的平均值的感觉,是一种整体性的估价。

【因为以后的事情永远都是未知的,期望就相当于是提前预测的手段,对于每一种情况的可能性,其最终的结果值以及最终发生这种情况的概率】

期望值:反映一个随机变量取值的平均值。

E(X)=∑i∈Ωp(i)w(i)E(X)=\sum_{i\in \Omega} p(i)w(i)E(X)=iΩp(i)w(i)p(i),w(i)p(i),w(i)p(i),w(i) 分别表示情况结局为 iii 的概率及加权)

【比如最后长度的期望,就是每种可能长度再乘上导致最后结果为这个长度的概率】

关于期望的有三个式子:

  • E(αX)=αE(X)E(\alpha X)=\alpha E(X)E(αX)=αE(X),其中 α\alphaα 是常数。
  • E(X+Y)=E(X)+E(Y)E(X+Y)=E(X)+E(Y)E(X+Y)=E(X)+E(Y)
  • E(XY)=(EX)(EY)E(XY)=(EX)(EY)E(XY)=(EX)(EY)

别忘了,互斥才能相加,独立才能相乘。

这种线性性质证明的话,根据期望的定义 E(x)=∑piwiE(x)=\sum p_iw_iE(x)=piwi ,显然可以拆开相加的。

但好像不懂也可以直接来。因为一般竞赛中的都是互斥独立的。

竞赛中的期望有两种。

一种是纯数学的感觉:

对于次数,步数,排名类,这种每次操作会带来 111 的增长类题目,通常采取递推,但要注意是顺着推还是逆着推。

顺推一般定义为从起始态开始到现在的期望。【已经】

逆推一般定义为从现在开始到终止态的期望。【还差】

但一般会采取逆推的形式,因为我们只对终止态的期望有所了解,一般都为 000

【比如:求平面棋盘从左上角走到右下角的期望步数。我们只知道终止态右下角到右下角的期望步数是 000 步】

这种一般会用到一个很强的公式:假设当前点到每个后继点都有对应的概率,那么逆推是该点的期望是每个后继点的期望乘以正着时对应转移的概率,求和,再 +1+1+1。【表示一次操作的代价,当然有可能是 +2+2+2 什么的】

i.e. i→ji\rightarrow jij 概率为 c(j)c(j)c(j)i→ki\rightarrow kik 概率为 c(k)c(k)c(k)。则逆推时 E(i)=E(j)∗C(j)+E(k)∗C(k)+1E(i)=E(j)*C(j)+E(k)*C(k)+1E(i)=E(j)C(j)+E(k)C(k)+1

【还是抓住加权平均的想法,期望的设置,就默认了加权平均的分母,将 CCC 看作情况的概率(新加权)乘上去,之所以能拆开成所有后继的贡献,是因为这个点只能转移到这些后继点,他们的和是必然事件,后面加的常数是不管怎么转移都会带来的贡献,放在里面也行:E(i)=(E(j)+1)∗C(j)+(E(k)+1)∗C(k)E(i)=(E(j)+1)*C(j)+(E(k)+1)*C(k)E(i)=(E(j)+1)C(j)+(E(k)+1)C(k),因为 C(j)+C(k)=1C(j)+C(k)=1C(j)+C(k)=1,必然事件】

当然,如果正着维护出从初始态开始到每个点的概率,也是可以转移的。

【边对后一个点的贡献其实是相当于起点到前一个点的概率乘以边权,加权平均】

当写出递推式子的时候,可以手玩小数据跑一下,看看是否与预想一般转移。

另一种就是利用期望公式:结果为 iii 的概率乘以 iii 再求和。

这种就只能寻找工具(数据结构??)看能否快速计算出。

这里可以考虑使用概率的相关变化,符合结果条件的情况数占总方案数的概率。

或者预处理概率【比如 iii 个中 jjj 个相关操作,劈里啪啦一顿】

或者是结果为 iii 的方案数乘以 iii 求和后,再最后除以所有方案数及其加权。

或者其余的。。。

多半要用到组合计数相关知识了。

【比如:一条路径长度的期望=所有情况下路径的长度和/所有路径情况方案数,这是由加权平均值的思想得出的】

再一种就是期望可以分段计算,即为所有单独小情况的概率之和

当然如果出现和概率一样的环转移,就要说使用高斯消元了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/316740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Acwing 218. 扑克牌

Acwing 218. 扑克牌 题意: 一副扑克牌(54张),问得到A 张黑桃、B 张红桃、C 张梅花、D 张方块需要翻开的牌的张数的期望值 E 是多少? 如果翻开的牌是大王或者小王,Admin 将会把它作为某种花色的牌放入对应堆中,使得放…

尝试:Script Lab,快速 O365 开发工具//SL01)

《前言》Script Lab 我希望有一个系列(连载),可是我挺担心没偿没有能力去驾驭它。虽然早年前己经接触过,但一直未有下决心开始 Office 365 的开发之旅,虽然一直被光标老师所鼓舞,但是我心有旁骛还没有真正做…

P3710 方方方的数据结构(kd-tree)

解析 写吐了… 一开始觉得线段树分治直接做就行简直是个伞兵题,写完挂掉才想起来线段树分治会打乱操作顺序导致全假… 重构吧! 炸裂之下去贺题解,std做法 O(mmlog⁡m)O(m\sqrt m\log m)O(mm​logm) 令人谔谔,但kd-tree做法确实挺…

[POJ 3709] K-Anonymous Sequence(斜率优化dp / 动态维护凸包)

K-Anonymous Sequence看了两年前自己的博客,真的好青涩,连 markdown 都不太会用。 确实观赏感不是很好。 学习真的是慢慢积累的过程,以前感觉理解很困难的事,随着知识的增长,现在都基本悟了。 problem POJ3709 so…

Keiichi Tsuchiya the Drift King

Keiichi Tsuchiya the Drift King 题意: 给定一辆小车长宽分别为 b,a,轨道的圆弧部分半径为 r,圆弧对应的角度为 d,求出小车能通过轨道的最小轨道宽度 w。 题解: 我们考虑小车处于什么状态会使弯道最宽…

AspNet Core 下利用普罗米修斯+Grafana构建Metrics和服务器性能的监控

概述Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。该项目有非常活跃的社区和开发人员,目前是独立的开源项目,现在最常见的Kubernetes容器管理系统中,通常也会搭配Prometheus进行监控。prome…

模板:pb_ds指南

科技改变生活 前言 本来一直被畏于巨长的声明,没有学这个东西… 直到 棘手的操作 这道题,pb_ds模拟实现的两个log的做法不仅好写的一批,连时间竟然也把我单log的左偏树爆踩了??? … 我选择打不过就加入… …

【学习笔记】多重背包相关优化——二进制优化/单调队列优化

多重背包——二进制优化/单调队列优化二进制优化单调队列优化代码都是 POJ1742 的,注意,那道题二进制优化会超时。 普通的多重背包式子,物品个数限制:c[i]c[i]c[i],单个物品价值 w[i]w[i]w[i],每个物品的体…

Game of Swapping Numbers

Game of Swapping Numbers 题意: A,B两个数组,让你对A进行k次操作,每次操作为选两个位置的数,进行交换,求最大化的Σ|Ai-Bi| 题解: 以前有做过最小化的情况,就是把每次交换作定量…

软件工程真的是一门什么用都没有的学科么?

软件工程真的是一门什么用都没有的学科么?-----读《构建之法》有感楔子我很惭愧,构建之法这本书已经出版四五年了,我之前却未曾涉猎,还是在通过组织长沙.net技术社区之后,才因为因缘际遇有幸认识邹欣邹老师之后&#x…

Ball Dropping

Ball Dropping 题意&#xff1a; 求&#xff1f;的具体长度 题解&#xff1a; 算一算就出来了 代码&#xff1a; #include<bits/stdc.h> using namespace std; int main(){double r,a,b,h;cin>>r>>a>>b>>h;if(2*r<b&&2*r<…

[WF2011] MachineWorks(李超树优化dp)

[WF2011]MachineWorksproblem BZOJ3963 solution 来得比较快的是&#xff0c;直接设 dpi,j:dp_{i,j}:dpi,j​: 考虑第 jjj 天换购 iii 机器。 但是马上注意到天数是 1e91e91e9 级别的&#xff0c;而机器是 1e51e51e5 级别。 稍微想想&#xff0c;就能知道&#xff0c;因为…

P3644 [APIO2015]八邻旁之桥(中位数、堆)

前言 卡了很长时间的一个题。 一开始 k1 的关键性质把握就跑偏了&#xff0c;后面基本在硬做… 关键就是一直把每个人当成一条线段作为整体在看&#xff0c;使问题很复杂… 最后用 three-pointers 磕磕绊绊搞出来了。 但是根本不用&#xff01; 解析 这题关键就在于&#xf…

尝试:Script Lab,开发模式之知识储备//SL02

前期00&#xff1a;深度&#xff1a;从 Office 365 新图标来看微软背后的设计新理念前期01&#xff1a;尝试&#xff1a;Script Lab&#xff0c;快速 Office 365 开发工具 //SL01本期02&#xff1a;尝试&#xff1a;Script Lab&#xff0c;开发模式之知识储备 //SL02项目特点适…

【学习笔记】Miller-Rabin(米勒-拉宾)素性测试,附常用表

TOC 素性测试是检验一个给定的整数是否为素数的测试。 最简单的就是用 n\sqrt{n}n​ 以内的数去试除。这是确定性的算法&#xff0c;即能准确知道 nnn 是否为质数。 但今天学习的是一种随机算法。 Fermat 小定理 如果 ppp 是一个质数&#xff0c;且 a%p≠0a\%p≠0a%p​0…

Hash Function

Hash Function 文章目录题意&#xff1a;题解&#xff1a;代码NTT代码FFT代码题意&#xff1a; 给定n个互不相同的数&#xff0c;找一个最小的模域&#xff0c;使得它们在这个模域下互不相同。n<5e5 题解&#xff1a; 考虑两个数a和b&#xff0c;a与b模m余数相同&#xf…

P5321 [BJOI2019]送别(LCT)

Foreword\text{Foreword}Foreword 肝了一下午一晚上的码农题… &#xff08;主要就是在 debug&#xff0c;LCT 太难 de 了…&#xff09; 感谢 M_sea&#xff0c;在调无可调认为LCT会不会不可做时&#xff0c;我看到了他的题解&#xff0c;几乎一样的思路&#xff0c;给了我继…

WebApi网关之Bumblebee和Ocelot性能对比

Bumblebee是基于.net core 2.1开发的WebApi网关组件&#xff0c;由于Bumblebee所追求的轻量化和性能&#xff0c;所以它并没有像Ocelot那样从asp.net core上进行扩展&#xff1b;而是构建在BeetleX.FastHttpApi之上&#xff0c;主要原因BeetleX.FastHttpApi有着更轻量化和高性能…

【无码专区11】异或2(结论 / 推式子 + 哈希hash + 大整数高精度 加减乘除重载考察)

本题已自我实现。但仍归于无码专区 problem 求 ∑i1n−1i⨁(n−i)\sum_{i1}^{n-1}i\bigoplus (n-i)∑i1n−1​i⨁(n−i)。 20%,n≤1e6;;50%,n≤1e9;;70%,n≤1e18;;100%,n≤1050020\%,n\le 1e6;;50\%,n\le 1e9;;70\%,n\le 1e18;;100\%,n\le 10^{500}20%,n≤1e6;;50%,n≤1e9;;7…

模板:常系数齐次线性递推(线性代数、多项式)

所谓常系数齐次线性递推&#xff0c;就是系数为常数的齐次线性递推。 &#xff08;逃&#xff09; 前言 sto Asta orz&#xff01; 又是一个名字高大上&#xff0c;实则小清新的算法&#xff01; 解析 考虑一个 k 次的线性递推&#xff1a; an∑i1kfian−ia_n\sum_{i1}^kf_…