--------数论--------
math
Sand_IN_MysterieS
这个作者很懒,什么都没留下…
展开
-
【无标题】
数论+思维 The 2021 CCPC Weihai Onsite J. Circular Billiard Table https://codeforc.es/gym/103428/problem/J 引用结论: 已知a,b min x s.t. ax = by y属于任意实数 那么 x = b / gcd(a,b) 可以画圈感性理解这个东西,不必取用exgcd去解 (不用exgcd去debug) #include<bits/stdc++.h> //#include<gl/glut.h&原创 2021-11-24 15:29:45 · 331 阅读 · 0 评论 -
Educational Codeforces Round 89 (Rated for Div. 2) D
Two Divisors 数论拉满了 Teleport 题意:给你一个数a,求两个它的因数d1,d2,使得gcd(d1+d2,a)=1gcd(d1+d2,a)=1gcd(d1+d2,a)=1 思路:回顾一下这道题关于数论的一些基本知识 gcd(a,b)=gcd(a±b,b)gcd(a,b)=gcd(a\pm b,b)gcd(a,b)=gcd(a±b,b) if(gcd(a,c)=1),gcd(a,b)=gcd(a,b∗c)if(gcd(a,c)=1),gcd(a,b)=gcd(a,b*c)if(gcd原创 2020-06-14 23:22:22 · 98 阅读 · 0 评论 -
Codeforces Round #644 (Div. 3) D
D. Buying Shovels 传送门 题目大意:求最大的数q,满足:小于等于k,是n的因数,输出n/q。(n/q的最小值) 思路:如果k大于等于n,答案是1. 否则,从小到大遍历所有答案i,(i*q==n) 如果这个答案满足要求,输出。 始终维护q的最小值(n/i)。如果遍历所有答案后找不到一个能够小于等于k的q(都不满足情况1),那么答案就是维护的q的最小值。 #include<cassert> #include<string> #include<cmath&g原创 2020-06-06 16:28:45 · 147 阅读 · 0 评论 -
Codeforces Round #641 (Div. 2) C
Codeforces Round #641 (Div. 2) C 数论 很有意思的一道题,有一说一 –>Link C. Orac and LCM 题意:给你一个长为n的数串,它们之间两两取lcm得到一个新的数串,再取总gcd,求所得答案 思路:(我太菜了,我觉得很难,但是的确很有意思,参考了一些大佬的解析,我决定自己写一个) 基础补充: 对于任意一个数,可以表示成为:x=p1a1∗p2a2∗...∗pnan;x=p_1^{a_1}*p_2^{a_2}*...*p_n^{a_n};x=p1a1原创 2020-05-14 00:33:22 · 157 阅读 · 0 评论