Logo Universal Online Judge

UOJ

时间限制:3 s 空间限制:1024 MB

#2766. 哲学(philosophy)

统计

哲学(philosophy)

题目背景

为什么……为什么你想要从我面前消失啊。 为什么,还要出现在我的面前; 为什么,同意我呆在你身边; 为什么,总是说些不清不楚的话; 为什么,总是摆着一副好像对我一点也不讨厌的态度; 为什么,没有来听我的钢琴; 为什么,不能接受我啊; 为什么你会这么熟练啊!你到底要把我甩开多远你才甘心啊!? 在你观看老番时,『它』突然进来了,所以你决定开始写有限状态广义后缀自动机

题目描述

『她』和『他们』的关系太过复杂,简单来说就是 happy or sad。为了方便表示,我们可以用一个长度为 𝑛 的 hs 字符串 𝑆 来进行表示。 在『他们』眼里,一段好的关系必然是一个按字典序升序排序的字符串,即所有 ℎ 在前,𝑠 在后。 假如某一段的关系中,设 𝑐𝑛𝑡ℎ, 𝑐𝑛𝑡𝑠 分别表示该子段中字符 h 和字符 s 的数量。 那么可以花费 |𝑐𝑛𝑡ℎ − 𝑐𝑛𝑡𝑠| + 1 的代价将这段关系修复一段好的关系。 于是,『她』想要将『她』和『他们』的一段关系修复一段好的关系。 同样,修复关系不是一朝一夕可以完成的,所以我们允许,可以在修复关系时可以不断选择这段关系的子串变为一个好的关系。 例如,对于一段 hshssh,选择 2 ∼ 4 的子串花费 2 代价修复成 hhsssh。 现在,『她』在修复关系前,想要知道将这整段关系修复成好的关系的所需的最少代价。

输入格式

第一行一个正整数 𝑛,表示字符串的长度。 第二行一个字符串,长度为 𝑛。 由于本题输入量过大,选手可以使用下发文件中的代码进行输入。

输出格式

输出一行一个整数。

数据范围

子任务编号 数据范围 分数
1 $n\le 10$ 10
2 $n\le 4000$ 10
3 $n\le 10^5$ 10
4 $n\le 3\times 10^7$ 70