RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
USACO0576

Pareidolia

Platinum II 플래티넘 II
난이도
2s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

*Note: The time limit for this problem is 4s, twice the default. The memory
limit for this problem is 512MB, twice the default.
*

Pareidolia is the phenomenon where your eyes tend to see familiar patterns in
images where none really exist -- for example seeing a face in a cloud. As you
might imagine, with Farmer John's constant proximity to cows, he often sees
cow-related patterns in everyday objects. For example, if he looks at the
string "bqessiyexbesszieb", Farmer John's eyes ignore some of the letters and
all he sees is "bessiebessie".

Given a string \(s\), let \(B(s)\) represent the maximum number of repeated copies
of "bessie" one can form by deleting zero or more of the characters from \(s\).
In the example above, \(B(\)"bqessiyexbesszieb"\() = 2\). Furthermore, given a
string \(t\), let \(A(t)\) represent the sum of \(B(s)\) over all contiguous
substrings \(s\) of \(t\).

Farmer John has a string \(t\) of length at most \(2\cdot 10^5\) consisting only of
characters a-z. Please compute \(A(t)\), and how \(A(t)\) would change after \(U\)
(\(1\le U\le 2\cdot 10^5\)) updates, each changing a character of \(t\). Updates
are cumulative.

Problem credits: Brandon Wang and Benjamin Qi

제약

SCORING

  • Input 2: \(|t|, U\le 300\)
  • Inputs 3-5: \(U\le 10\)
  • Inputs 6-13: \(|t|, U\le 10^5\)
  • Inputs 14-21: No additional constraints.

Problem credits: Brandon Wang and Benjamin Qi

입력 형식

The first line of input contains \(t\).

The next line contains \(U\), followed by \(U\) lines each containing a position \(p\)
(\(1\le p\le N\)) and a character \(c\) in the range a-z, meaning that the \(p\)th
character of \(t\) is changed to \(c\).

출력 형식

Output \(U+1\) lines, the total number of bessies that can be made across all
substrings of \(t\) before any updates and after each update.

예제 1
입력
bessiebessie
3
3 l
7 s
3 s
출력
14
7
1
7
설명

Before any updates, twelve substrings contain exactly 1 "bessie" and 1 string
contains exactly 2 "bessie"s, so the total number of bessies is
\(12\cdot 1 + 1 \cdot 2 = 14\).

After one update, \(t\) is "belsiebessie." Seven substrings contain exactly one
"bessie."

After two updates, \(t\) is "belsiesessie." Only the entire string contains
"bessie."

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2022-2023 > US Open > Platinum

태그

평가 및 의견

Pareidolia

개요
출제자 난이도 Platinum II 플래티넘 II 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Pareidolia

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8