10.30 CF1685 题解
10.30 CF1685
A.Circular Local MiniMax
题意
给你
题解
直接排序然后按照 check
一下合不合法就行了。
B.Linguistics
题意
给你一个 AB 串
题解
首先我们把连续的
例如样例 BBABABABABBBABABABABABABAABABA
,
我们分离成 B[BABABABAB]B[BABABABABABABA][ABABA]
我们发现分离之后单个的 A/B
只能用单个的填,我们就只用考虑连续交替串。
我们把连续交替串按照长度奇偶分为两类:
-
长度为奇数,开头结尾重复了一个一样的,例如
[ABABA]
我们填它的方法是用 1 个开头结尾出现的单个字符A
和 个AB/BA
。 -
长度为偶数,例如
[BABABABABABABA]
,就有两种情况:-
1.用
个BA
填充。 -
2.用
个AB/BA
填充,用 1 个A
和 1 个B
填充。
-
因为 1 个 A
和 1 个 B
可以拼成一个 AB/BA
,所以我们尽量要先消耗 AB/BA
,保留 A/B
。
长度为奇数的填充方法是唯一的,我们先贪心考虑长度为偶数的。
先按长度从小到大排序,能用方法 1 填的尽量用方法 1,这样消耗的单个 A/B
是最少的。
剩下的记录 AB/BA
都可以选的然后判断
注意 1 个 A
和 1 个 B
可以拼成一个 AB/BA
。
C. Bring Balance
题意
给你一个括号序列,你可以翻转任意子串,问最少几次反转成合法括号序列。
翻转指 ABC->CBA
。
题解
看到括号序列就先想把折线图画出来。
样例 ())((()))(()
。
把 (
看做 )
看做
我们发现操作区间
我们发现找出全局最高的点
接下来考虑只操作一个区间
首先在
在区间内找一个最高的点,这样
然后 check
一下合不合法。
注意特判不需要操作的情况。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App