Logo
(追記) (追記ここまで)

31771번 - The 'Winning' Gene 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB38161453.846%

문제

After years of hosting games and watching Bessie get first place over and over, Farmer John has realized that this can't be accidental. Instead, he concludes that Bessie must have winning coded into her DNA so he sets out to find this "winning" gene.

He devises a process to identify possible candidates for this "winning" gene. He takes Bessie's genome, which is a string $S$ of length $N$ where 1ドル \leq N \leq 3000$. He picks some pair $(K,L)$ where 1ドル \leq L \leq K \leq N$ representing that the "winning" gene candidates will have length $L$ and will be found within a larger $K$ length substring. To identify the gene, he takes all $K$ length substrings from $S$ which we will call a $k$-mer. For a given $k$-mer, he takes all length $L$ substrings, identifies the lexicographically minimal substring as a winning gene candidate (choosing the leftmost such substring if there is a tie), and then writes down the 0ドル$-indexed position $p_i$ where that substring starts in $S$ to a set $P$.

Since he hasn't picked $K$ and $L$ yet, he wants to know how many candidates there will be for every pair of $(K,L)$.

For each $v$ in 1ドル\dots N,ドル help him determine the number of $(K,L)$ pairs with $|P|=v$.

입력

$N$ representing the length of the string. $S$ representing the given string. All characters are guaranteed to be uppercase characters where $s_i \in A-Z$ since bovine genetics are far more advanced than ours.

출력

For each $v$ in 1ドル\dots N,ドル output the number of $(K,L)$ pairs with $|P|=v,ドル with each number on a separate line.

제한

예제 입력 1

8
AGTCAACG

예제 출력 1

11
10
5
4
2
2
1
1

In this test case, the third line of the output is 5 because we see that there are exactly 5 pairs of $K$ and $L$ that allow for three "winning" gene candidates. These candidates are (where $p_i$ is 0ドル$-indexed):

(4,2) -> P = [0,3,4]
(5,3) -> P = [0,3,4]
(6,4) -> P = [0,3,4]
(6,5) -> P = [0,1,3]
(6,6) -> P = [0,1,2]

To see how (4,2) leads to these results, we take all 4ドル$-mers

AGTC
GTCA
TCAA
CAAC
AACG

For each 4ドル$-mer, we identify the lexicographically minimal length 2 substring

AGTC -> AG
GTCA -> CA
TCAA -> AA
CAAC -> AA
AACG -> AA

We take the positions of all these substrings in the original string and add them to a set $P$ to get $P = [0,3,4]$.

On the other hand, if we focus on the pair $(4,1),ドル we see that this only leads to 2ドル$ total "winning" gene candidates. If we take all 4ドル$-mers and identify the lexicographically minimum length 1ドル$ substring (using A and A' and A* to distinguish the different As), we get

AGTC -> A
GTCA' -> A'
TCA'A* -> A'
CA'A*C -> A'
A'A*CG -> A'

While both A' and A* are lexicographically minimal in the last 3 cases, the leftmost substring takes precedence so A' is counted as the only candidate in all of these cases. This means that $P = [0,4]$.

힌트

출처

Olympiad > USA Computing Olympiad > 2023-2024 Season > USACO 2024 US Open Contest > Silver 3번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /