原题链接
为了凑 mex(k) ,[0,k−1] 内的数至少要出现一遍,这些数总共有 k 个,总和为 sum=(k−1)⋅k2
所以,如果 n<k 或者 s<sum,都不行。
所以,剩余 n−k 个数的构造要满足 ∑1n−kai=s−sum,且 k 本身不能选。
我们可以采取极端方法构造
首先,如果 s−sum≠k 且 k≠0 ,那么我们可以构造一个 s−sum ,然后剩余数都填 0
如果 s−sum==k ,这表明,我们需要至少两个比 k 小的数来弥补一个 k,这个构造需要 n−k>1(能拼出两个数) 且 k>1(能拆开成两个比 k 小的数)
如果 k==0,那么代表最小的数为 1,所以如果 n−k>s−sum,肯定无法构造,反之一定可以(先全部构造1,然后剩余的数随便加)
如果两个都满足,不可能,因为 k==0 时,sum 也为零,而 s 至少为一
欢迎提问
比官方题解更容易理解
是刘老师的作业无疑了[doge]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~