CF edu 175 刷题笔记
记数值为
易知:要使
那么满足的条件的数就是
想到了王国边缘这道题,一开始还以为是倍增,后面想了想发现直接模拟就行了。
首先看能不能走到
其实我这道题做复杂了(还是太爱 st 表了)。
还是讲一下原先的思路吧。首先有两个 observation:
补:对于
又不难发现答案是具有单调性的,所以想到二分答案,每次断定一个答案
这个“尝试覆盖”的话就是当我们考虑以
但是我们直接枚举这样的块是不行的,需要用双指针进行优化,预处理出所有“需改变块”最远能覆盖的位置。至于看覆盖段中有没有红块的惩罚值比当前答案大就可以用 st 表进行维护,总的时间复杂度为
后来看了题解才发现根本不用 st 表,因为覆盖的这一段开头一定是“需改变块”,段中一定是蓝色的,或者红色的但是惩罚值
在 check 时直接用双指针判断就行了。
vp 时没做出来,主要是不知道状态如何设计,后面看题解理解了。
求树上合法路径数目,很容易想到树形 dp,那么在集合划分时可以依据路径的终点或起点来划分,这里多选择用终点划分(可以类比子序列问题)。
具体地,设
由于从根出发可以到所有相邻点,所以把这些点的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现