首页 > 大水题
头像 白给怪
发表于 2020-07-15 19:26:51
比较简单的容斥原理的题目下面贴两张概念性的图片 很容易理解话不多说就贴代码啦: #include<iostream> #include<algorithm> #include<set> #include<string> #include<cstr 展开全文
头像 平凡的小白
发表于 2020-09-12 13:43:32
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll a[5]={0,2,5,11,13}; int main() { ll n; while(cin>>n) { 展开全文
头像 东溪看水
发表于 2020-06-30 14:31:34
题目 给出一个数 n,求 1 到 n 中,有多少个数不是 2、5、11、13 的倍数。 解题思路 根据容斥原理,先不考虑重叠的情况,把 2、5、11、13 的所有倍数的数目先计算出来,然后再把计数时重复计算的数目排斥出去。所以,1 到 n 中,这四个数的倍数的总数为cnt = n/2 + n/5 + 展开全文
头像 咔cat
发表于 2024-03-29 10:56:45
没什么好说的,附上容斥原理的公式吧 百度百科:https://baike.baidu.com/item/%E5%AE%B9%E6%96%A5%E5%8E%9F%E7%90%86/10146840?fr=ge_ala #include<bits/stdc++.h> using names 展开全文
头像 昵称很长很长真是太好了
发表于 2020-07-17 16:03:10
题解:容斥原理要计算几个集合并集的大小,我们要先将所有单个集合的大小计算出来,然后减去所有两个集合相交的部分,再加回有三个集合相交的部分,再减去所有四个集合相交的部分....依此类推,一直计算到所有集合相交的部分。拿这个题举个栗子。你先计算出单个数被整除的次数加起来,你会发现比如说10这个数字,会被 展开全文
头像 Walnut77
发表于 2023-11-20 20:11:52
#include <iostream> using namespace std; int main() { long long n,a; while(cin>>n){ a=n/2+n/5+n/11+n/13; //是单个数的倍数个数 a-=n/10+n/22+n/26 展开全文
头像 zhangjitong
发表于 2024-10-04 20:33:38
容斥原理解决 AC代码如下 #include<bits/stdc++.h> using namespace std; #define int long long signed main(){ int n; while(cin>>n) cout<& 展开全文
头像 andif
发表于 2023-09-10 14:55:59
NC15079 - 大水题 题意 给出一个数, 求到中,有多少个数不是的倍数 数据范围 思路 我们定义集合表示到的整数集合 我们定义下列的性质分别为: 表示能被整除 表示能被整除 表示能被整除 表示能被整除 表示集合中满足性质的元素 那么这个题目其实要求的就是: 根据容斥原理可得: 对于的话, 展开全文