
Number Theory
文章平均质量分 80
Southan97
本科计算机科学与技术专业,现软件工程专业在读研究生
展开
-
素数筛选
素数表,素数筛选法, 给定一个数num,求1到n之内的所有素数有多少并输出,并且任意给定一个介于1到num的数快速判断其是不是素数。原创 2017-01-13 22:26:17 · 398 阅读 · 0 评论 -
欧拉函数 HDU 1286 HDU 2588 HDU 2824 HDU 4983
欧拉函数 HDU 1286 HDU 2588 HDU 2824 HDU 4983原创 2017-07-08 22:01:34 · 792 阅读 · 0 评论 -
Catalan数 HDU 2067 HDU 1023 HDU 1131
Catalan数(卡特兰数) HDU 2067 HDU 1023 HDU 1131原创 2017-07-08 21:58:37 · 597 阅读 · 0 评论 -
数论基础(gcd + 拓展欧几里得)
求连个数的最大公约数gcd,拓展欧几得, 费马小定理, 取模运算性质,乘法逆元。 欧几里得定理: gcd(a, b) = gcd(b, a%b); gcd(a,b)=gcd(b,a)=gcd(-a,b)=gcd(|a|,|b|) 扩展欧几里德算法是用来在已知a, b求解一组x,y使得ax+by = Gcd(a, b) =d(解一定存在,根据数论中的相关定理)。扩展欧几里德常用在求解模线性方程及方程组中。原创 2017-03-11 21:46:40 · 613 阅读 · 1 评论 -
欧拉函数
欧拉函数:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) 。通式:φ(x)=x*(1-1/p1)*(1-1/p2)*(1-1/p3)*(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1)=1(唯一和1互质的数就是1本身)。对于质数p,φ(p) = p - 1。注意φ(1)=1.原创 2017-03-06 21:32:14 · 541 阅读 · 0 评论 -
Codeforces Round #400 (Div. 1 + Div. 2, combined) E. The Holmes Children
Codeforces Round #400 (Div. 1 + Div. 2, combined) E. The Holmes ChildrenThe Holmes children are fighting over who amongst them is the cleverest.Mycroft asked Sherlock and Eurus to find value of f(n), where f(1) = 1 and for n ≥ 2, f(n) is the number of di原创 2017-03-06 21:41:43 · 510 阅读 · 0 评论 -
HDU 5297 Y sequence
HDU 5297 Y sequence 题意:给定正整数n和r,定义Y数列为从正整数序列中删除所有能表示成a^b(2 ≤ b ≤ r)的数后的数列,求Y数列的第n个数是多少。例如n = 10, r = 3,则Y数列为2 3 5 6 7 10 11 12 13 14,第10个数是14。思路:首先我们知道,小于n的平方数有sqrt(n)即pow(n+0.5, 1.0/2)个,立方数有pow(n+0.5, 1.0/3)个.....同理递推。(n+0.5是为了确保精度)值得注意的是,当b是合数时例如b=6时,原创 2017-03-17 00:17:40 · 416 阅读 · 0 评论 -
POJ 1061 青蛙的约会
POJ 1061 青蛙的约会 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只乐观的青蛙,你被要求写一个程序来判断这两只青蛙是否能够碰面,会在什么时候碰面。 我们把这两只原创 2017-03-17 00:32:12 · 355 阅读 · 0 评论 -
快速乘 快速幂 矩阵快速幂
求pow(a, exp)% mod 的值,快速幂其实也是利用了倍增的思想在里面,比如求2^12 = 2^6 * 2^6 = 2^3 * 2^3 * 2^3 * 2^3 = 2 * 2^2 * 2 * 2^2 * 2 * 2^2 * 2 * 2^2 = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2;即求2^12 可以用2^6 * 2^6 再进一步用之原创 2017-01-13 23:00:02 · 545 阅读 · 0 评论 -
HDU 6069 Counting Divisors 2017 多校
题目链接赛时没有做出来是我的锅,各种骚操作都没过,想到大数分解上去了,其实本题没这个必要。 题意很简单, 求区间[l, r]内每个数的k次方的所有因子个数。这里需要知道一点前导知识: 对任意一个自然数都可以唯一分解为: n=pα11⋅pα22⋯pαss ~~ n = p_1^{\alpha_1} \cdot p_2^{\alpha_2} \cdots p_s^{\alpha_s}~~ 其原创 2017-08-05 00:20:20 · 915 阅读 · 0 评论