競技プログラミング用 知識集積所
ABC406C - ~
最終更新:
sport_programming
-
view
問題
必要知識
B以下レベルの内容は省略
- 特になし
考え方
チルダ型の定義がわかりにくいが、これは、
- 最初は増加していく
- 途中から減少していく
- 再び増加になり、そのまま最後まで増加する
ということである。
個数の数え方は、例えば、全体が1つのチルダ型である場合、
{1,2,3,7,6,5,4,8,9,10,11}
のような場合、真ん中の7,6,5,4は採用して、追加で左右を何個採用するか考えて3*4=12個と求められる。
ということは、増えたり減ったりを繰り返す場合でも、同様に数値が減少する地帯の両サイドで増加する列が何個あるかを数え、その積の総和を取ればよい。
それはつまり、連続増加地帯の長さを前から順に数えてvectorに入れ、隣接項の積の総和を求めればよいことになる。
それはつまり、連続増加地帯の長さを前から順に数えてvectorに入れ、隣接項の積の総和を求めればよいことになる。