2026钉耙热身拉马努金解算法题如何成为?
摘要:原帖地址:https:www.cnblogs.comReisentyanp19797332 [2026钉耙热身]拉马努金解算法题 逐渐注意到了视力对于算法竞赛的影响(其实是直觉) 直觉和积累是必要的,所以开了这篇专题文章,用于记录
原帖地址:https://www.cnblogs.com/Reisentyan/p/19797332
[2026钉耙热身]拉马努金解算法题
逐渐注意到了视力对于算法竞赛的影响(其实是直觉)
直觉和积累是必要的,所以开了这篇专题文章,用于记录写的算法题,以及如何想到答案。
大部分时候,找不到题目的答案,也找不到会的人。所以不会的题我使用 ai 辅助,加速学习。
[1004 小z的开箱]
题面
最近,小 z 沉迷在鸭科夫中挖矿,为了更快的获得 btb,小 z 希望每次外出探索开箱都能开出显卡,但很遗憾的,小 z 最近有点倒霉,天天开出了土豆,于是小 z 希望能从幸运女神那里得到一条幸运项链来拯救一下自己的运气。
幸运女神给了小 z 一颗初始幸运值为 0 的幸运宝石,并告诉小z,在一条环形路上存在着 \(n\) 颗幸运宝石,第 \(i\) 颗宝石的幸运值为 \(a_i\)。
小 z 初始可以选择传送到环形路上的任意地方,并选择一个方向一直前行(不可回头),直到回到初始位置,小 z 可以自由选择是否吸收路上的幸运宝石。
但由于幸运女神认为质数更能带来幸运,于是小 z 手上的幸运宝石只能保存质数的幸运值,也就是说,当小 z 每吸收一颗幸运宝石,他手中的宝石的幸运值为小于等于手中宝石和吸收宝石幸运值之和的最大质数,若不存在则为 0。
小z希望最后得到的宝石幸运值最大,请你告诉他最大的幸运值是多少。
数据范围
第一行输入一个数 \(T\),表示测试组数。
每组数据第一行输入宝石的个数 \(n\)。
接下来输入一行输入 \(n\) 个数 \(a_i\),表示每颗宝石的幸运值。
数据保证 \(1 \le T \le 10\),\(1 \le n \le 10^5\),\(1 \le a_i \le 10\)。
解题:
我们将使用拉马努金瞪眼法解决这一题
注意到:\(a_i \le 10\)。
所有宝石的幸运值在 10 以下?很容易的注意到,第 31 个质数到第 32 个质数的差值为 14,所以无论如何都无法达到第 32 个质数之后。
也就是说,使用枚举。我们枚举每一个点,每一个方向,从这个地方开始,一直找,直到找到下一个可以提升自己宝石的幸运宝石。
