容斥原理 (两个例题)

简介: 容斥原理 (两个例题)
容斥原理的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理。

4.png

image.jpeg

以下列举两个例题:

一、

1e9个兵临城下,看题戳这儿

#include <stdio.h>
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        int a,b,c;
        long long  m = 1e9;
        scanf("%d %d %d",&a,&b,&c);
        long long  sum;
        sum = m/a + m/b + m/c - m/a/b - m/b/c - m/a/c + m/a/b/c;
        printf("%lld\n",m - sum);
    }
    return 0;
}

二、

取苹果,看题戳这儿

#include<stdio.h>
int main()
{
    int n,T,j,w,e,r,t,y,u,i,o,p,q;
    scanf("%d",&T);
    int x;  
    for (n=0;n<T;n++){
        scanf("%d",&x);
        scanf("%d %d %d",&j,&w,&e);
        r = x/j;
        t = x/w;
        y = x/e;
        u = x/(j*w);
        i = x/(e*w);
        o = x/(e*j);
        p = x/(j*w*e);
    q = r+t+y-2*(u+i+o)+4*p;
    //q = x/j + x/w + x/e - 2*(x/j/w + x/e/w + x/e/j) + 4*(x/j/w/e);
    //【ps:可用其中一行注释概括以上式子……】
    printf("%d\n",q);
    }
    return 0;
}

PS:这两个题的共同点都是素数,,emmm,下次见到素数可以联想一下,,毕竟我见的题少……

相关文章
|
9月前
|
移动开发 算法 机器人
[蓝桥杯] 二分与前缀和习题练习
又来更新了。二分与前缀和是蓝桥杯比较常考的内容,所以我们要多加练习这方面的习题。二分与前缀和的难度相对来说不算大,我们应该掌握其关键要点。
77 0
|
10月前
蓝桥杯:递推 例题:数字三角型问题
蓝桥杯:递推 例题:数字三角型问题
34 0
|
10月前
蓝桥杯:桶排序 与 例题:算式问题
蓝桥杯:桶排序 与 例题:算式问题
52 0
|
10月前
|
机器学习/深度学习 算法
蓝桥杯:递推算法 递归算法 例题:斐波纳契数列
蓝桥杯:递推算法 递归算法 例题:斐波纳契数列
51 0
|
人工智能 算法 C++
[**算法**]关于数字反转的两道例题的分析思考
两个题目看着很像,但是细节不太一样,一个是去处理浮点,(其中有用STL大法的和将小数点前后和小数点分开进行输入的还有利用字符串的读写来处理的)还有一个是去处理整数
121 0
完全背包例题(滚动数组)
完全背包例题(滚动数组)
100 0
多重背包例题
多重背包例题
77 0
|
存储 算法 C++
蓝桥杯第二讲--递推【例题】
蓝桥杯第二讲--递推【例题】
116 0
蓝桥杯第二讲--递推【例题】