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
と相補的です。