#P9616. 牛牛和数组操作

    ID: 6233 传统题 3000ms 256MiB 尝试: 1 已通过: 1 难度: 6 上传者: 标签>CF1900区间DP组合数学动态规划贪心树形DP

牛牛和数组操作

题目描述

n+2 n + 2 个整数 a0,a1,....an,an+1 a_0, a_1, .... a_n, a_{n+1}a0=an+1=0a_0 = a_{n+1} = 0

你需要做确切地 n n 次操作,每次操作为以下形式:

选择一个整数 x x 满足 ax0 a_x \not= 0 ,使得 ax=0 a_x = 0 ,令 $l = \max \limits_{i<x,a_ i=0}(i),r = \min \limits_{i>x,a_i=0}(i)$,

此次操作的花费为 $\max(a_l, a_{l+1}, . . . , a_{x−1}) + \max(a_{x+1}. . . , a_{r−1}, a_r)$ 牛币。

有多少不同的操作方式使得操作花费的牛币最少,两种操作不同当且仅当两种操作的操作序列不同。

答案对 998244353 998244353 取模。

友情提示:本题正解复杂度很大,常数很小。

输入格式

第一行一个整数 n n

第二行 n n 个整数 a1,a2,...,an a_1, a_2, . . . , a_n

输出格式

输出一行一个整数表示答案。

样例

5
2 2 2 1 1
40
88
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3
235381964

数据范围

测试点 数据约束
11 1n10 1 \le n \le 10
22 1n20 1 \le n \le 20
363\sim 6 1n5001 \le n \le 500
7107\sim 10 1n20001 \le n \le 2000

对于全部数据,1ain1 \le a_i \le n