JZOJ3456. 【NOIP2013模拟联考3】恭介的法则(rule)(2017.8B组)
2017-08-18 19:03
211 查看
https://jzoj.net/senior/#main/show/3456
想法:
要求找满足1/x+1/y=1/n!的对数(x,y)
即要求(x+y)/(x*y)=1/n!的对数
xy/(x+y)=n!
xy=n!(x+y)
考虑通过x求y
xy=n!x+n!y
-n!x=n!y-xy
n!x=xy-n!y
n!x=(x-n!)y
n!x/(x-n!)=y
都要为正整数
于是要求x-n!|n!x
设k=x-n!
k|n!(n!+k)
k|n!n!+kn!
k|n!n!
答案变成求n!n!得约数个数
如果一个数=(p1^q1)*(p2^q2)……..(pz^qz)
约数个数=(q1+1)(q2+1)(q3+1)(q4+1)
(n!)^2=(1^2)(2^2)(3^2)….(n^2)
求出n的每个质因数的指数,那么指数*2就求出了n!的每个质因数指数,
然后线性即可求出每个数的质因子(线性筛法时记录每个数被筛的最小质因子,递归跳)
高精度压位+常数优化
想法:
要求找满足1/x+1/y=1/n!的对数(x,y)
即要求(x+y)/(x*y)=1/n!的对数
xy/(x+y)=n!
xy=n!(x+y)
考虑通过x求y
xy=n!x+n!y
-n!x=n!y-xy
n!x=xy-n!y
n!x=(x-n!)y
n!x/(x-n!)=y
都要为正整数
于是要求x-n!|n!x
设k=x-n!
k|n!(n!+k)
k|n!n!+kn!
k|n!n!
答案变成求n!n!得约数个数
如果一个数=(p1^q1)*(p2^q2)……..(pz^qz)
约数个数=(q1+1)(q2+1)(q3+1)(q4+1)
(n!)^2=(1^2)(2^2)(3^2)….(n^2)
求出n的每个质因数的指数,那么指数*2就求出了n!的每个质因数指数,
然后线性即可求出每个数的质因子(线性筛法时记录每个数被筛的最小质因子,递归跳)
高精度压位+常数优化
相关文章推荐
- 【NOIP2013模拟联考3】恭介的法则(rule) (Standard IO)
- JZOJsenior3456.【NOIP2013模拟联考3】恭介的法则(rule)
- 【NOIP2013模拟联考3】恭介的法则(rule)
- JZOJ3457. 【NOIP2013模拟联考3】沙耶的玩偶(doll) (2017.8B组)
- 【NOIP2013模拟联考6】选课(select)
- JZOJ 3468. 【NOIP2013模拟联考7】OSU!(osu)
- 3472. 【NOIP2013模拟联考8】匹配(match)
- 【NOIP2013模拟联考14】图形变换(transform)
- SSL2864 【NOIP2013模拟联考15】物语(spfa优化)
- 【NOIP2013模拟联考12】数数(数位dp||类欧几里得)
- 【NOIP2013模拟联考5】军训(training) 题解+代码
- 高中OJ3494. 【NOIP2013模拟联考13】线段(segment)
- JZOJ3426. 【NOIP2013模拟】封印一击 (2017.8B组)
- JZOJ3455. 【NOIP2013模拟联考3】库特的向量(code)
- JZOJ 3498【NOIP2013模拟联考14】图形变换
- [jzoj]3499. 【NOIP2013模拟联考15】人类基因组(genes) (单调队列、前缀和、线段树解一题)
- jzoj 3467. 【NOIP2013模拟联考7】最长上升子序列(lis) dfs+lis+手工栈
- 【NOIP2013模拟联考15】人类基因组(genes)
- 【NOIP2013模拟联考7】OSU
- 【NOIP2013模拟联考5】军训(training) 题解