atcoder#ARC099D. [ARC099F] Eating Symbols Hard
[ARC099F] Eating Symbols Hard
题目描述
高橋君は,いつも頭の中に,長さ の整数列 $ A\ =\ (A_{-10^9},\ A_{-10^9\ +\ 1},\ ...,\ A_{10^9\ -\ 1},\ A_{10^9}) $ と,整数 を思い浮かべています.
はじめ,高橋君が思い浮かべている整数列 のすべての要素は です. また,整数 の値は です.
高橋君は,+
, -
, >
, <
の記号を食べると,それぞれ次のように思い浮かべている整数列 ,整数 が変化します:
+
を食べた場合, の値が 大きくなる.-
を食べた場合, の値が 小さくなる.>
を食べた場合, の値が 大きくなる.<
を食べた場合, の値が 小さくなる.
高橋君は,長さ の文字列 を持っています. の各文字は +
, -
, >
, <
の記号のいずれかです. 高橋君は, なる整数の組 を選んで, の 文字目の記号をこの順に食べました. 高橋君が記号を食べ終わった後,高橋君が思い浮かべている整数列 は,高橋君が のすべての記号を 文字目から順に食べた場合と等しくなったといいます. このような として考えられるものは何通りあるか求めてください.
输入格式
入力は以下の形式で標準入力から与えられる.
输出格式
答えを出力せよ.
题目大意
你有一个初始为 的数组和一个初始在 的指针,范围可以看做无限。
给出一个长度为 的操作串,由 <
,>
,+
,-
组成,其中每个字符意义如下。
<
将指针左移一位。>
将指针右移一位。+
将指针对应位置 。-
将指针对应位置 。
求有多少个子串,使得执行完子串的操作后,数组和执行完整个串是一样的。
。
5
+>+<-
3
5
+>+-<
5
48
-+><<><><><>>>+-<<>->>><<><<-+<>><+<<>+><-+->><<
475
提示
制約
- の各文字は
+
,-
,>
,<
のいずれか
Sample Explanation 1
高橋君が のすべての記号を食べた場合, で, の他の要素はすべて になります. がこれと等しくなるような は次の通りです: - - -
Sample Explanation 2
高橋君が のすべての記号を食べた場合と が異なっていてもかまわないことに注意してください.