#AT1424. D - Face Produces Unhappiness
D - Face Produces Unhappiness
D - 面部制造了不幸
得分:400分
问题描述
有$N$个人从西向东排队。
给定一个长度为$N$的字符串$S$,表示每个人的方向。
如果第$i$个人的字符是L
,表示他面向西方;如果是R
,表示他面向东方。
一个人只有在他前面的人面朝同样的方向的时候才会快乐。 然而,如果一个人前面没有人,那么他就是不快乐的。
你可以进行以下操作任意次数,操作的次数在$0$到$K$之间(包括$0$和$K$):
操作:选择整数$l$和$r$,满足$1 \leq l \leq r \leq N$,将队列的一部分旋转$180$度:第$l$个、第$(l+1)$个、...,第$r$个人。也就是说,对于每个$i = 0, 1, ..., r-l$,操作之后,从西向东数,原来的第$(l + i)$个人将变成第$(r - i)$个人,如果他原来面朝西方,那么他将面朝东方,反之亦然。
在进行至多$K$次操作之后,最多能有多少人快乐?
约束
- $N$是满足$1 \leq N \leq 10^5$的整数。
- $K$是满足$1 \leq K \leq 10^5$的整数。
- $|S| = N$
- $S$的每个字符是
L
或R
。
输入
输入以以下格式从标准输入中给出:
输出
在至多$K$次操作之后,输出能够使最多的人快乐的人数。
6 1
LRLRRL
3
如果我们选择$(l, r) = (2, 5)$,我们就会得到LLLRLL
,其中从西向东数,第$2$、$3$、$6$个人是快乐的。
13 3
LRRLRLRRLRLLR
9
10 1
LLLLLRRRRR
9
9 2
RRRLRLRLL
7