Codeforces Educational Round

代码部队教育回合

Edu 174E - A, B, AB and BA(2300)

本题旨在考察选手的分讨能力和耐心。

容易想到,由于不能有相邻相同,所以在 AABB 中间断开,将序列分为四种:

  1. ABABAB...B

  2. BABABA...A

  3. ABABA...A

  4. BABAB...B

到这里就需要考虑怎样贪心使用每一种组,使其更优了。直接考虑其实并不容易,我在这里使用了错误的贪心策略。

正确的策略可以考虑:单个 \(a\) 和单个 \(b\) 肯定尽量少用,因为这两种比较万能。一开始假定每一个组都只有一个字符,那么要求 \(cnt_a\le a\)\(cnt_b\le b\) 满足。

现在有了 ABBA 这种分组方式,就可以将一些东西合并。一次合并之后 A 能减少 1B 也能减少 1

对于第三种和第四种,都是好的,因为这两种无论如何都能合并成 ABBA,且合并完之后仍然形式不变。但是对于第一种和第二种,例如第一种,假如其长度为 \(l\),如果全是 AB,能拼成 \(\frac{l}{2}\) 个,但如果出现了一个 BA,就只能拼成 \(\frac{l}{2}-1\) 个。如果在长的串中用了 AB,那么就会有很多短的串中出现 BA,这不优。所以将第一种串排序,先填小的串,使得尽可能多个串不被浪费。第二种串同理。填完之后再考虑第三种和第四种,最后判断一下剩下的单独 A 的个数和单独 B 的个数是否满足 \(a\)\(b\) 的限制即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/890448.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WebSSH2:通过浏览器实现SSH登录Linux主机

如果你的电脑不允许安装远程工具,那么本篇文章非常适合你,我们使用浏览器去登录Linux主机。 下面我演示一下如何安装WebSSH2,并通过浏览器登录到Linux主机。 一、安装环境 操作系统:CentOS7.6; 关闭防火墙和 SELinux; 二、安装 NVM 安装过程很简单,下载脚本运行即可: c…

Nativefier:将网页变为桌面应用的便捷工具

我们每天都会使用大量的网页应用,例如 Gmail、Trello、Notion 或 Spotify。然而,频繁在浏览器中切换标签页可能降低工作效率,也容易让人分心。有没有一种方法能将常用的网页变成独立的桌面应用,提供更专注的体验?Nativefier 应运而生,它是一款开源命令行工具,能够快速将…

web开发 辅助学习管理系统开发日记 day3

Q1:讲解了关于日志输出的方法:首先引入logback以来以及相关的xml文件到resources的文件夹下。然后到test目录下进行测试 可以通过调整logback的xml文件来调整日志输出的格式,以及位置日志级别记录如下Q2:通过这条外键约束可以将两表关联后避免删除误删两边关联所需要的键值产…

How to Fix Raspberry Pi Imager lost Advanced Menu problem All In One

Raspberry Pi Imager removed Advanced Menu All In One 如何修复 Raspberry Pi Imager 丢失高级菜单问题Raspberry Pi Imager removed Advanced Menu All In One如何修复 Raspberry Pi Imager 丢失高级菜单问题树莓派 bug Raspberry Pi Imager v1.8.5 删除高级菜单选项 ❓solu…

WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战

开源项目名称:leagueoflegends-OpenSilver 作者:Vicky&James leagueoflegends-opensilver:https://github.com/jamesnetgroup/leagueoflegends-opensilver leagueoflegends-wpf:https://github.com/jamesnetgroup/leagueoflegends-wpf Jamesnet个人网站:https://jamesnet…

Raspberry Pi Imager removed Advanced Menu All In One

Raspberry Pi Imager removed Advanced Menu All In One Raspberry Pi Imager 已删除高级菜单Raspberry Pi Imager removed Advanced Menu All In OneRaspberry Pi Imager 已删除高级菜单raspberry pi imager advanced options missing demos树莓派 bugRaspberry Pi Imager v1.…

作业一 自我介绍+软工5问

| 这个作业属于哪个课程 | <班级> | | ----------------- |--------------- | | 这个作业要求在哪里| <作业要求> | | 这个作业的目标 | <- 介绍自己,比如兴趣爱好,学习或者生活经历,认为有趣或者值得向别人展示的记忆快速阅读教材,提出5个想弄懂的问题。 想…

《软件开发与创新课程设计》第一次作业:软件二次开发

一、项目名称与来源 该项目名为体育新闻信息查询系统,源码来自同学。 二、目的 项目体育新闻信息查询系统的目的是基于Java和JavaScript创建一个能够查询体育新闻的web系统。本次作业的目的是基于该系统的基础上进行二次开发。 三、部分原代码 1.体育新闻网点击查看代码 <!…

如何更改 debian 系统家目录中文件夹的语言

一、当前家目录文件夹是中文 当时安装系统的时候,选择了中文,导致家目录的文件夹也是中文的。这导致在命令行中会出现中文路径,现在想把它改成英文的。二、改成英文 家目录的 .config 文件夹中有两个文件与此相关,它们分别是: # /home/xxx/.config user-dirs.dirs user-di…

C++ 超市零售系统二次开发

一、来源 本次分析与二次开发的超市零售系统项目名称为 "SimpleSupermarketManagement", 作者是 GitHub 用户 "CodeExplorer1995",项目地址为https://github.com/CodeExplorer1995/SimpleSupermarketManagement。该项目旨在为小型超市提供基础的业务管理…

IOC 和 DI 详解及其简单用法

1. IOC 详解 1.1 Bean 的声明 IOC 控制反转,就是将对象的控制权交给 Spring 的 IOC 容器,由 IOC 容器创建及管理对象。IOC 容器创建的对象称为 bean 对象。 而 Spring 框架为了更好的标识 Web 应用程序开发当中,bean 对象到底归属于哪一层,又提供了 @Component 的衍生注解:…

开源一款DDS信号发生扩展板-FreakStudio多米诺系列

信号发生扩展板通过SPI接口生成可调频率和幅度的正弦波、方波和三角波,频率小于1MHz。支持幅度调节,提供原始和6倍放大输出接口。配备5阶低通滤波器、噪声抑制功能,优化信号稳定性。原文链接: FreakStudio的博客 摘要 信号发生扩展板通过SPI接口生成可调频率和幅度的正弦波…