本专题主要介绍容斥原理。
大家高中的时候肯定接触过韦恩图,容斥原理比较通俗的理解就是减去所有可能并加上重叠的部分。
我们直接看公式:

知道后,我们先看道模板题:

下面是AC代码:
#include<bits/stdc++.h>
using namespace std;
#define int long long
int a[6],n;
signed main(){
a[0]=2;
a[1]=5;
a[2]=11;
a[3]=13;
while(cin>>n){
int sum=0;
for(int i=0;i<=(1<<4)-1;i++){
int cnt=0;
int ww=1;
for(int j=0;j<4;j++){
if((i>>j)&1==1){
ww*=a[j];
cnt++;
}
}
if(cnt%2==0) sum+=n/ww;
else sum-=n/ww;
}
printf("%lld\n",sum);
}
}
接下来看

本文介绍了容斥原理在高中数学中的应用,通过实例展示了如何在模板题中使用容斥原理求解,并提供了两道题目及其巧妙的解法,涉及AC代码和辗转相除算法(gcd)的应用。
最低0.47元/天 解锁文章
409

被折叠的 条评论
为什么被折叠?



