Educational Codeforces Round 147 (Rated for Div. 2) 题解

A#

Link。

模拟,代码

B#

Link。

模拟,代码

C#

Link。

我们设 c 为最后相同的字符。

性质:我们一定不会删除字符 c

因此以 c 为最后字符的操作次数就是不包含字符 c极大段的最小操作次数的最大值。

对于一个长度为 l(l1) 的段,它的最小操作次数为 log2l+1

时间复杂度:O(n)

代码

D#

Link。

  • 枚举最后一个选的线段是哪一条。
  • 选一条线段的代价是 2,一次是『激活』一次是『不激活』。
  • 前面一定是长度最小的几条线段不选,因此我们可以用优先队列维护。

时间复杂度:O(nlogn)

代码

E#

Link。

前言:这 k 有误导性。

对于右括号 i,我们设其对应的左括号为 li

则这个右括号对答案的贡献为 ili12,就是 ili 中括号的个数。

我们修改可以修改一个左括号,使得其对应的右括号的贡献值变为 0

那么我们就将最大的 k 个贡献值修改。

时间复杂度:O(nlogn),瓶颈在于排序。

代码

F#

Link。

先搁着,等会生成函数再来补题。

posted @   hcywoi  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示
主题色彩