#lg11665. [JOI 2025 Final] 只不过是长的领带 2 / Just Long Neckties 2

[JOI 2025 Final] 只不过是长的领带 2 / Just Long Neckties 2

P11665 [JOI 2025 Final] 只不过是长的领带 2 / Just Long Neckties 2

题目背景

译自 第24回日本情報オリンピック 本選 T4。

题目描述

有一个长度为 kkk1k\ge 1)的正整数数列 B1,,BkB_1,\cdots,B_k,初始 Bi=1B_i=11ik1\le i\le k)。这里,kk 是一个还未确定的数。

NN 场演出,第 ii1iN1\le i\le N)场演出中,观众将会报出数字 AiA_i。然后你需要做以下的事情:

  • 选择是否回应这个观众。
    • 如果选择回应,你需要选择 jj1jk1\le j\le k)满足 BjAiB_j\le A_i,然后令 BjAiB_j\gets A_i。(注意这里是小于等于号。)
      • 如果无法选择这样的 jj,则演出失败。
    • 否则,不需要做任何事。

然而,如果连续两次(或者更多次)选择不回应观众,观众会生气,从而演出失败。

在演出不失败的前提下,确定 kk 的最小值。

输入格式

如下所示:

NN
A1A_1 A2A_2 \cdots ANA_N

输出格式

输出一行一个正整数,表示满足条件的 kk 的最小值。

输入输出样例 #1

输入 #1

5
5 3 4 2 1

输出 #1

2

输入输出样例 #2

输入 #2

6
2 1 1 2 2 1

输出 #2

1

输入输出样例 #3

输入 #3

10
2 4 6 7 4 5 5 3 4 1

输出 #3

3

说明/提示

样例解释

样例 11 解释

k=2k=2 时,在五次演出中分别选择:

  • 不回应;
  • 回应,j=1j=1(此后 B13B_1\gets 3);
  • 回应,j=1j=1(此后 B14B_1\gets 4);
  • 回应,j=2j=2(此后 B22B_2\gets 2);
  • 不回应;

可以证明 k=1k=1 时演出必定失败。所以输出 22

该样例满足子任务 1,371,3\sim 7 的限制。

样例 22 解释

k=1k=1 时,在第 1,61,6 个演出时选择不回应即可。

该样例满足所有子任务的限制。

样例 33 解释

该样例满足子任务 1,471,4\sim 7 的限制。

数据范围

  • 2N5×1062\le N\le 5\times 10^6
  • 1Ai211\le A_i\le 211iN1\le i\le N)。
  • 输入的值全部是整数。

子任务

  1. (10pts)N15N\le 15
  2. (6pts)N500N\le 500Ai2A_i\le 21iN1\le i\le N)。
  3. (12pts)N500N\le 500Ai5A_i\le 51iN1\le i\le N)。
  4. (18pts)N500N\le 500Ai15A_i\le 151iN1\le i\le N)。
  5. (26pts)N5×105N\le 5\times 10^5Ai15A_i\le 151iN1\le i\le N)。
  6. (10pts)N5×105N\le 5\times 10^5
  7. (18pts)无额外限制。

