51nod 1820 长城之旅
或许是全网第一篇能看的题解 (?)
首先\(\text{lcm}(a,b)=\frac{a\times
b}{\gcd(a,b)}\)
根据定义可以证明。
关于\(\gcd\)的一个结论。
\(\gcd(k^{2^l}+1,k^{2^r}+1)=(k\& 1)?2:1\
,r>l\)
分类讨论一下 1. \(k\%2=0\)时,假设\(k^{2^l}+1\)有约数\(d\),即\(k^{2^l}\equiv -1\pmod d\),又\((k^{2^l})^{2^j}=k^{2^{l+j}},j\ge0\),所以\(k^{2^r}\equiv 1\pmod d\),\(k^{2^r}+1\equiv 2\pmod 2\) ,所以\(k^{2^l}+1\)的约数都不是\(k^{2^r}+1\)的约数,当然\(d=2\)需要单独讨论一下,显然\(k^{2^l}+1\)是奇数。 2. \(k\%2=1\)时,唯一区别是\(k^{2^l}+1\)是偶数,\(\gcd=2\)
所以做法就比较显然。
模数是\(2\)的单独处理。
\(k\%p=0\),显然答案是\(1\)
其余情况,假设\(a=k^{2^l}\)
则乘积等于\((a+1)\times (a^{2^1}+1)\times
(a^{2^2}+1)\times ... \times (a^{2^{r-l}}+1)\)
因为每个括号要不选前一个,要不选后一个,所以最后答案是\(\sum_{i=0}^{2^{r-l+1}-1}a^i\),这东西显然是个等比数列求和。
注意此时只是算出了所有数乘积,最后如果\(k\)时奇数还得除一个\(2^{r-l}\)。
1 |
|
51nod 1820 长城之旅
https://widsnoy.top/posts/81a4/