U455629 9.寻声暗问弹者谁(二元分式不定方程)题解
  • 板块题目总版
  • 楼主liuyuantao
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/8/7 23:14
  • 上次更新2024/8/8 09:08:15
查看原帖
U455629 9.寻声暗问弹者谁(二元分式不定方程)题解
1167837
liuyuantao楼主2024/8/7 23:14

题目传送门

若去分母,则 n(x+y)=xyn(x+y)=xy ,难以下手
分析容易得到 x,y>nx,y>n ,
不妨设 x=n+a,y=n+bx=n+a,y=n+b (a,b为正整数)(a,b为正整数)
代入,得 n2=abn^2=ab
此时满足方程的 a,ba,b 组数与原方程组数相同
令 n=p1a1p2a2...pnan(pi均为质数,ai为正整数)n=p_1^{a_1}p_2^{a_2}...p_n^{a_n}(p_i均为质数,a_i为正整数),则 n=p12a1p22a2...pn2ann=p_1^{2a_1}p_2^{2a_2}...p_n^{2a_n}
所以有 (2a1+1)(2a2+1)...(2an+1)(2a_1+1)(2a_2+1)...(2a_n+1) 组解
xx 最小时,只需使 a=1,b=n2a=1,b=n^2 即可
得 x=n+1,y=n2+nx=n+1,y=n^2+n
接下来考虑 n=1n=1
显然此时仅有 x=y=2x=y=2
预处理 n\sqrt{n} 以内的素数,一个个筛出幂数即可
时间复杂度 O(n)O(\sqrt{n}),当 n=232n=2^{32} 时为 6553665536,远小于 10810^8
注意 1≤n≤2321\le n \le 2^{32},会卡 unsignedunsigned intint
264+232>264−12^{64}+2^{32}>2^{64}-1,会卡unsignedunsigned longlong longlong
(long)(long) doubledouble 可过,也可高精

2024/8/7 23:14
加载中...