【题解】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 有两个质因数,最小的一定 k31,622,776。发现还是太大了。

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

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

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

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

    正确的做法有下面两个:

    1. exgcd

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

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

      之前对 exgcd 的理解

    2. 直接从式子入手

      一定有:qbn(moda)q=nb1(moda)

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

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

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

  3. k 有至少三个质因数,那么最小的一定 k13=105

    这样就很可观了,每次暴力去连边,边数大概为 k13logk,跑一遍 dijkstra 即可。

22min


「tenka1E」Polynomial Divisors

乱搞。

首先 gcdi=1nai 及其因子一定是合法的(这样可以处理一些很大的答案。

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

所以,我们直接枚举 28000,然后随机 20 个数作为 xO(n) check。

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


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

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


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

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



跳跳棋

不会。

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

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

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

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


「NOIP2017」小凯的疑惑

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

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

首先,p0,q0 的时候一定是合法的。

所以我们让 q<0,又因为我们要让 b 最大,那么 q 就取 1pb1

此时 xmax=(b1)ab=abab

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

posted @   CloudWings  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
历史上的今天:
2023-10-24 【笔记】Tricks 汇总
2023-10-24 【比赛】2023 CSP-S 总结
2023-10-24 【总结】易错汇总
点击右上角即可分享
微信分享提示