【题解】Solution Set - NOIP2024集训Day60 数学

【题解】Solution Set - NOIP2024集训Day60 数学

https://www.becoder.com.cn/contest/5664


「CF986F」Oppa Funcan Style Remastered

显然离线,然后把相同的 \(k\) 一起算。

对于一个 \(k\),暴力一点,拿出其所有质因数,然后做同余最短路。

复杂度取决于点数,而点数取决于 \(k\) 的最小质因数。

  1. \(k\) 是质数。直接 check 即可;

  2. \(k\) 有两个质因数,最小的一定 \(\le\sqrt k\approx 31,622,776\)。发现还是太大了。

    仍然考虑特判。设两质因数为 \(a,b\),就是判 \(pa+qb=n(p,q\in\mathbb N)\) 是否有解。

    (FAKE)一眼裴蜀定理,当且仅当 \(\gcd(a,b)|n\)

    \(a,b\) 均为质数啊,\(\gcd(a,b)|n\) 恒成立啊。

    问题在于,裴蜀定理并没有要求 \(p,q\) 均为自然数(也就是说允许减法,这与题意不符。

    正确的做法有下面两个:

    1. exgcd

      求出 \(p\) 的最小非负数解,然后反代回去解出 \(q\)

      因为此时 \(p\) 也即最小的合法解,可以证明此时 \(q\) 取最大值,如果其仍为负数那么一定无解。

      之前对 exgcd 的理解

    2. 直接从式子入手

      一定有:\(qb \equiv n \pmod{a}\implies q=nb^{-1}\pmod{a}\)

      此时的 \(q\) 的数值上是正确的(并且由于取模也一定是最小的解),而符号是任意的(我们可以钦定其为正),同时 \(a\) 一定是整数,只需带回去看:\(b\times (nb^{-1}\bmod a)\le n\) 来判定 \(a\) 的符号即可。

    本质上上面两种做法是相同的:都是找到其中一个变量的最小合法解,然后再反代回去判断另一个。

    做法二如果 \(a\) 不为质数,那么在形式上两者应该完全一致了。

  3. \(k\) 有至少三个质因数,那么最小的一定 \(\le k^\frac13=10^5\)

    这样就很可观了,每次暴力去连边,边数大概为 \(k^\frac13\log k\),跑一遍 dijkstra 即可。

22min


「tenka1E」Polynomial Divisors

乱搞。

首先 \(\displaystyle\gcd_{i=1}^na_i\) 及其因子一定是合法的(这样可以处理一些很大的答案。

然后我们发现剩下的答案都比较小(大概不会超过 \(8000\)

所以,我们直接枚举 \(2\sim 8000\),然后随机 \(20\) 个数作为 \(x\)\(O(n)\) check。

时间复杂度是对的,正确性应该也挺对的(


正确性很高的原因(from. spdarkle

我们的答案出错当且仅当 \(x\)\(p\) 有公共因子,而我们随机了 \(20\) 次,对于一个质因子,只要在某一次随机里面其与 \(p\) 没有公共因子就是对的,故而我们的正确率在 \(\dfrac 1{2^{20}}\) 左右。(整个过程其实类似于 sum-hash


ybC202413 有必要性的可能正解(?

然后 spdarkle 证明了其是充分的、



跳跳棋

不会。

https://www.luogu.com.cn/article/s4k6yxmb

这些性质都非常的显然,但是这个建模是真的没想到啊。

主要是要注意到操作一共两类:一种向内;两种向外。

而这两种操作是互逆的,并且处于向内的唯一性,联想到树上父亲的唯一性,故而建出二叉树的模型。


「NOIP2017」小凯的疑惑

https://www.luogu.com.cn/article/hth3bc8e

设金额为 \(x=pa+qb(p<b)\)

首先,\(p\ge 0,q\ge 0\) 的时候一定是合法的。

所以我们让 \(q<0\),又因为我们要让 \(b\) 最大,那么 \(q\) 就取 \(-1\)\(p\)\(b-1\)

此时 \(x_{\max}=(b-1)a-b=ab-a-b\)

(感觉怪怪的,但是又不能说她错。

posted @ 2024-10-24 08:57  CloudWings  阅读(16)  评论(0编辑  收藏  举报