设数组为 a1,…,an,对每个 k(1≤k≤n) 要求所有长度为 k 的子序列 b 的最大值 f(b)=max(b) 之和,答案对 998244353 取模。
关键观察(计数法) 将数组按非降序排序,记为 A1≤A2≤⋯≤An。把每个长度为 k 的子序列唯一地“归属”给其最大值在原序中的最右位置 i。 当最大值归属在位置 i 时,其余 k−1 个元素只能从 [1,i−1] 中任取(都不超过 Ai),共有
Zeeman 有一个长度为 1≦n≦5∗103 的正整数数组 a 。
定义 f(b)=max(b1,b2,...,bm) 。Zeeman 想知道,对于任意的 1≦k≦n ,数组 a 中所有长度为 k 的子序列 b 的 f(b)之和。