만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Illuminated Lights II

면접 대비

시간 제한1초메모리 제한1024 MB

요약
각 전구가 L(왼쪽) 또는 R(오른쪽)을 가리킬 때, 줄의 모든 전구를 비추는 전구 부분집합의 개수를 10^9+7로 나눈 나머지로 구합니다.
난이도

보통10점 중 5점

유형
동적 계획법, 문자열
정답자
아직 제출이 없습니다

문제

한 줄에 nn개의 조명이 있으며, 처음에는 모두 꺼져 있다. 켜지면 자기 자신과 왼쪽의 모든 조명을 밝히는 조명이 있고, 켜지면 자기 자신과 오른쪽의 모든 조명을 밝히는 조명이 있다.

아래 그림은 첫 번째 예제에서 4번 조명만 켰을 때의 결과다. 1번부터 4번까지 조명이 밝혀지고, 나머지는 밝혀지지 않는다.

모든 조명을 밝히는 데 필요한 최소 조명 수는 이전 문제에서 이미 구했다. 이번에는 좋은 부분집합이 몇 개인지 센다.

조명의 부분집합 SS에 대해, SS에 속한 조명만 켰을 때 한 줄의 모든 조명이 밝혀지면 SS를 좋은 부분집합이라고 한다. 좋은 부분집합의 개수를 구하라. 개수가 클 수 있으므로 109+710^9+7로 나눈 나머지를 출력한다.

입력

첫 줄에 테스트 케이스의 수 tt (1≤t≤1041 \le t \le 10^4)가 주어진다. 각 테스트 케이스의 첫 줄에는 조명의 수 nn (1≤n≤2⋅1051 \le n \le 2\cdot 10^5)이 주어진다. 다음 줄에는 길이 nn의 문자열 ss가 주어지며, 각 문자는 L 또는 R이다. L은 왼쪽을 가리키는 조명, R은 오른쪽을 가리키는 조명이다.

모든 테스트 케이스의 nn 합은 2⋅1052\cdot 10^5를 넘지 않는다.

출력

각 테스트 케이스마다 좋은 부분집합의 개수를 109+710^9+7로 나눈 나머지를 한 줄에 출력한다.

힌트

두 번째와 네 번째 테스트 케이스에서는 모든 조명을 켜야만 전체를 밝힐 수 있다. 따라서 이 경우 좋은 부분집합은 모든 조명을 담은 집합 하나뿐이다.

세 번째 테스트 케이스에서는 두 조명 중 하나라도 켜면 전체가 밝혀진다. 따라서 {1}\{1\}, {2}\{2\}, {1,2}\{1, 2\}가 좋은 부분집합이다.

예제1

  1. 예제 1

    입력
    7
    6
    LRRLRL
    1
    L
    2
    RL
    2
    LR
    5
    RRRRL
    10
    LRLRLRLRLR
    31
    LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
    
    예상 출력
    50
    1
    3
    1
    24
    912
    73741817