蓝桥杯国赛训练第二周
-
1|0Coloring Brackets
一道区间DP好题
一开始以为有多种不同的括号匹配次序而导致自己一头大雾wuw,首先看到括号匹配就要想到用栈来求出每个括号对应的匹配项,对于一个区间来说,其左括号一定是具有与之对应的右括号存在时染色才有意义,所以我们要求出每个括号对应的位置
接下来考虑如何求出方案数:
对于一个相邻的完整括号即:()
这种我们的染色的方案数一定是对于每种情况都是一种,即:
接下来考虑左括号与右括号相匹配,那么这种情况我们要求在这个区间内的所有括号的染色方案数均被求出,这样我们才能向外扩展,也就是从
其它情况同理
对于左端点和右端点的括号不匹配,那么我们就需要寻找左端点对应匹配的位置,并且其相邻位置不应该同色,那么就有:
为什么是相乘呢?因为左区间所有的情况只适用于右区间的一种情况,也就是乘法原理,不懂的可以去看下,至此就结束了
-
2|0Shuffling Songs
这是我比赛的时候遇到的一道题目,当时没做出来,首先先看数据范围,这么小大概率是状压,然后考虑如何转移,对于所有的状态,我们可以枚举以歌曲
-
3|0Rudolf and k Bridges
一眼单调队列优化
-
4|0[USACO11OPEN] Mowing the Lawn G
首先考虑暴力,设我们当前在位置i,那么我们此时能够获得的最大贡献为
我们可以在区间
用前缀和优化一下的话就是:
此时的复杂度为
由于
-
5|0重建道路
给出一些子树,很明显我们可以求出所有子树的大小,那么我们就能把题意转化为:选择一些子树,使得这些子树的大小恰好等于k且尽可能的小.这不就是背包吗?所以我们要进行树上背包:一开始我是求错了,我直接对每个子树都进行了一遍背包,也就是
-
6|0[USACO12MAR] Cows in a Skyscraper G
对于这道题目,根据数据范围考虑状压,设
__EOF__

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