[Noip模拟题]寿司

本文介绍了一道关于数据结构的NOIP模拟题,题目要求通过最少的交换次数,使得红色和蓝色寿司分别形成连续的区域。作者分析了问题,并提出了两种解决方案:一种是O(t*len^2)的算法,另一种是利用队列优化后的O(t*len)算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Description
小 c 是一名 oier。最近,他发现他的数据结构好像学傻了。因为他在刷题时碰到了一道傻逼数据结构题,强行使用了平衡树来解决,卡着时间 AC。为此,他被狠狠地嘲讽了一番。于是,小 c 找了大量的数据结构题来做。昨天,小 c 正在吃寿司,突然发现许多盘寿司围成了一个圆圈,这些寿司中有红色的也有蓝色的。由于小 c 看交错的颜色非常不爽,想通过一些操作,使得所有的红色寿司形成了一块连续的区域,蓝色的寿司也形成了一块连续的区域。如果小 c 每次只可以交换相邻的两盘寿司,那么最少需要多少步才可以达到小 c 的要求呢?由于他做题做多了,脑袋已经有点不清醒了,于是这个问题就交给你了。

Input
第一行一个数 T T<=10 表示数据组数。
接下来 T 行,每行一行由 B 和 R 组成的字符串,长度 <=1000000 ,B 表示蓝色, R 表示红色。第 i 个字符描述顺时针数第

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值