DOJ logoDOJ
题目
最近添加的题目收藏的题目Workbooks
分类DLC比赛小组团队讨论区
排名
解题数量排行榜连续解题排名DOJ Power 排行榜
评测状态
征题登录注册
DOJ logoDOJ

支持 OI 子任务计分、Elo 等级分和 Discord 认证的社区在线评测系统。

题目
题目列表分类
社区
比赛排名讨论区公告举办外部比赛指南
账号
登录注册评测状态
政策
服务条款DLC 使用规则隐私政策API 文档语言运行环境比赛排名奖励评级与表现
© 2026 DOJ
保留所有权利
题解

Binary Stamps

返回题目

题解

각 문자열을 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