随笔分类 - 数学
摘要:#include <iostream> using namespace std; #define ll long long const ll N = 1e5+50; namespace NTT{ const int P[3] = {469762049, 998244353, 167772161},/
阅读全文
摘要: 使用复数单位根对进行优化,则使用了另外一种方式优化。 这种方式被称之为原根。 使用单位根时我们会进行大量的浮点计算,这不光让程序的运行时间大大增加,还会带来很大的进度误差。而原根则没有这样的问题。 除此之外还解决了多项式乘法带模数的情况。 原根
阅读全文
摘要:容斥定理 其实容斥很早就学过了,原理很简单,公式也是,但是运用起来却发现异常困难。 在网上查阅了很多资料,感觉容斥还是偏运用吧,这里就整理一些题目。 具有性质或者的元素个数,等于具有性质或者的元素个数的和,减去具有性质和的元素的个数,使得计算的结果无重无漏。 先把
阅读全文
摘要:博弈论总结 刚开始可以看一下 四个经典模型,并且证明其中的定理,进而理解博弈论,个人认为这几种模型的证明都极为精彩。 之后开始学习函数和定理,这有助于分析博弈论问题,并且在很多问题中可以直接打表找规律。 在之后是三种进阶, 一、游戏 这与正常的游戏不
阅读全文
摘要:博弈论进阶 博弈“你那样看着我,就像你真的爱过我一样。” 函数拓展- 一、定义 相对于之前的游戏,这一次有了新的拓展。 我们给若干堆石子儿,再一次决策中如果一堆石子还可以取,那么我们就必须取。 定义如下: $Eve
阅读全文
摘要:博弈论进阶- 博弈命运让你们相遇,可若是差了那么一点缘分,注定不会有结局,这种结局,从一开始就注定了。 函数拓展- 感谢贾志豪《组合游戏略述——浅谈SG游戏的若干拓展及变形》一文 一、定义 在以往的当中,我们
阅读全文
摘要:博弈论初步 博弈从今天开始,和有了新的游戏 一、博弈图 如果我们把每一个博弈状态看成一个点,如果每一个状态可以移动到另外一个状态则连接一条边,这样我们就构建了一张有向图,不难发现这是一张有向无环图。 相对于之前抽象的博弈模型,我们现在得到了一个具象的图模型。或许在这张
阅读全文
摘要:博弈 —— 遇到了 博弈论题型概述: 有两名选手和交替进行预先规定好的操作。 任意时刻,可以执行的合法操作只取决于情况本身,与选手无关 失败取决于选手无法进行合法操作 一.巴什博弈 一堆个物品,两个人轮流从中
阅读全文
摘要:组合数学(球和盒子) 将球是否相同,盒子是否相同,是否可以有空盒分为八种情况。 将球设为个,盒子设为个(有空盒指的是可以有空盒)。 1.球相同,盒子不同,无空盒 挡板法,相当于将个球分成组,相当于在中插入块板子。 结论是:
阅读全文
摘要:先给一份洛谷模板题的代码 ll qpow(ll a,ll b) { ll ans=1; while(b) { if(b&1)ans=(ans*a)%mod; a=(a*a)%mod; b>>=1; } return ans; } ll getc(ll a,ll b) { if(a<b)return
阅读全文
摘要:组合数学(1) 错位排列 整理自Richard A.Brualdi的《组合数学》 1.定义 如果定义全排列 1~n, 那么 一个排列满足 任意的i都满足a[i]!=i,称之为错位排列。 定义集合元素个数为n的错位排列个数为 比如这些问题: 一个聚会上,10位绅士查看他们的帽子。有多少种方式
阅读全文
摘要:数论(2) 求逆元 1.exgcd算法 适用于个数不多但是mod很大的时候 时间复杂度:O(log n) ll exgcd(ll a,ll b,ll &x,ll &y){//扩展欧几里得算法 if(a == 0 && b == 0) return -1; if(b==0){ x=1,y=0; ret
阅读全文
摘要:数论(1) 1.埃氏筛 素数的n倍一定不是素数,所以就打表,筛选素数。 const int maxn = 1e6+10; bitset<maxn> isprime; void init(int n){ isprime.set();//清空 isprime[0] = isprime[1] = 0; i
阅读全文