「洛谷P5497」[LnOI2019SP]龟速单项式变换(SMT) 题解

题目

思路

$$令s_i=a_1+a_2+\dots+a_i$$
$$m|(a_l+\dots+a_r)\iff s_r\equiv s_{l-1}\pmod{m}$$
$$根据鸽巢原理可得:$$
$$\begin{aligned}
&\exists x,y\in[0,n]\cap Z:s_x\equiv s_y\pmod{m}\\
\iff &n+1个数分成m类,至少有一类至少有两个\\
\iff &n+1>m\\
\iff &n\ge m
\end{aligned}$$

代码

这么简单的代码有看的必要吗

int main () {
  ll n, m;
  read(n), read(m);
  puts(n >= m ? "YES" : "NO");
  return 0;
}

本博客采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可
本文链接:https://blog.seniorious.cc/2019/luogu-5497/