首页 > 其他 > 详细

容斥原理

时间:2021-03-28 22:02:56      阅读:28      评论:0      收藏:0      [点我收藏+]

容斥原理

\(n\)个集合\(S_n\)

\[|\bigcup_{i=1}^n S_i|=\Sigma_{i=1}^n|S_i|-\Sigma_{1\leq i<j\leq n}^n|S_i\bigcap S_j|+...+(-1)^{n+1}|S_1\bigcap S_2...\bigcap S_n| \]

莫比乌斯函数

对于正整数\(N\),我们都可以将它进行唯一分解\(P_1^{c_1}P_2^{c_2}...P_k^{c_k}\)

我们就用\(\mu\)

注:\(\exists\)表示存在

\[\mu(N)= \begin{cases} 0, \exists i \in [1,k], c_i>1\1, \forall i \in [1,k], c_i=1,(k为偶数)\-1, \forall i \in [1,k], c_i=1,(k为奇数) \end{cases} \]

用代码求

#include<iostream>
using namespace std;

void mobius(int n)
{
	for(int i = 1; i <= n; i++)
	{
		miu[i] = 1;
		vis[i]= false;
	}
	for(int i = 2; i <= n; i++)
	{
		if(vis[i] == true)
			continue;
		miu[i] = -1; //质数自己 ,-1
		for(int j = 2*i; j <= n; j+=i)
		{
			vis[j] = true;
			if(j % (i*i) == 0)
				miu[j] = 0;
			else
				miu[j] *= -1; //取相反数, j的质因数可能有多个,奇数个就是-1 
		} 
	}
	return ; 
}

int main()
{

	return 0;
}

容斥原理

原文:https://www.cnblogs.com/zhangwenxuan/p/14589897.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!