[kuangbin带你飞]数论基础的简单题解
来源:互联网 发布:linux退出vi编辑命令 编辑:程序博客网 时间:2024/05/19 16:06
查看题目与代码参考
打星题还没做
Problem A
LightOJ 1370 Bi-shoe and Phi-shoe
欧拉函数+枚举。令k = lucky number+1开始枚举k,直到lucky number
≤φ(k)
Problem B
LightOJ 1356 Prime Independence
*质因数分解+最大独立集。大致的想法是把冲突的2个数连一条边,然后把所有数分成质因子个数(例如8有3个质因子:2,2,2)为奇和偶两部分,以质因子个数为奇为偶构建一个二分图,那么质因子个数同奇或同偶的数一定不是另外一个数的质数倍。
Problem C
LightOJ 1341 Aladdin and the Flying Carpet
质因数分解求约数个数。
n=pa11pa22⋯pass, 那么n的约数个数num(n)=(a1+1)(a2+1)⋯(as+1) .
详解及代码可查看http://blog.csdn.net/qq_15714857/article/details/48558963
Problem D
LightOJ 1336 Sigma Function
判断约数之和奇偶性。一个数
n=pe11pe22⋯pess 的约数之和sum(n)=pe1+11−1p1−1pe2+12−1p2−1⋯pes+1s−1ps−1
也等于
sum(n)=(p01+p11+⋯pe11)(p02+p12+⋯pe22)⋯(p0s+p1s+⋯pess)
可以发现,若pi=2 则(p0i+p1i+⋯peii) 一定为奇数;
若pi≠2 则(p0i+p1i+⋯peii) 只有在ei 为偶数时为奇数;
同时,只要任意一个(p0i+p1i+⋯peii) 为偶数,那么约数之和一定是偶数;反之,若约数之和为奇数,那么除了2之外所有ei 都为偶数,n 一定是x2 ,2x 或2∗x2 的形式,而2x 显然包含在另外两者之中,所以我们减去x2 ,2∗x2 形式的数字即可。
很明显,n 以内x2 形式的数有n√ 个 ,2∗x2 形式的数字有(√n/2) 个,答案即是n−n√−(√n/2)
Problem E
LightOJ 1282 Leading and Trailing
输出一个数的前k位与后k位。前k位利用log10,后k位利用mod10,详解与代码:http://blog.csdn.net/qq_15714857/article/details/48559687
Problem F
LightOJ 1259 Goldbach`s Conjecture
筛素数+枚举。计算一个数可以被表示成两个素数之和的方案数,预处理出n以内的数是否是素数即可。
Problem G
LightOJ 1245 Harmonic Number (II)
long long H( int n ) { long long res = 0; for( int i = 1; i <= n; i++ ) res = res + n / i; return res;}
当除数越大时,所得商就基本不变,那么我们把
n√ 之前的值正常累加,后面的值累计商*商的个数即可,商的个数等于n/商-n/(商+1)。
Problem H
LightOJ 1236 Pairs Forming LCM
统计lcm(i,j)==n的二元组,1<=i<=j<=n.
http://blog.csdn.net/qq_15714857/article/details/48641121
Problem I
LightOJ 1234 Harmonic Number
计算调和数。数学好的话直接用欧拉常数来计算。。euler = 0.5772156649015328606,答案大致等于 log(n) + euler + 1.0 / ( 2 * n ) - 1.0 / ( 12 * n^2 ) + 1.0 / ( 120 * n^4 ),当然这里前三项就够了。也可以分段计算,把n分成100项为一组先预处理出答案,再计算剩余的。
Problem J
LightOJ 1220 Mysterious Bacteria
设
x=bp 已知 x , 求最大的 p 。
枚举b即可。。但要注意x若为负数的话要求p必须为奇数。
Problem K
LightOJ 1214 Large Division
高精度计算一个数能否被另一个数整除。怕麻烦用java,不怕的话模拟一下
ans = ( 10 * ans + ( a[i] - '0' ) ) % b
,后者必前者快三十多倍。
Problem L
LightOJ 1213 Fantasy of a Summation
找规律。
ans = k * sum % MOD * fast_pow( n , k - 1 , MOD ) ;
Problem M
LightOJ 1197 Help Hanzo
区间筛素数裸题。
Problem N
LightOJ 1138 Trailing Zeroes (III)
n! 尾部有q个0,求最小n。阶乘结果分解成质因数幂相乘之后,尾部0的个数就等于5的幂,故x! 尾部有 x/5 + x/25 + x/125 + x/625 +… 个零 ,二分答案即可。
Problem O
UVA 11426 GCD - Extreme (II)
输入n,求
gcd(1,2)+gcd(1,3)+gcd(2,3)+...+gcd(n−1,n) 大白书例题。
设
那么答案f(n)=gcd(1,n)+gcd(2,n)+...+gcd(n−1,n) S(n)=f(1)+f(2)+...+f(n) 。
gcd(x,n) 的值均为n的约数,枚举n的约数i,
gcd(x,n)=i 则gcd(x/i,n/i)=1 ,
故满足条件的 x/i 有φ (n/i)个。那么f(n)=∑i|nφ(n/i)∗i
Problem P
UVA 11754 Code Feat
*大白书例题,dfs+CRT。
Problem Q
UVA 11916 Emoogle Grid
*大白书例题,离散对数。
Problem R
POJ 1061 青蛙的约会
模线性方程。简而言之就是求解
(m−n)∗t=(x−y)modL
Problem S
POJ 2115 C Looooops
模线性方程。简而言之就是求解
c∗x=(b−a)mod2k
Problem T
POJ 2116 Death to Binary?
*fibonacci+模拟。巨麻烦的模拟题。。
Problem U
HDU 2161 Primes
素性检测裸题。
Problem V
UVA 11827 Maximum GCD
输入处理+暴力。
Problem W
UVA 10200 Prime Time
预处理一下然后直接查询。。
Problem X
SGU 106 The equation
扩展欧几里得的应用。
很好的题解 :
http://www.cnblogs.com/Rinyo/archive/2012/11/25/2787419.html
求解ax+by+c=0 在指定区间内的整数解 ,我们可以考虑ax+by=c 在指定区间内的整数解 , 当b/| gcd(a,b) 显然无解。
令d=gcd(a,b) 我们就可以把原方程转化为
然后通过扩展gcd便可得到一组可行解a/d∗x+b/d∗y=c/d (x0,y0) ,则其余解即为x=x0+kb,y=y0−ka ,结合约束条件即可得到答案。
Problem Y
POJ 2478 Farey Sequence
F(n)=F(n−1)+φ(n)
Problem Z
UVA 11752 The Super Powers
枚举+筛素数。
令x=an ,预处理每一个数是否是素数,当 n 不是一个素数也不是1的时候,n 即可分解,x 便符合题意。
- [kuangbin带你飞]数论基础的简单题解
- [kuangbin带你飞]专题十四 数论基础——A 题解
- kuangbin带你飞 专题一 简单搜索 (题解)
- [kuangbin带你飞]专题十四 数论基础 (数论)(fmod)
- [kuangbin带你飞]专题十四 数论基础-C - Aladdin and the Flying Carpet
- [kuangbin带你飞]专题十四 数论基础 F - Goldbach`s Conjecture (线性素数筛)
- [kuangbin带你飞]专题九 连通图 题解报告
- [kuangbin带你飞]专题十四 数论基础 C - Aladdin and the Flying Carpet (线性素数筛,分解质因数)
- 【 题集 】 【kuangbin带你飞】专题十二 基础DP1
- kuangbin带你飞 专题十二 基础DP1
- [kuangbin带你飞]专题十二 基础DP1 O POJ3186
- [kuangbin带你飞]专题十二 基础DP1
- [kuangbin带你飞]专题十二 基础DP1
- [kuangbin带你飞]专题十二 基础DP1 -B
- [kuangbin带你飞]专题十二 基础DP1 C
- [kuangbin带你飞]专题十二 基础dp1
- [kuangbin带你飞]专题十三 基础计算几何A
- [kuangbin带你飞]专题十二 基础DP1
- scala中用implicit实现依赖注入
- android开发步步为营之80:android多线程总结
- 类型进阶
- js函数对象的总结
- (2)Java开发和运行环境的搭建详解
- [kuangbin带你飞]数论基础的简单题解
- 第4周项目4- 建设双链表算法库
- 文件代码模板的使用
- W3school学习笔记之HTML5
- block 传值 遇到的出错点:Thread 1:EXC_BAD_ACCESS(code=1,address=0x10)
- js学习注意知识
- 用Tor进入“深网”
- 超详细图解:自己架设NuGet服务器
- Triangle