2024.11.6训练记录
今天主要是做的单个题。
下次打模拟赛就是放假了。怕会有段时间没打手感下降/ll。
csp-J2024 D
dp。
f[i][j]表示,第i轮结束后,最终颜色是j的结束位置。
f[i][j] = -1:状态不能达到。
f[i][j] = 0 :可以在多个人处结束。(即有大于等于2个序列中的j颜色可以被转到)
f[i][j] = l :只有在第l个人处的j颜色能被转到。
考虑转移:第i轮时,枚举第r个序列中的位置j。当f[i - 1][a[j]] \neq -1 且 \neq r时,j后面的k个位置都可以作为结尾。
即f[i][[j + 1, j + k - 1]]都可以赋为r。
这里不用做区间赋值,而是维护当前这个位置和上一个满足条件位置的距离\leq k。
当f[r][c]为-1时,不能完成接龙,其余情况都可以。
这题难处理的其实是如何避免自己跟自己接龙,即避免在同一个序列中转移。自己想的方法就没考虑到这点。
赛时还真不一定做得出来。遗憾的。
这里记录f[i][j]只有一个时的情况就是为了避免这种情况。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?