Skip to content

Conversation

@oncsr
Copy link
Contributor

@oncsr oncsr commented Dec 26, 2025

🧷 문제 링크

https://www.acmicpc.net/problem/30573

🧭 풀이 시간

30분

👀 체감 난이도

✏️ 문제 설명

17명의 학생을 각각 알파벳 a부터 q까지로 나타낸다.
N개의 동아리가 주어지고, 각 동아리에 속한 학생들이 문자열 p[i]로 주어진다.
학생들의 상담 일정을 나타내는 문자열 Q가 주어진다.

Q의 구간 [a,b]에 속한 모든 학생들을 모아서 상담을 할 때, N개의 동아리 중 적어도 하나의 동아리에 속한 학생들이 모두 포함되도록 하는 구간의 개수를 구해보자.

🔍 풀이 방법

어떤 학생 집합 s가 적어도 하나의 동아리에 속한 학생들이 모두 포함되어 있다고 가정하자. 그리고 이를 f[s] = 1이라고 두자.
그러면 s & t = s인 모든 t에 대해 f[t] = 1이다.
-> 백트래킹으로 f값이 1이 되는 모든 집합들을 구한다.

이후, 일정 문자열에서 투 포인터로 f가 1인 구간을 세준다.

⏳ 회고

ez

@oncsr oncsr self-assigned this Dec 26, 2025
@oncsr oncsr added the success 👍 해설을 보지 않고 풀었을 때 label Dec 26, 2025
@ShinHeeEul ShinHeeEul merged commit f00fbb3 into main Dec 26, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants