牛客周赛 Round 51题解
牛客周赛 Round 51
D:题意:给定一个1e6长度的十进制数a和一个1e9范围的b,求解gcd
Solution:考虑用python直接做,发现TLE了,python确实比较慢。考虑本题的关键在于gcd算法的本质 ,所以我们只需要模拟这个发现,我们只需要提前计算a%b即可,然后再用普通gcd就可以。
E:https://ac.nowcoder.com/acm/contest/86034/E
从(1,1)走到(n,n),定义路径权值为路径上经过的点权中最大值,求所有路径中的最小路径权值。
Solution:显然答案具有二分性,考虑check函数,转化为判定终点在当前限制条件下能不能到达。限制条件是:路径走过的点权值不超过x。
F:链接:https://ac.nowcoder.com/acm/contest/86034/F
给定一个数组,有
Sol:题意为维护最大子段绝对值和,区间询问。
因此可以用线段树维护区间最大子段和区间最小子段和,维护区间最大子段和只需在每个节点出维护区间元素和,包含左端点的最大子段和,包含右端点的最大子段和以及整体的最大子段和(或者开两棵树,但是常数会大,实现不优秀的会T)。
上述做法可能有点卡常,注意到原问题等价于最大化
由于外层有绝对值,只需让y和x-1分别取到区间中前缀和的最大值和最小值处即可,y和x-1的位置关系不会影响答案。
因此只要查询前缀和数组中区间最大值和最小值,用线段树或者st表均可。
注意:对于减数的取值必须取到[L-1,R],边界不能漏了,考虑可能相反数。被减数的范围[L,R],所有情况都覆盖了。max/min的正负决定了四种情况都要考虑。注意换一个ST板子,当前这个对于函数max/min不能自己决定。
代码2
__EOF__

本文作者:爱飞鱼
本文链接:https://www.cnblogs.com/mathiter/p/18303374.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/mathiter/p/18303374.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
分类:
牛客总结
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!