AtCoder ABC 312 复盘
A Chord
一道水题,直接 if
判断字符串解决。
B TaK Code
也是一道水题,只需要枚举每个点做为左上角然后判断是否合格即可。
C Invisible Hand
第一眼看到就知道是二分。但是,因为我天真地把左右边界设为数组最小最大值而非 $0$ 和 $10^9+1$,从而 WA 了 $\LARGE{\texttt{N}}$ 次……时间复杂度 $O(n\log n)$。
D Count Bracket Sequences
首先可以想到 DFS 搜索每一个问号替换后的状态,时间复杂度 $O(3^n)$,显然会爆炸。
考虑 DP,这里我们的状态是第 $i$ 个字符到第 $j$ 个字符的子串中至多能有多少个括号序列,初始状态为第 $0$ 个字符到第 $0$ 个字符的子串中之多能有 $1$ 个括号序列,转移方程是
$$ f_{i+1,j+1}=(f_{i+1,j+1}+f_{i,j})\bmod 998244353\ (s_i=\texttt{)})$$
$$ f_{i+1,j-1}=(f_{i+1,j-1}+f_{i,j})\bmod 998244353\ (j\ne 0,s_i=\texttt{(}) $$
时间复杂度 $O(n^2)$。
F Cans and Openers
这道题可以使用贪心。首先,将易拉罐的幸福度降序排序并求和,我们可以求出对于每个 $t$ 在选择 $t$ 个易拉罐时的最大幸福感。因此,只需要知道对于每个 $s$ 在选择 $s$ 个普通罐头和开罐器时的最大幸福感即可。然后,将普通罐头的幸福度和开罐器的使用次数升序排序,如果还有一个可用的开罐器,就选择一个幸福感最大的普通罐头;否则,选择一个能打开最多罐头的开罐器。时间复杂度 $O(n\log n+n)$。
__EOF__

本文作者:TigerTanWQY
本文链接:https://www.cnblogs.com/TigerTanWQY/p/17988117.html
关于博主:GD-SZ 初一蒟蒻,明年拿下六级勾
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/TigerTanWQY/p/17988117.html
关于博主:GD-SZ 初一蒟蒻,明年拿下六级勾
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现