UVA1384 题解

一句话题意:

\(\sum \limits_{i=1}^{n} \sum \limits_{j=1}^i \left[ \left( \sum \limits_k \left \lfloor \dfrac{i}{p^k} \right \rfloor -\left \lfloor \dfrac{j}{p^k} \right \rfloor -\left \lfloor \dfrac{i-j}{p^k} \right \rfloor \right)=0 \right]\),保证 \(p\) 为质数。

因为

\[j \le i \]

所以

\[\left \lfloor \dfrac{i}{p^k} \right \rfloor -\left \lfloor \dfrac{j}{p^k} \right \rfloor -\left \lfloor \dfrac{i-j}{p^k} \right \rfloor \ge 0 \]

并且

\[(i-j) \bmod p^k \ge 0 \]

因为

\[\begin{aligned} \left \lfloor \dfrac{i}{p^k} \right \rfloor -\left \lfloor \dfrac{j}{p^k} \right \rfloor -\left \lfloor \dfrac{i-j}{p^k} \right \rfloor & = \dfrac{i - i \bmod p^k}{p^k} - \dfrac{j - j \bmod p^k}{p^k} -\dfrac{(i-j) - (i-j) \bmod p^k}{p^k} \\ & = \dfrac{j \bmod p^k - i \bmod p^k + (i-j) \bmod p^k}{p^k} \end{aligned} \]

所以,当

\[\left \lfloor \dfrac{i}{p^k} \right \rfloor -\left \lfloor \dfrac{j}{p^k} \right \rfloor -\left \lfloor \dfrac{i-j}{p^k} \right \rfloor =0 \]

时,有

\[\dfrac{j \bmod p^k - i \bmod p^k + (i-j) \bmod p^k}{p^k} = 0 \]

\[j \bmod p^k - i \bmod p^k + (i-j) \bmod p^k = 0\]

\[j \bmod p^k - i \bmod p^k = -(i-j) \bmod p^k \le 0\]

所以

\[\sum \limits_k \left \lfloor \dfrac{i}{p^k} \right \rfloor -\left \lfloor \dfrac{j}{p^k} \right \rfloor -\left \lfloor \dfrac{i-j}{p^k} \right \rfloor =0 \Leftrightarrow i \bmod p^k \ge j \bmod p^k \]

所以如果将 \(i\)\(j\) 转换为 \(p\) 进制,则 \(i\) 的第 \(k\) 位大于等于 \(j\) 的第 \(k\) 位。

又因为 \(i \le n\)\(j \le n\),则在 \(p\) 进制下,\(i\) 的第 \(k\) 位和 \(j\) 的第 \(k\) 位都小于等于 \(n\) 的第 \(k\) 位。

所以只要将 \(n\) 转换为 \(p\) 进制,在将每一位 \(+1\) 相乘就得到结果了。

posted @ 2020-09-12 07:31  ฅ(OωO)ฅ  阅读(92)  评论(0)    收藏  举报
"scale": 1 }, "display": { "position": "left", "width": 100, "height": 200, "hOffset": 70, "vOffset": 0 }, "mobile": { "show": true, "scale": 0.5 }, "react": { "opacityDefault": 0.7, "opacityOnHover": 0.2 } }); window.onload = function(){ $("#live2dcanvas").attr("style","position: fixed; opacity: 0.7; left: 70px; bottom: 0px; z-index: 1; pointer-events: none;") } -->