#R1149. 泉暖涵窗镜(Mirror)

0

泉暖涵窗镜(Mirror)

泉暖涵窗镜(Mirror)

题目描述

2026 年青岛市中小学程序设计竞赛高中组 T3

给定一个长度为 nn 的序列 AA 和长度为 mm 的序列 BB(保证 m≤nm\le n)。保证 BB 严格单调递增。

一个序列的前缀最大值序列 MM 定义如下:

  • M1=A1M_1=A_1;
  • 对于一个位置 i≥2i\ge 2,若 ∀1≤j<i,ai>aj\forall 1\le j < i,a_i>a_j,则设 A1,A2,⋯ ,Ai−1A_1,A_2,\cdots,A_{i-1} 组成的序列的前缀最大值序列的长度为 kk,令 Mk+1=AiM_{k+1}=A_i。

简单来说,其意义为所有大于前面所有位置的元素的元素组成的序列。

现在,请你计算序列 AA,有多少个子序列满足其前缀最大值序列等于 BB。答案对 109+710^9+7 取模。

输入格式

第一行两个整数 n,mn,m,含义见题目描述。

接下来一行 nn 个整数,第 ii 个整数表示 AiA_i。

接下来一行 mm 个整数,第 ii 个整数表示 BiB_i。

输出格式

一行一个整数,表示子序列数量,答案对 109+710^9+7 取模。

样例输入 #1

15 5
2 6 10 2 2 2 14 18 2 2 2 2 2 2 6
2 6 10 14 18

样例输出 #1

1024

数据范围

对于所有数据,保证 1≤Ai≤1091\le A_i \le 10^9。

测试点编号 NN MM AiA_i 特殊性质
1 ~ 4 ≤15\le 15 ≤5\le 5 ≤100\le 100 无
5 ~ 6 ≤2×105\le 2 \times 10^5 =1= 1 ≤109\le 10^9
7 ~ 11 ≤2000\le 2000
12 ~ 16 ≤2×105\le 2 \times 10^5 AA 单调不降
17 ~ 25 无

知识点与难度

本题涉及的知识点从属于 CSP-S,难度(CF Rating):1900。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1 样例
1 25 2~8 小规模与边界测试数据
2 30 9~16 中等规模测试数据
3 35 17~25 满规模极限测试数据

出处:原题链接