
数论
数论、原理总结
Buyi.
努力进大厂
展开
-
幸运序列(整体处理+中位数定理)
解题思路:#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<cstdio>#include<vector>#include<queue>#include<algorithm>#include<math.h>using namespace std;#define ll long longconst int maxn = 1e5 + 10;cons..原创 2020-11-25 09:33:15 · 314 阅读 · 0 评论 -
导弹拦截变形(去点最长上升子序列)
导弹拦截DescriptionAA 国为了防御 BB 国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。因此可能需要配备多套导弹拦截系统才能拦截所有的导弹。某天,雷达捕捉到 BB 国的导弹来袭。AA 国于是向 CC 国请求援助,CC 国可以在这些导弹进入 AA 国领空前炸掉这些导弹中的某一个。现在 AA 国想知道,对于每一个导弹,如果 CC 国把它炸掉,那么至少配备多套导弹拦截系统才能拦截剩下所有的导原创 2020-11-25 09:12:51 · 126 阅读 · 0 评论 -
2020CCPC威海L.Clock Master(质数预处理+分组背包)
题目链接:http://codeforces.com/gym/102798/problem/L题意:给一个b,要求将b分成任意n个数ti,使得(k%t1,k%t2,…,k%tn)的组合数最多。解题思路:(k%t1,k%t2,…,k%tn)的组合数可以发现是t1.t2…tn的最小公倍数,因为只有k经过最小公倍数次,才能会到最开始的(0,0,0,…,0)状态。所以这个题目就变成了求最小公倍数最大的题目。要求最小公倍数最大,那么就要求充分利用b内的数,要求拆分后的数两两互质,如果a与b不互质,那么就会浪费原创 2020-11-17 10:20:37 · 218 阅读 · 0 评论 -
2020CCPC威海D.ABC Conjecture(素数筛+素数分解+思维)
题目链接:http://codeforces.com/gym/102798/problem/D题意:给出c,要求找出a+b=c,其中要求abc的素数因子相乘得到结果小于c解题思路:首先排除c为素数的情况,c如果为素数那么结果一定会大于等于c。当c为合数的时候,c可以分解为素数相乘的形式,如果素数中有素数幂的出现,那么一定使得rad(abc)<c判断素数幂的方法:因为c的大小为1e18,可以先预处理1e6内的所有素数①然后判断c%(prim[i] * prim[i])是否为0,为0则直接输出原创 2020-11-16 16:05:03 · 529 阅读 · 0 评论 -
2020CCPC绵阳K.Knowledge is Power(互质数分解)+两数互质规律总结
两个数互质的十种情况:1、两个数都是质数,这两个数互质2、两个连续的自然数互质。如:8和9、14和153、两个连续的奇数互质。如7和9、11和134、两个不连续的奇数但只相隔一个奇数的两个数互质。如13和17、15和195、两个合数不含相同质因子的两数互质。如:4和9,6和256、1和任意一个自然数互质。如:1和8,1和507、2、4或8和任意一个奇数互质,如:2和9,4和218、3、7或11和任一个不成倍数关系的两数互质。如:3和11,7和25,11和149、5和另一个末尾非0非5的数互原创 2020-11-11 23:25:36 · 792 阅读 · 0 评论 -
2020暑期牛客多校第一场F.Infinite String Comparision(无限循环字符串比较字典序)
题目链接:https://ac.nowcoder.com/acm/contest/5666/F解题思路:转自https://www.cnblogs.com/fate-/p/13299779.html不是很理解,反正记住两个字符串a和b,长度分别为p和q,那么比较p+q-gcd(p,q)次,就可以得到a∞ 和b∞ 的字典序大小比较#include<iostream>#include<cstdio>#include<string.h>#include<原创 2020-07-19 15:26:17 · 271 阅读 · 0 评论 -
CF1285C. Fadi and LCM(LCM+GCD)
https://vjudge.net/contest/368513#problem/C题意:给一个n,找出n的两个因子a b,使得n为a和b的最小公倍数,求max(a,b)最小解题思路:a b的最小公倍数lcm(a,b)=ab/gcd(a,b),使ab/gcd(a,b)=n,令a=a/gcd(a,b),这样就相当于求a*b=n的a和b,因为a相当于原来的a/gcd(a,b),所以此时gcd(...原创 2020-04-19 14:25:30 · 194 阅读 · 0 评论 -
一些数论定理总结
1.欧拉函数用来求比n小的互质的数模版:int oula(int n){ int cnt=1; for(int i=2;i*i<=n;i++) { if(n%i==0) { n/=i;cnt*=i-1; while(n%i==0) n/=i,cnt*=i; } } if(n>1) cnt*=n-1; return cnt;}...原创 2020-03-27 22:03:41 · 140 阅读 · 0 评论