[AdditionalFile4776.zip](file://AdditionalFile4776.zip?type=additional_file)

#4776. 「JOI 2025 Final」仅仅长的领带 2

标签: 传统 | 时间限制: 3000 ms | 内存限制: 2048 MiB |

题目描述

题目译自 JOI 2025 Final T4 「長いだけのネクタイ 2 / Just Long Neckties 2

Just Odd Inventions 公司以发明「仅仅奇怪的东西(just odd inventions)」而闻名。这里简称为 JOI 公司。

为了纪念其畅销产品「仅仅长的领带」上市五周年,JOI 公司开发了一款全新的「无限长的领带」。这种新型领带的特点是可以无限延长。

JOI 公司决定举办一个发布会来宣传这款新型领带,并邀请你担任主持人。在发布会上,几位穿着新型领带的模特将会登台亮相。最初,每位模特的领带长度都是 11

随后,你需要进行 NN 次表演,让观众亲身体验领带长度可调的功能。每次表演按照以下步骤进行:

  1. 首先,观众说出一个他们喜欢的数字,我们称这个数字为 xx
  2. 然后,你可以选择回应或者忽略这个数字。
    • 如果你选择回应,你需要从登台的模特中选择一个领带长度不超过 xx 的模特,并将其领带长度调整为 xx(注意,选择的模特的领带长度可以已经是 xx)。如果没有一个合适的模特可以选择,发布会将失败。
    • 如果你选择忽略,你什么也不做。 但是,如果连续两次或以上忽略观众说出的数字,观众会不满意,发布会将失败。

登台的模特数量 kk (k1)(k \geq 1) 尚未决定,但由于雇用模特需要花费,kk 越小越好。为了避免发布会失败,需要的模特数量取决于每次表演中观众说出的数字。你可以预见在第 ii (1iN)(1 \leq i \leq N) 次表演中,观众会说出的数字是 AiA_i

编写一个程序,在给定发布会中观众会说出的数字信息时,计算出避免发布会失败所需的最小模特数量 kk

输入格式

第一行包含一个整数 NN

第二行包含用空格分隔的 NN 个整数 A1,A2,ANA_1, A_2, \ldots A_N

输出格式

输出避免发布会失败所需的最小模特数量 kk

样例 1

输入

5
5 3 4 2 1

输出

2

k=2k=2 时,可以按照以下方式进行发布会:

  • 首先,穿着新型领带的两位模特登台。最初,每位模特的领带长度都是 11
  • 第一次表演时,观众说出数字 55。你忽略这个数字。
  • 第二次表演时,观众说出数字 33。你回应这个数字,并将第一位模特的领带长度调整为 33。此时,两位模特的领带长度分别为 3311
  • 第三次表演时,观众说出数字 44。你回应这个数字,并将第一位模特的领带长度调整为 44。此时,两位模特的领带长度分别为 4411
  • 第四次表演时,观众说出数字 22。你回应这个数字,并将第二位模特的领带长度调整为 22。此时,两位模特的领带长度分别为 4422
  • 第五次表演时,观众说出数字 11。你忽略这个数字。

如果 k=1k=1,发布会必将失败。例如,如果按照上述方式在第二、三、四次表演中回应观众说出的数字,那么在第三次表演结束时,唯一登台的模特的领带长度将是 44。在第四次表演时,没有模特的领带长度不超过 22,因此发布会将失败。

因此,避免发布会失败所需的最小模特数量为 22

这个样例满足子任务 1,3,4,5,6,71,3,4,5,6,7 的限制。

样例 2

输入

6
2 1 1 2 2 1

输出

1

k=1k=1 时,可以按照以下方式进行发布会:

  • 首先,穿着新型领带的一位模特登台。最初,模特的领带长度是 11
  • 第一次表演时,观众说出数字 22。你忽略这个数字。
  • 第二次表演时,观众说出数字 11。你回应这个数字,并将登台模特的领带长度调整为 11
  • 第三次表演时,观众说出数字 11。你回应这个数字,并将登台模特的领带长度调整为 11
  • 第四次表演时,观众说出数字 22。你回应这个数字,并将登台模特的领带长度调整为 22
  • 第五次表演时,观众说出数字 22。你回应这个数字,并将登台模特的领带长度调整为 22
  • 第六次表演时,观众说出数字 11。你忽略这个数字。

因此,避免发布会失败所需的最小模特数量为 11

这个样例满足所有子任务的限制。

样例 3

输入

10
2 4 6 7 4 5 5 3 4 1

输出

3

这个样例满足子任务 1,4,5,6,71,4,5,6,7 的限制。

数据范围与提示

对于所有输入数据,满足:

  • 2N50000002 \leq N \leq 5000000
  • 1Ai211 \leq A_i \leq 21 (1iN)(1 \leq i \leq N)
  • 输入的所有值均为整数。

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制
11 1010 N15N \leq 15
22 66 N500,Ai2(1iN)N \leq 500, A_i \leq 2\,(1 \leq i \leq N)
33 1212 N500,Ai5(1iN)N \leq 500, A_i \leq 5\,(1 \leq i \leq N)
44 1818 N500,Ai15(1iN)N \leq 500, A_i \leq 15\,(1 \leq i \leq N)
55 2626 N500000,Ai15(1iN)N \leq 500000, A_i \leq 15\,(1 \leq i \leq N)
66 1010 N500000N \leq 500000
77 1818 无附加限制