[Luogu]P1286 两数之和
Description
我们知道从个非负整数中任取两个相加共有个和,现在已知这个和的值,要求这个非负整数。(多组数据,)。
Solution
很妙的思路呀。。考试的时候已经接近正解了,但还是没想出来
我们设这个原来的数分别为,且
这个数两两相加,最小的两个数肯定是和。然后我们再枚举(最多只有种可能),就可以把都算出来。
我们再把都删掉,剩下的最小的一定就是。从而算出。再用算出的把都删掉。
重复这种操作,如果最后个数恰好都被删掉,则这是一种合法情况,否则就继续枚举。
这样的复杂度是的。
Tips
这样做复杂度比较高,要加一些优化。
首先是如果运算过程中,有某个原数的值,则肯定不合法。
然后注意判断一定为偶数。
删掉序列中某个特定的值可以用(还可以排序)。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 上周热点回顾(1.20-1.26)