#P7804. [JOI Open 2021] 决算报告 / Financial Report

[JOI Open 2021] 决算报告 / Financial Report

背景

警告:滥用本题评测将被封号。

题目描述

有一个长度为 NN 的序列 AiA_i,定义函数 f(m,p1,p2,⋯ ,pm)f(m,p_1,p_2,\cdots,p_m) 的值为满足:

max⁡j=1i−1{Apj}<Api\max\limits_{j=1}^{i-1}\{A_{p_j}\} < A_{p_i}

的 pip_i 的个数,当 i=1i=1 时,我们假设上面这个不等式是恒成立的。

给定一个整数 DD,求一个序列 pip_i 满足:

  • 1≤m≤N1 \le m \le N;
  • pm=Np_m=N;
  • pi<pi+1p_i<p_{i+1};
  • 如果 m≥2m \ge 2,那么有 pj+1−pj≤Dp_{j+1}-p_j \le D;
  • f(m,p1,p2,…,pm)f(m,p_1,p_2,\dots,p_m) 的值最大。

求 ff 函数的最大值。

输入格式

第一行两个整数 N,DN,D,意义如题面所述。

第二行 NN 个整数 AiA_i 代表给定的序列。

输出格式

一行一个整数代表 ff 函数的最大值。

7 1
100 600 600 200 300 500 500
3
6 6
100 500 200 400 600 300
4
11 2
1 4 4 2 2 4 9 5 7 0 3
4

提示

样例 1 解释

一共有 77 种可能的情况:

  • pi={1,2,3,4,5,6,7}p_i=\{1,2,3,4,5,6,7\},f(7,1,2,3,4,5,6,7)=2f(7,1,2,3,4,5,6,7)=2;
  • pi={2,3,4,5,6,7}p_i=\{2,3,4,5,6,7\},f(6,2,3,4,5,6,7)=1f(6,2,3,4,5,6,7)=1;
  • pi={3,4,5,6,7}p_i=\{3,4,5,6,7\},f(5,3,4,5,6,7)=1f(5,3,4,5,6,7)=1;
  • pi={4,5,6,7}p_i=\{4,5,6,7\},f(4,4,5,6,7)=3f(4,4,5,6,7)=3;
  • pi={5,6,7}p_i=\{5,6,7\},f(3,5,6,7)=2f(3,5,6,7)=2;
  • pi={6,7}p_i=\{6,7\},f(2,6,7)=1f(2,6,7)=1;
  • pi={7}p_i=\{7\},f(1,7)=1f(1,7)=1。

最大值为 33。

样例 2 解释

最优的 pi={1,3,4,5,6}p_i=\{1,3,4,5,6\},对应的 Ai={100,200,400,600,300}A_i=\{100,200,400,600,300\},ff 函数值为 44。

样例 3 解释

最优的方式有多种,其中一种是 pi={1,3,5,6,8,9,11}p_i=\{1,3,5,6,8,9,11\},对应的 Ai={1,4,2,4,5,7,3}A_i=\{ 1, 4, 2, 4, 5, 7, 3\},ff 函数值为 44。

数据规模与约定

本题采用捆绑测试。

  • Subtask 1(14 pts):N≤20N \le 20;
  • Subtask 2(14 pts):N≤400N \le 400;
  • Subtask 3(20 pts):N≤7000N \le 7000;
  • Subtask 4(12 pts):D=1D=1;
  • Subtask 5(5 pts):D=ND=N;
  • Subtask 6(35 pts):无特殊限制。

对于 100%100\% 的数据:

  • 1≤N≤3×1051 \le N \le 3 \times 10^5;
  • 1≤D≤N1 \le D \le N;
  • 0≤Ai≤1090 \le A_i \le 10^9。

说明

翻译自 JOI 2020 / 2021 Open Contest B Financial Report。