牛客小白月赛47
比赛链接
牛客小白月赛47
D.造桥
题目描述
今天是愉快的周末,牛可乐和牛妹在一起玩游戏。牛妹给了牛可乐 个造桥的零件,每个零件以字符串的形式给出,每个字符串两端的字符是零件的接口,两个零件可以通过连接不同端的接口(一个零件的左端只能连接另一个零件的右端,右端则只能连接左端)得到一个更长的零件,新零件的长度是原零件的长度之和。
牛妹规定,零件不能翻转,且零件左边的接口只能由该零件左边的零件去连接(这意味着,应该按顺序选取零件),右端同理。
牛可乐想得到牛妹的赞许,因此他要想用牛妹给的零件拼接一个尽可能长的桥梁,你能帮帮他吗?
输入描述:
第一行一个整数 , 代表案例数。
对于每一个样例: 第一行一个数 , 表示字符串的个数。
接下来有 行, 每行一个字符串, 每个字符串的长度 。
所有案例的字符串长度的和不超过 。
保证所有字符均为小写字符。
输出描述:
个字符串能拼接的最大字符串长度。
示例1
输入
输出
说明
按顺序依次拼接:号字符串。
解题思路
思维,dp
相当于将每个字符串的第一个字符向最后一个字符连边,权值为字符串长度,从左到右求最大权值之和
-
状态表示: 表示以 结尾的最大权值
-
状态计算:,其中 分别为字符串 的前后字符
分析:当前字符串是否对于 结尾的最大权值之和有贡献
代码
E.牛牛的方格图
题目描述
牛牛: “你喜欢玩数独吗? 。
牛牛有一个 的方格图,每个格子都有自己的颜色,第 行第 列格子上的颜色记为 。
对于任意两个不同位置的颜色相同的点,我们认为其覆盖了一个以它们为对角线上顶点的矩形中的所有点。
严格来说,一个点 被覆盖,当且仅当存在两个点 和 使得以下四个条件都成立:
1:
2:
3:
4:
现在牛牛想知道这张方格图中有多少个顶点尚末被覆盖。
输入描述:
第一行输入两个数 代表方格图的行数和列数。
接下来 行每行 个数描述了方格图中每个格子上的颜色。
输出描述:
输出一行一个整数代表答案。
示例1
输入
输出
说明
6所在方格未被覆盖。
解题思路
思维,二维前缀和
先将同一个颜色的位置提取出来,如果一个颜色出现的位置大于等于 ,则求出覆盖所有点的最小矩形,即找出最大和最小的横纵坐标,设定一个数组 ,表示位于 连续覆盖的最左边的纵坐标,每次标记时可利用此数组快速标记未标记的位置,当然,也可以利用二维前缀和做标记
- 时间复杂度:
代码
- 前缀和
__EOF__

本文链接:https://www.cnblogs.com/zyyun/p/16120122.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框架的用法!