아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

슬라이드

시간 제한10초메모리 제한128 MB

요약
슬라이드 번호 순서를 유지하면서 두 사람의 중요도 순위에서도 오름차순이 되는 부분집합 개수를 1000000007로 나눈 나머지를 구합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 분할 정복, 누적 합
정답자
아직 제출이 없습니다

문제

헥토르와 빅토르는 친구 스와벡과 함께 물리 학기 프로젝트를 진행한다. 앞의 두 사람은 실험을 맡고, 스와벡은 결과를 발표할 슬라이드를 준비하기로 했다.

스와벡은 11번부터 NN번까지 차례로 번호를 매긴 슬라이드 초안 NN장을 만들었다. 헥토르와 빅토르는 각자 따로, 이 슬라이드들을 자신이 생각하는 중요도가 낮은 것부터 높은 것 순서로 나열했다.

이제 최종 발표에 넣을 슬라이드만 고르면 된다. 최종 발표는 스와벡이 준비한 슬라이드의 부분집합이어야 하고, 원래 번호 순서대로 보여 준다. 또한 최종 발표에서 뒤에 나오는 슬라이드는 바로 앞 슬라이드보다 더 중요해야 하며, 이는 헥토르의 기준과 빅토르의 기준 모두에서 성립해야 한다.

이 조건을 만족하는, 비어 있지 않은 서로 다른 슬라이드 묶음은 몇 가지인가?

입력

첫 줄에 테스트 세트의 개수 ZZ (1≤Z≤101 \le Z \le 10)가 주어진다. 이어서 각 테스트 세트가 차례로 주어진다.

각 테스트 세트의 첫 줄에는 스와벡이 준비한 슬라이드 수 NN (1≤N≤50 0001 \le N \le 50\,000)이 주어진다. 둘째 줄과 셋째 줄에는 각각 NN개의 정수가 주어지며, 헥토르와 빅토르가 매긴 순서를 나타낸다. 각 줄의 kk번째 수는 그 사람이 kk번째로 덜 중요하다고 본 슬라이드의 번호이다. 즉 각 줄은 슬라이드 번호를 중요도가 낮은 것부터 높은 것 순으로 나열한 것이며, 11부터 NN까지의 수가 각각 정확히 한 번씩 나타난다.

출력

각 테스트 세트마다, 조건을 만족하는 서로 다른 슬라이드 묶음의 수를 109+710^9 + 7로 나눈 나머지를 한 줄에 하나씩 출력한다.

참고

첫 번째 예제의 첫 테스트 세트에서 조건을 만족하는 슬라이드 묶음은 {1}\{1\}, {2}\{2\}, {3}\{3\}, {1,2}\{1, 2\}, {1,3}\{1, 3\}의 다섯 가지이다.

예제3

  1. 예제 1

    입력
    3
    3
    1 2 3
    1 3 2
    4
    3 1 2 4
    1 3 2 4
    5
    4 2 5 1 3
    5 4 3 2 1
    
    예상 출력
    5
    9
    5
    
  2. 예제 2

    입력
    1
    1
    1
    1
    
    예상 출력
    1
    
  3. 예제 3

    입력
    1
    4
    1 2 3 4
    1 2 3 4
    
    예상 출력
    15