排序
比赛主页
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
小a有一个DNA序列串,强迫症的小a看它不顺眼,想将它排好序。
给定长为n的DNA序列串s(仅由`A,T,G,C`最多四种字符构成)。你可以进行任意次如下操作:任选两个位置i,j(
),交换这两个字符
,花费为
(即:
将
不断与
交换,直到移动
到j位置,再将
不断与
交换,直到移动
到i位置所需的总移动次数
)。求将序列串中同种字符划分到一起的最小花费(如字符串`AGACG`,将其变成`AAGGC`或`GGAAC`或`CAAGG`...都是合法的,最小花费是2:`AAGGC`)。
输入描述:
输入一行,一个字符串s,表示题目描述所述的DNA序列串。
输出描述:
输出一个整数,表示将s中同种字符划分到一起的最小花费。
示例1
输入
复制
AGACG
AGACG
输出
复制
2
2
备注:
字符串长度n满足
。
排序
返回全部题目
列表加载中...
AGACG
2