2025.2.15 noip模拟赛
T1
题目大意:
有一个互不相同数组,现请你找出一对整数
解题思路:
首先考虑当
考虑
但当
因为我们可能会出现整数
那么可能会出现
但这种情况直接取反集即可。
因为
总结:
感觉挺需要脑洞的。
下次看到这种类型的题,可以先找一下有什么性质。
就比如 m 是质数,就能保证
然后枚举其实也可以不用特别呆板。
可以枚举类似乘积的东西,然后考虑其中一个因子有什么性质。
T2
题目大意:
给定一个
解题思路:
先考虑暴力 dp。
然后发现转移就可以抽象成:
求有多少长度为
由于要求
那么设
那么有两种转移:
可以证明这是可以全部转移到的。
第一个转移的意思就是新加进一个不合法的数字,由于要求不一样,所以要将其他的+1。
第二个转移就是直接整体 +1。
所以这样是
总结:
挺套路的,但感觉这种不好直接对限制做 dp 可以通过容斥将问题转化的更简单。
T3
题目大意:
给定一个 n 个点,m 个边的图。
保证了
赛时思路:
就是考虑暴力分块,当块长足够大时,那么只有相邻两个块才会有交集。
所以时间复杂度就是
卡不过去...
解题思路:
考虑在线不好做,那么离线考虑。
由于合并一次时间复杂度是
考虑猫树,预处理出
时间复杂度:
路径压缩的常数。
总结:
分块的优势在于能够比较慢地支持修改以及一些复杂地查询,不过时间复杂度较高,得先确定没有更优地算法再写。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探