Loading

「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\)

拍平面上系列,考虑只有两个棋子,不如直接记录还有几个棋子没有匹配

posted @ 2024-02-03 09:11  流泪的小酒窝  阅读(38)  评论(0)    收藏  举报