「KDOI-03」构造数组
「KDOI-03」构造数组
题目描述
你现在有一个长度为 \(n\) 的数组 \(a\)。一开始,所有 \(a_i\) 均为 \(0\)。给出一个同样长度为 \(n\) 的目标数组 \(b\)。求有多少种方案,使得通过若干次以下操作,可以让 \(a\) 数组变成 \(b\)。
- 选出两个不同的下标 \(1\leq i<j\leq n\),并将 \(a_i\) 和 \(a_j\) 同时增加 \(1\)。
两种方案被称之为不同的,当且仅当存在一个 \(x\) 使得一种方案中第 \(x\) 次操作选择的两个下标 \((i,j)\) 与另一种方案中的不同。
答案对 \(\bm{998244353}\) 取模。
对于 \(100\%\) 的数据,\(1\le n\le5~000\),\(1\leq b_i\le30~000\),\(\sum b_i\le30~000\)。
拍平面上系列,考虑只有两个棋子,不如直接记录还有几个棋子没有匹配

浙公网安备 33010602011771号