数学学习笔记3

杜教筛

求积性函数f前缀和
考虑前缀和为S,考虑另外一个函数g
i=1n(fg)(i)=i=1nd|if(d)g(id)=d=1ng(d)i=1ndf(i)=d=1ng(d)S(nd)
于是对于一个n,可以得到g(1)S(n)=i=1n(fg)(i)d=2ng(d)S(nd),于是可以嘀咕求解

ll get_s_n(ll n){
if(n<maxn)return sum[n];
ll ans=f_g_sum(n);
F(i,2,n){
ll j=n/(n/i);
ans-=(g_sum(j)-g_sum(l-1))*get_s_n(n/i);
}
return ans/g(1);
}

于是再构造一个g就行了,使得g的前缀和很好算就行了
很奇妙啊

  • i=1nμ(i)
    由于μI=ϵ,所以我们g选I,g_sum(n)=n,f_g_sum(n)=1
  • i=1nϕ(i)
    g=I,g_sum(n)=n,f_g_sum(n)=n(n+1)/2
  • i=1nϕ(i)×i
    (fg)(n)=d|nf(d)g(nd)=d|nϕ(d)×d×g(nd)
    于是g选id,g_sum(n)=n*(n+1)/2,f_g_sum(n)=n^2
  • i=1nϕ(i)×i2
    g=,g_sum(n)=n(n+1)(2n+1)/6,f_g_sum(n)=n^3

杜教筛复杂度:玄学(?) 约等于n23

置换群

是若干个密闭的环,就是一个轨道,交换操作
乘法即将原排列进行一次置换再进行第二次置换的置换
则置换群={e,...}大小为2^n,e=(1)(2)(3)...(n)

Burnside引理

平面图形
对n个元素用m种颜色染色,对应的置换群为S,在S下任意一种置换得到的相同方案只算一种
则本质不同的染色方案数为
sSmf(s)|S|

  • 置换群构造
  • 轨道数的计算

例:六个点排成一圈,用三种颜色染色
置换群为S=(1)(2)(3)(4)(5)(6),(1,2,3,4,5,6),(1,3,5)(2,4,6),(1,4)(2,5)(3,6),(1,5,3)(2,6,4),(1,6,5,4,3,2)
ANS=36+31+32+33+32+316
对轨道染色
给定n个点排成一圈,每次可以用m种颜色染色,问方案数

考虑计算置换群中的每个置换的轨道数,由于每个置换的每个轨道的大小都是相同的,于是我们只要求出其中一个轨道的大小就可以了
对于转i次,考虑增量
0 i 2i 3i 4i 5i .... k(i-1) ki
考虑找到第一个n|ki的,k即为ngcd(i,n)
f(i)=gcd(n,i)

其实我们并不关系编号究竟是什么,可以只考虑轨道大小和轨道数
有意义的边的置换群为,求所有边中选r条边的方案数
0:(1)4k2
90:(4)k2
180:(2)2k2
270:懒得写了
考虑Burnside的本质,即每个轨道内的所有元素长得一样
C(4k2,r)
C(k2,r4)
C(2k2,r2)
如果4|r不满足,则该情况答案直接为0,其他都正常

立体图形
6个面,8个点,12条棱
旋转 角度 数量 置换
不转 0 1 (1)6
面面 90,180,270 3 (1)2(4)1,(1)2(2)2,(1)2(4)1
棱棱 180 6 (2)3
点点 120,240 4 (3)2,(3)2
根据不同角度,可以确定角度
求循环节,可以确定置换

给定一个立体图形,如何求点数,边数,棱数?

外角和公式 ×=720

外角就是一个点周围的角度的和再减去360

足球 由五边形和六边形构成
一个点周围有两个六边形,一个五边形
60个点,12个五边形,20个六边形,90个边
于是分为五,六,棱,点,考虑即可
所有立体图形一定满足五边形和五边形对着...
一定相对!

生成函数与母函数

对于一个数列{a0,a1,...}
对应的生成函数为
G(x)=a0+a1x+a2x2+a3x3
无限?
求斐波那契数列通项公式
考虑原序列的生成函数
F(x)=f0+f1x1+f2x2+f3x3+...
xF(x)=f0x1+f1x2+f2x3
(1x)F(x)=x+x2F(x)
F(x)=x1xx2
考虑辅助函数g
g(x)=1+kx+k2x2+k3+x3+...
g(x)=11kx
我们考虑将F的分母因式分解,将F变成了g的形式
F(x)=15×11152x+15×111+52x
于是现在我们考虑一个f(n)
f(n)=15×(152)n+15×(1+52)n

朴素解法
考虑一个方程
c0an+c1an1+c2an2+....+ckank=0
则它的一个特征多项式假设满足
C(x)=xk+c1xk1+c2xk2+...+ck=0
于是我们列出了一个关于x的方程,可以解出来一个x(斐波那契就是x2x1=0,可以解出一个x1=1+52,x2=152)
当我们解出来x的时候就可以确定

  • x根两两不同
    an=l1x1n+l2x2n+...+lkxkn
    再解出l即可

  • x根存在一段连续的相同
    x1=x2=x3=...=xr,xr+1,xr+2,...,xk
    an=(l1+l2n1+...+lrnr1)x1n+lr+1xr+1n+...+lkxkn

排列和逆序对

对换
偶排列
奇排列
对换改变排列的奇偶性
在全部n阶排列中,奇偶排列各占一半(证:考虑每个奇排列将a1,a2交换一下就成了偶排列,一一对应的)

行列式

psgn(p)Πi=1nai,pi
j=1naij(1)i+jMij(对于任意i

• 行列互换,值不变。
• 用一个数乘行列式的某行等于用这个数乘此行列式。
• 如果行列式中某一行是两组数之和,则这个行列式等于两个行列式之和,这两个行列式分别以这两组数为该行,而其余各行与原行列式对应各行
相同。
• 对换行列式中两行的位置,行列式反号。
• 如果行列式中有两行成比例,则行列式等于0。
• 把一行的某个倍数加到另一行,行列式的值不变。

于是我们可以高斯消元求解行列式,消成上三角的形式,答案即为对角线上的乘积

逆矩阵

对于一个n阶矩阵A,存在一个n阶矩阵B使得AB=BA=I
则A是可可逆的,B是A的一个逆矩阵
否则A是不可逆的
左逆矩阵和右逆矩阵一定是一样的
det(A)把矩阵当成行列式计算
det(AB)=det(A)det(B)
A存在逆矩阵的充要条件:det(A)!=0
(AB)1=B1A1

初等变换

高斯消元三个操作
• 用一个非零的数乘以某行
• 将某一行的𝑘倍加到另一行
• 互换两行
都可以用矩阵乘法实现,即找到一个M,使得MA=B
于是我们对于一个A,用高斯消元将它化为I,则过程中的矩阵的乘积的矩阵即为我们的逆矩阵

基尔霍夫矩阵

图G的基尔霍夫矩阵可以表示为,不能有自环
Dii=deg(i)
Dij=cnt(i,j)
|D|=0

矩阵树定理

定理:给定无向图G,则图G的生成树的个数等于其对应的基尔霍夫矩阵的主余子式的值。(对于任意i)
i,j余子式:去除i行j列的剩下行列式(Mij)的值
i=j则为i的主余子式

对于一张n个点的无向图G,它的生成树个数为nn2,可以用高斯消元证

posted @   hs_wfz_orz  阅读(160)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示