[ARC169C] Not So Consecutive
题意翻译
给一个长度为 $n$ 的序列 $A$,其中一些位置为 $-1$,其余位置的值域均在 $[1,n]$ 之间。
你要给所有 $-1$ 的位置填一个 $[1,n]$ 之间的整数,要求满足:
- 对于任意 $[1,n]$ 之间的整数 $i$,不能在 $A$ 中**连续**出现超过 $i$ 次。
求方案数,答案对 $998244353$ 取模。$n\le 5000$。
Translated by Aigony.
题目描述
[problemUrl]: https://atcoder.jp/contests/arc169/tasks/arc169_c
整数 $ N $ が与えられます. 長さ $ N $ の整数列 $ x=(x_1,x_2,\cdots,x_N) $ は,以下の条件を満たすとき(そしてそのときのみ)**よい**数列と呼ばれます.
- $ x $ の各要素は $ 1 $ 以上 $ N $ 以下の整数である.
- 各整数 $ i $ ($ 1\ \leq\ i\ \leq\ N $) に対し,$ i $ が $ i+1 $ 個以上連続して並ぶような場所が $ x $ 内に存在しない.
長さ $ N $ の整数列 $ A=(A_1,A_2,\cdots,A_N) $ が与えられます. $ A $ の各要素は $ 1 $ 以上 $ N $ 以下の整数もしくは $ -1 $ です. それぞれの $ -1 $ を $ 1 $ 以上 $ N $ 以下の整数に置き換えることで得られるよい数列の個数を $ 998244353 $ で割ったあまりを求めてください.
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる.
> $ N $ $ A_1 $ $ A_2 $ $ \cdots $ $ A_N $
输出格式
答えを出力せよ.
输入输出样例
输入样例 #1
2
-1 -1
输出样例 #1
3
输入样例 #2
3
2 -1 2
输出样例 #2
2
输入样例 #3
4
-1 1 1 -1
输出样例 #3
0
输入样例 #4
20
9 -1 -1 -1 -1 -1 -1 -1 -1 -1 7 -1 -1 -1 19 4 -1 -1 -1 -1
输出样例 #4
128282166
说明
### 制約
- $ 1\ \leq\ N\ \leq\ 5000 $
- $ A_i=-1 $ もしくは $ 1\ \leq\ A_i\ \leq\ N $
- 入力される値はすべて整数.
### Sample Explanation 1
それぞれの $ -1 $ を $ 1 $ 以上 $ 2 $ 以下の整数で置き換えて得られる数列は $ 4 $ 通りあります. ここで $ A=(1,1) $ について考えると,$ 1 $ が $ 2 $ 個連続してしまうためよい数列ではありません. それ以外の $ A=(1,2),(2,1),(2,2) $ について考えると,これらはすべてよい数列です. よって答えは $ 3 $ です.