atcoder#ARC104B. [ARC104B] DNA Sequence
[ARC104B] DNA Sequence
题目描述
A, T, C, G から成る長さ の文字列 があります。
長さの等しい文字列 が相補的とは、 としたとき、どの についても の 文字目の組み合わせが (AとT), または (C と G) の組み合わせのいずれかであることを指します。(例えば A と T の組み合わせのとき、どちらの文字が に属してもよいです)
の連続する空でない部分文字列 であって、次の条件を満たすものの個数を求めてください。
- と相補的であるような、 の文字を並び替えた文字列が存在する。
ただし、文字列として同じであっても 内の位置が異なれば違う部分列とみなします。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
の連続する空でない部分文字列 であって、条件を満たすものの個数を出力せよ。
题目大意
题目翻译
我们有一条长度为 的 DNA(由 A、C、G、T 四个字母组成的一条链),定义为 。
定义两个字符匹配当且仅当这两个字符为 A,T 或 C,G 时匹配。
你需要找到 中非空子串 的数量,使得对于每一个 ,都有一个 是 的排列,并且和 一一配对。
对于不同位置上的 ,即便内容相同,也计两次。
样例解释
样例 1 解释
两个 为 GC 和 ACGT。
样例 2 解释
四个 分别 AT(两个)、TA 和 ATAT。
数据范围与约定
对于 的数据,, 中只含有 A、C、G、T。
4 AGCT
2
4 ATAT
4
10 AAATACCGCG
6
提示
制約
- は
A,T,C,Gのみから成る
Sample Explanation 1
次の つの部分文字列が条件を満たします。 - GC ( 文字目から 文字目) は、これを並び替えた CG と相補的です。 - AGCT ( 文字目から 文字目) は、これを並び替えた TCGA と相補的です。
Sample Explanation 2
次の つの部分文字列が条件を満たします。 - AT ( 文字目から 文字目) は、これを並び替えた TA と相補的です。 - TA ( 文字目から 文字目) は、これを並び替えた AT と相補的です。 - AT ( 文字目から 文字目) は、これを並び替えた TA と相補的です。 - ATAT ( 文字目から 文字目) は、これを並び替えた TATA と相補的です。