QOJ.ac

QOJ

時間限制: 9 s 記憶體限制: 1024 MB 總分: 10

#8410. 문자열 엮기 [A]

统计

수열 $C$의 구간이란 비어 있지 않고 연속적인 부분 수열을 의미합니다. 구체적으로, 길이가 $k$인 모든 수열은 $\frac{k(k+1)}{2}$개의 구간을 가지는데, 이는 각 구간이 시작점과 끝점에 의해 결정되기 때문입니다.

주어진 정수 수열의 안정성(stability)은 그 수열에서 가장 긴 엄격하게 단조로운(strictly monotonic) 구간의 길이로 정의합니다. 더 정확히 말하면, 수열 $[c_1, c_2, \dots, c_k]$의 안정성은 $c_i < c_{i+1} < \dots < c_{i+s-1}$ 또는 $c_i > c_{i+1} > \dots > c_{i+s-1}$을 만족하는 인덱스 $i$ ($1 \le i \le k - s + 1$)가 존재하는 가장 큰 정수 $s$입니다. 예를 들어, 수열 $[8, 6, 1, 3, 5, 7, 4, 2]$의 안정성은 4인데, 이는 이 수열에 엄격하게 단조로운 구간 $[1, 3, 5, 7]$이 존재하고, 이보다 더 긴 구간은 존재하지 않기 때문입니다.

두 수열 $A$와 $B$의 엮음(splot)은 길이가 $|A| + |B|$인 모든 수열 중, $A$와 같은 부분 수열(연속적일 필요는 없음)을 포함하고, 그 부분 수열을 제외한 나머지 원소들이 수열 $B$를 이루는 수열을 의미합니다. 예를 들어, 수열 $[1, 2, 3]$과 $[4, 5]$의 엮음으로는 $[1, 4, 2, 5, 3]$, $[4, 5, 1, 2, 3]$, $[4, 1, 5, 2, 3]$ 등이 있으며, $[1, 2, 3, 4, 3]$이나 $[1, 2, 3, 5, 4]$는 엮음이 아닙니다.

마지막으로, 정수 수열 $A$와 $B$에 대하여 $f(A, B)$를 그들의 엮음이 가질 수 있는 최소 안정성으로 정의합니다.

두 정수 수열 $A$와 $B$가 주어질 때, 각각의 길이는 $n$과 $m$입니다. $A$의 구간인 $A'$와 $B$의 구간인 $B'$에 대하여 $f(A', B') = x$를 만족하는 쌍 $(A', B')$의 개수를 $1$부터 $n + m$까지의 모든 정수 $x$에 대해 구하는 것이 여러분의 과제입니다. 구하는 값이 매우 클 수 있으므로, $10^9 + 7$로 나눈 나머지를 출력하십시오.

수열 $A$와 $B$의 모든 원소는 서로 다르다고 가정할 수 있습니다.

입력

첫 번째 줄에는 두 정수 $n$과 $m$ ($1 \le n, m \le 300\,000$)이 주어지며, 각각 수열 $A$와 $B$의 길이를 의미합니다. 두 번째 줄에는 수열 $A$를 구성하는 $n$개의 정수 $A_1, A_2, \dots, A_n$ ($1 \le A_i \le n + m$)이 주어집니다. 세 번째 줄에는 수열 $B$를 구성하는 $m$개의 정수 $B_1, B_2, \dots, B_m$ ($1 \le B_i \le n + m$)이 주어집니다. 수열 $A$와 $B$의 모든 원소는 서로 다름이 보장됩니다. 즉, 수열 $A$와 $B$를 이어 붙이면 $1$부터 $n + m$까지의 순열이 됩니다.

출력

표준 출력의 한 줄에 $n + m$개의 정수를 공백으로 구분하여 출력하십시오. $i$번째 정수는 $A$의 구간 $A'$와 $B$의 구간 $B'$에 대하여 $f(A', B') = i$를 만족하는 쌍 $(A', B')$의 개수를 $10^9 + 7$로 나눈 나머지여야 합니다.

예제

입력 1

5 3
1 2 5 7 4
8 3 6

출력 1

0 84 6 0 0 0 0 0

참고

예제 설명: 전체 수열을 구간으로 잡으면 $f([1, 2, 5, 7, 4], [8, 3, 6]) = 2$이며, 안정성이 2인 엮음의 예로 $[1, 8, 2, 5, 3, 7, 4, 6]$이 있습니다. 구간 $[1, 2, 5, 7]$과 $[3]$을 고려하면 $f([1, 2, 5, 7], [3]) = 3$이며, 안정성이 3인 엮음의 예로 $[1, 2, 5, 3, 7]$이 있습니다. 수열 쌍 $([1, 2, 5, 7], [3])$을 엮어 안정성이 3보다 작은 수열을 만드는 것은 불가능함을 보일 수 있습니다. 구간 $[4]$와 $[6]$에 대해서는 $f([4], [6]) = 2$이며, 가능한 모든 엮음인 $[4, 6]$과 $[6, 4]$ 모두 안정성이 2입니다. 이 예제에서 모든 구간 쌍은 안정성이 3 이하가 되도록 엮을 수 있습니다. 따라서 $x \ge 4$에 대한 답은 0입니다.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.