DOJ logoDOJ
Problems
Recently added problemsSaved problems
CategoriesDLCContestsGroupsTeamsBoard
Ranking
Solved Problem RankingStreak rankingDOJ Power ranking
Status
Call for TasksLoginRegister
DOJ logoDOJ

Community online judge with OI-style subtask scoring, Elo ratings, and Discord-backed certification.

Problems
ProblemsCategories
Community
ContestsRankingBoardNoticesHost an external contestGuide
Account
LoginRegisterJudge Status
Policy
Terms of ServiceDLC RulesPrivacyAPI documentationLanguage runtimesContest rank rewardsRating and performance
© 2026 DOJ
All rights reserved
Editorial

Binary Stamps

Back to problem

Editorial

각 문자열을 F2\mathbb{F}_2F2​ 위의 벡터로 생각하자. 어떤 도장을 한 위치에 찍는 것은 길이 nnn인 벡터 하나를 XOR하는 것과 같다. 따라서 가능한 모든 연산 결과는 도장들을 가능한 위치에 놓아 얻는 벡터들의 선형생성공간이다. 문제는 sss가 이 선형생성공간에 속하는지 묻는 것이다.

이를 직접 가우스 소거하면 벡터 길이가 너무 길다. 대신 쌍대공간을 본다. 길이 nnn인 벡터 yyy가 모든 도장 벡터와 내적이 000이라면, yyy는 다음 조건을 만족한다.

∑j=0∣ti∣−1ti[j+1]yl+j=0\sum_{j=0}^{|t_i|-1} t_i[j+1]y_{l+j}=0j=0∑∣ti​∣−1​

모든 i∈{1,2,3}i \in \{1,2,3\}i∈{1,2,3}와 가능한 모든 시작 위치 lll에 대해 위 식이 성립해야 한다.

L=max⁡(a,b,c)−1L=\max(a,b,c)-1L=max(a,b,c)−1이라 하자. 가장 긴 도장 하나를 고르면, 그 도장의 마지막 문자가 1이므로 ypy_pyp​ (p)는 이전 개의 값의 XOR로 결정된다. 따라서 모든 는 처음 개의 변수 의 선형식으로 표현된다. 여기서 이다.

이제 모든 도장 조건을 이 LLL개의 변수에 대한 선형 방정식으로 추가한다. 또한 sss와 yyy의 내적도 LLL개의 변수에 대한 선형식 하나로 계산한다. 선형대수의 기본 성질에 의해 sss가 도장 벡터들의 선형생성공간에 속할 필요충분조건은, sss와 y의 내적 선형식이 추가한 방정식들의 행공간에 속하는 것이다.

L≤99L \leq 99L≤99이므로 각 선형식은 128비트 정수 하나로 저장할 수 있다. 각 위치마다 세 도장 조건만 처리하면 되므로 시간 복잡도는 O(n(a+b+c))O(n(a+b+c))O(n(a+b+c)), 메모리 복잡도는 O(n)O(n)O(n)이다.

Solution written by GPT5.5

t
i​
[
j
+
1]yl+j​=
0
≥Lp \geq L
p≥L
LLL
ypy_pyp​
LLL
x0,x1,⋯ ,xL−1x_0,x_1,\cdots,x_{L-1}x0​,x1​,⋯,xL−1​
L≤99L \leq 99L≤99
y
y