数论
文章平均质量分 94
墨韵*
这个作者很懒,什么都没留下…
展开
-
ZOJ3870 Team Formation(思维)
For an upcoming programming contest, Edward, the headmaster of Marjar University, is forming a two-man team fromNstudents of his university. Edward knows the skill level of each student. He has found that if two students with skill levelAandBform a ...原创 2020-10-24 22:48:55 · 133 阅读 · 0 评论 -
2020年牛客暑期多校训练(第四场)harder gcd problem
题目链接:https://ac.nowcoder.com/acm/contest/5669/H 输入 2 4 10 输出 1 2 4 4 3 9 5 10 8 2 4 6 题解: 首先先排除1,和大于n/2的质数,因为它们是不能配对的,然后我们考虑将剩下的质数倒序记录下它们未被记录的倍数(因为正序的话,有些数记录不到它们的倍数),然后如果一个数记录的数的数目为偶数(这里包括它们本身),这些数都可以两两匹配,如果为奇数,取出一个偶数即可,剩余的依旧可以配对,最后把取出的偶数两两配对即可。..原创 2020-07-22 15:39:25 · 109 阅读 · 0 评论 -
AcWing 890.能被整除的数(容斥原理)
给定一个整数n和m个不同的质数p1,p2,…,pm。 请你求出1~n中能被p1,p2,…,pm中的至少一个数整除的整数有多少个。 输入格式 第一行包含整数n和m。 第二行包含m个质数。 输出格式 输出一个整数,表示满足条件的整数的个数。 数据范围 1≤m≤16 1≤n,pi≤1e9 输入样例: 10 2 2 3 输出样例: 7 题解:这里采用了容斥原理,一个数k在n中的个数为n/k个,而交集则为数的乘积在n中的个数,这里采用位运算处理数的乘积的选择,如果为1就选择,为0就不选原创 2020-07-19 18:29:12 · 260 阅读 · 0 评论 -
埃筛,线性筛(欧拉筛)
我们知道在求素数时,普通的暴力通常无法满足许多OJ网站的时间复杂度要求,那么自然需要优化,我们求素数时,不妨把不是素数的先标记,剩下的自然就都是素数(直接暴力这里就不写了)。 埃塞: #include<bits/stdc++.h> using namespace std; #define ll long long int prime[20000]; ...原创 2019-11-02 10:06:03 · 277 阅读 · 0 评论