数论
文章平均质量分 74
mis_deer
Make_myself.
展开
-
[UVa 11889] Benefit (基础数论+GCD+LCM)
UVa - 11889 已知 A,C,求最小的 B使得 LCM(A, B) = C 首先如果 A不能整除 C,则无解由 lcm(A,B)=C=A∗Bgcd(A,B)lcm(A,B)=C = \frac {A*B} {gcd(A, B)} 得 CA=Bgcd(A,B)\frac C A = \frac B {gcd(A,B)} 设 gcd(A,B)=Dgcd(A,B)=D,A=A′∗D原创 2016-04-26 19:04:26 · 443 阅读 · 0 评论 -
[SEERC15] LCM (数论 + gcd(x,x+a))
SEERC15 - D 给定两个数 A和 B,求一个正整数 N,使得 LCM(A+N, B+N)最小 如果有多解,输出最小的 N这次是两个数加上一个数,再与 GCD|LCM 关联起来 用之前的套路怎么也不会算,因为这个加法真是太讨厌了 看了题解才知道咋做的因为不管加了什么数,两个数的差是不会改变的 不妨设 A比 B小,那么两个数可以表示为 A和 A+x 其中 x=B-A,这样一来原创 2016-12-01 18:27:11 · 517 阅读 · 0 评论 -
[CSU 1803(湖南省赛16)] 2016 (数论+模运算)
CSU - 1803 (湖南省赛16) 给定 NN 和 MM ,问有多少对 aa 和 bb 其中 1≤a≤N1\le a\le N,1≤b≤M1\le b\le M,且 a×b%2016=0a\times b\%2016=0刚开始想错了,导致我花了很多时间去思考如何去重 后来看到一种特别机智的做法 a×b=(k×2016+t)×b=t×b=0 (mod2016)a\times b =原创 2016-09-05 20:05:13 · 284 阅读 · 0 评论 -
[Codeforces 585C] Alice, Bob, Oranges and Apples (Stern-Brocot Tree + 更相减损法)
Codeforces - 585C A和 B两个人玩一个游戏,开始时一共有 XX 个橘子和 YY 个苹果 A先拿出一个橘子,B拿出一个苹果,然后进行若干次操作 每次一个人将所有的水果给另一个人, 然后再从袋子里拿出与之前等量的两种水果 最后袋子里的水果恰好被拿完,求构造一个满足条件的操作序列如果知道 Stern-Brocot Tree 这个东西的话, 会发现整个游戏过原创 2016-08-24 16:33:52 · 603 阅读 · 0 评论 -
[Codeforces 217B] Blackboard Fibonacci (菲波那契数列 + 更相减损术)
Codeforces - 217B 递推一个菲波那契数列,开始时有上下两个数分别为 0 和 1 然后一个 T操作是将上面的数替换成两数之和 B操作是将下面的数替换成两数之和 这样一来 T和 B是交替进行的,但是过程中出了错, 在 NN次操作以后,得到一个数 RR 问最少错几次能得到最后一个数,并输出操作序列 其中 1≤N,R≤1061\le N,R\le 10原创 2016-08-24 11:34:10 · 358 阅读 · 0 评论 -
[HDU 5451] Best Solver (向下取整+矩阵快速幂+广义Fibonacci降幂)
HDU - 5451 y=(5+26√)1+2xy = (5+2\sqrt{6})^{1+2^x} 给定 xx和 质数MM,求 ⌊y⌋%M\lfloor y\rfloor\%M首先 xx很大,肯定要快速幂一下 有一个向下取整,所以要把底数配成整数 设 An=(5+26√)n+(5−26√)nA_n = (5+2\sqrt{6})^n + (5-2\sqrt{6})^n 可以发现,A原创 2016-08-09 10:16:22 · 732 阅读 · 0 评论 -
[Ural 1132] Square Root (二次剩余方程)
Ural - 1132 求解一个二次剩余方程裸题裸题…… 根据二次剩余的相关定义与解法 如果 nn是 modp\mod p的二次剩余,对于方程 x2=n (modp)x^2 = n\ (\mod p) 如果modp\mod p的剩余系中存在 aa使得 w=a2−nw = a^2 - n不是modp\mod p的二次剩余 那么 x=(a+w‾‾√)p+12x = (a+\sqrt{w}原创 2016-08-09 09:43:48 · 392 阅读 · 0 评论 -
[Codeforces 225E] Unsolvable (向下取整+梅森质数)
Codeforces - 225E 正整数 z,使得方程 z = [x/2]+y+xy 没有正整数解数论好题! 首先显然要把向下取整的去掉 令 x=2k+1 (k≥0)x=2k+1 \ (k \ge 0) z=k+2y+2kyz = k + 2y + 2ky z=k+2y(k+1)z = k + 2y(k+1) z+1=(2y+1)(k+1) (k≥0)z+1 = (2y+1)原创 2016-08-08 09:23:14 · 269 阅读 · 0 评论 -
[HDU 5728] PowMod (欧拉函数的积性+欧拉公式降幂+欧拉筛)
HDU - 5728 求 K=∑i=1mϕ(i∗n)mod1000000007K = \displaystyle\sum_{i=1}^m {\phi(i*n)} mod 1000000007 其中 nn是 square-free number 求 ans=KKKK..modpans = K^{K^{K^{K^{..}}}}\mod p先求 KK 由于 ϕ(n)\phi(n)是积性原创 2016-07-29 09:40:41 · 661 阅读 · 0 评论 -
[SCU 4532] interesting (数论+技巧+SPFA转移DP)
SCU - 4532 a1∗b1+a2∗b2...+an∗bn=Ba_1*b_1 + a_2*b_2 ... + a_n*b_n = B 给定 a1...ana_1...a_n,BmaxB_{max}、BminB_{min} 问有多少个B, Bmin<=B<=BmaxB_{min} <= B <= B_{max}, 使得 b1...bnb_1 ... b_n存在非负整数解首先原创 2016-07-15 08:35:51 · 308 阅读 · 0 评论 -
[SCU 4519] 来签个到吧 (GCD + 期望)
SCU - 4519 盒子里有若干个球,每个球上面都有一个数字,数字各不相同 每次从中选两个数字 x,y,设 z=|x−y|| x - y | 若 z不在盒子中,则加入这个数 反复执行操作,直到无法再向盒子里加数 随机从盒子中摸出一个球,反复执行这个操作直到所有球都被摸出来过 问最后的期望步数第一部分的构造: 设所有数的最大公因数是D 则所有数可以表示为 x=原创 2016-05-23 13:46:43 · 306 阅读 · 0 评论 -
[CodeForces 27E] Number With The Given Amount Of Divisors (数论 + 反素数)
CodeForces - 27E 求约数个数为N的最小的数这样的数一定是反素数,但不知道反素数也不要紧 用DFS从小到大枚举质数表中的每一个质数 然后乘起来,计算能组成的约数的个数 加两个剪枝,一是约数个数大于N的 二是继续增加这个质数的个数,但无法更新答案的#include <cstdio>#include <iostream>#include <cstdlib>#includ原创 2016-04-30 16:07:32 · 252 阅读 · 0 评论 -
[UVa 11426] GCD - Extreme (II) (数论 + 脑洞 + 技巧)
UVa - 11426 给定一个 N,数对 i,j <= N且 i < j 求所有数对的 gcd(i,j)的和 其中 N <= 4e6这是大白 p125的例题 首先按题目描述两个for肯定是不行的 所以我们反过来考虑,一个数是多少对数的gcdgcd 换句话来说,就是一个数被加了几次 于是我们枚举这个gcdgcd为ii 设有数对 a,b(a<b)a,b(a < b)使得 g原创 2016-04-30 14:47:30 · 295 阅读 · 0 评论 -
[HDU 5667] Sequence (矩阵快速幂+费马小定理)
HDU - 5667 题意很简单,给你一个递推式 F1=1F_1=1 F2=abF_2=a^b Fn=ab∗Fcn−1∗Fn−2(n>2)F_n=a^b*F_{n-1}^c*F_{n-2} (n \gt 2)求 F(n)modpF(n) \mod p其中 N可以高达 1e18,这赤裸裸地就告诉你解法了,矩阵快速幂搞起不过这题矩阵需要一点技巧,首先观察可得 FnF_n都是 a的幂次 所以我原创 2016-04-17 10:58:28 · 369 阅读 · 0 评论 -
[Codeforces 711E] ZS and The Birthday Paradox (数学+Legendre公式)
Codeforces - 711E 生日攻击的模型,现在有 2^n天,k个人,问不冲突的概率 其中 n和 k都是在 LL范围内的数,并且要输出既约分数很容易就列出计算式,难点就在于约分 算式大概是 1−ab=b−ab1-\frac a b = \frac {b-a} b这个形式的 然后可得 gcd(b−a,b)=gcd(a,b)\gcd(b-a, b) = \gcd(a, b) 所原创 2017-01-17 11:57:30 · 331 阅读 · 0 评论