NOI导刊2009 提高一
zzh大佬给我说导刊的题全是普及难度,然而我。。觉得有两道题是提高的
LocalMaxima
题目解析#
对于这个数,它要想成为LocalMaxima,比它大的要全部放到最后去,比它小的想怎么放就怎么放。所以说,这个数能成为LocalMaxima的期望就是, 那么总的期望就是, 于是我们就有了线性的做法,但是这显然是不合乎要求的。
我们知道, 这样的一个调和级数是发散的,不存在极限,但是欧拉曾经证明是收敛的。它的极限是存在的。设这个极限是,被称作欧拉常数。它的近似值约,于是我们有了一个求解的算法,那就是
最长括号匹配
题目解析#
首先我们考虑一下如何判断一个串是不是合法串。
我们只需要抽离一个经典的栈的模型,用左括号压栈,右括号弹栈,只有一个合法的压栈,弹栈序列才是合法的括号串。因为这里有两种括号,因此我们还需要增加一个匹配的条件。
假设我们用储存括号序列,模拟栈,记录第层栈储存的元素在中的下表,top标记栈顶。
几个比较显然的性质:假设在中出现了非法弹栈,那么对于任意区间,则区间必然是非法的,因为弹栈和压栈操作相互独立。
于是不难得出下面的模拟算法:
对于括号对应的操作,如果是压栈,则压栈,若果是合法弹栈,就弹栈,并且更新答案。如果是非法弹栈,就立刻清空栈。最终输出答案。
Magicfingerprint
题目分析#
我们有个很显然的打表算法,由于可以估算出这个序列应该比较分散,所以对于,100kb之内是没有问题的。
我们有一个很显然的反向dfs方法,不停添加位数,然后sort一下, 查询一下就行了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具