摘要:
Matrix-Tree 定理又称基尔霍夫矩阵树定理,其用于解决:给定 n 个点 m 条边的无向图,求图的生成树个数的问题。 【基尔霍夫矩阵】1.基本定义1)无向图 \(G\):给定 \(n\) 个点,\(m\) 条边的无向图,设点集为 \(V\),边集为 \(E\),则其记为 \(G\left ( 阅读全文
摘要:
1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 #include <cstring> 5 #include <string> 6 using namespace std; 7 typedef long long l 阅读全文
摘要:
设 \[f\left ( a,b,c,n\right )=\sum_{i=0}^{n}\left \lfloor \frac{ai+b}{c}\right \rfloor\] 当\(\left ( a\geq c\right )\parallel\left ( b\geq c\right )\)时, 阅读全文
摘要:
P2522 [HAOI2011]Problem b(我的第一道莫比乌斯反演) 题解: 根据题意写出函数表达式: \(f\left ( k\right )=\sum_{i=1}^{n}\sum_{j=1}^{m}\left [ gcd\left ( i,j\right)=k\right ]\) 表示\ 阅读全文
摘要:
定义: 定义两个数论函数\(f\)、\(g\) 的 Dirichlet 卷积为: \[\left ( f*g\right )\left ( n\right )=\sum_{d|n}f\left ( d\right )g\left ( \frac{n}{d}\right )\] 性质: Dirichl 阅读全文
摘要:
1 int a[maxn],n,num; 2 int main() 3 { 4 cin>>n; 5 for(int i=2;i*i<=n;i++){ 6 if( n%i==0 ) a[num++]=i; 7 while( n%i==0 ) n/=i; 8 } 9 if( n>1 ) a[num++] 阅读全文
摘要:
一:莫比乌斯函数 定义:μ 为莫比乌斯函数,定义为 \[\mu \left ( n\right )=\left\{\begin{matrix}1 & n=1 \\ 0& n含有平方因子\\ \left ( -1\right ) ^{k} & n=p_{1}p_{2}p_{3}\cdots p_{k} 阅读全文
摘要:
线性筛:在\(O\left ( n\right )\)时间复杂度内筛出某东西 任意积性函数都可以线性筛 下面以线性筛素数说明为什么是线性的: 1 void make_prime() 2 { 3 memset(prime,true,sizeof(prime)); 4 prime[0]=prime[1] 阅读全文