AtCoder Beginner Contest 247 E問題 Max Min
問題
提出解答
問題の概要
整数の列 が与えられる. 次を満たす整数の組 の数を求めよ.
- の最大値が , 最小値が
制約
解法
を満たす非負整数の組 と, の空ではない連続する部分列は一対一に対応する *1.
ここで, 整数 と整数 に対して,
かつ ( ではない).
である. に対して, で の空ではない部分列のうち, 各項が 以上 以下であるものの個数とする.
であることの条件は上での記述を参考にし, 包除原理を利用することにより, 求めるべき答えは
となる.
最後に を求める方法を考える. を満たさないような を とする. このとき,
である. ただし, とする.
これにより, 時間計算量 で求めることができた.
*1:対応の方法: に対して, の第 項から第 項までの部分列を対応させる.