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

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

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

Palindrome Addition

返回题目

题解

F(x)=∑i=0NcixiF(x)=\sum_{i=0}^{N}c_ix^iF(x)=∑i=0N​ci​xi라 하자. N=0N=0N=0이면 FFF 자체가 팰린드롬이므로 그대로 출력하면 된다. 이제 N≥1N\ge1N≥1이라고 하자.

길이가 각각 N+1N+1N+1, NNN인 계수열 a0,⋯ ,aNa_0,\cdots,a_Na0​,⋯,a과 을 만들고

g(x)=∑i=0Naixi,h(x)=∑i=0N−1bixig(x)=\sum_{i=0}^{N}a_ix^i,\qquad h(x)=\sum_{i=0}^{N-1}b_ix^ig(x)=i=0∑N​a

라 하자. 먼저

a0=aN=cNa_0=a_N=c_Na0​=aN​=cN​

으로 둔다. 그리고 i=0,1,⋯ ,⌊N−12⌋i=0,1,\cdots,\left\lfloor\frac{N-1}{2}\right\rfloori=0,1,⋯,⌊2N−1​⌋에 대하여 다음을 순서대로 계산한다. 모든 계산은 을 법으로 한다.

bi=ci−ai,bN−1−i=bi,b_i=c_i-a_i,\qquad b_{N-1-i}=b_i,bi​=ci​−a ai+1=cN−1−i−bi,aN−1−i=ai+1.a_{i+1}=c_{N-1-i}-b_i,\qquad a_{N-1-i}=a_{i+1}.ai+1​=cN−1−i​

각 단계에서 bbb의 바깥쪽 두 계수와 그 다음 aaa의 바깥쪽 두 계수를 동시에 맞춘다. 따라서 반복이 끝나면 ai=aN−ia_i=a_{N-i}ai​=aN−i​가 모든 에 대해 성립하여 가 팰린드롬이고, 도 성립한다. 또한 각 계수를 직접 대입하면

F=g+hF=g+hF=g+h

가 성립한다.

h=0h=0h=0이면 ggg 하나만 출력하면 된다. h≠0h\ne0h=0이고 b0≠0b_0\ne0b이면 이므로 의 차수는 이고, 자체가 팰린드롬이다. 이 경우 두 개를 출력하면 된다.

남은 경우는 h≠0h\ne0h=0이고 b0=0b_0=0b0​=0인 경우이다. bk≠0b_k\ne0인 가장 작은 를 잡자. 의 대칭성 때문에 바깥쪽의 개 계수는 양쪽 모두 이고, 이다. 따라서

d=N−1−2k,d=N-1-2k,d=N−1−2k, r(x)=∑j=0dbj+kxjr(x)=\sum_{j=0}^{d}b_{j+k}x^jr(x)=j=0∑d​bj+

로 두면 rrr은 0이 아닌 팰린드롬이고

h=xkrh=x^krh=xkr

이다.

이제

s=r+xkrs=r+x^krs=r+xkr

로 두자. rrr이 차수 ddd의 팰린드롬이므로 sss의 계수열은 차수 d+kd+kd+k를 기준으로 대칭이다. 따라서 sss도 팰린드롬이다. 또한 −r-r도 팰린드롬이고

s+(−r)=xkr=hs+(-r)=x^kr=hs+(−r)=xkr=h

이므로

F=g+s+(−r)F=g+s+(-r)F=g+s+(−r)

를 얻는다.

ggg의 최고차항 계수는 cN≠0c_N\ne0cN​=0이다. 두 번째 경우의 hhh는 최고차항 계수가 b0≠이고, 마지막 경우의 역시 구성상 최고차항 계수가 0이 아니다. 따라서 출력하는 모든 다항식은 문제의 정의를 만족한다.

각 계수는 상수 번만 처리되므로 한 테스트 케이스의 시간 복잡도는 O(N)O(N)O(N), 추가 메모리는 O(N)O(N)O(N)이다. 전체 입력에 대해서는 O ⁣(∑(N+1))O\!\left(\sum(N+1)\right)O(∑(N+1))이다. 이 과정은 덧셈과 뺄셈만 사용하므로 이 소수일 필요가 없다.

Solution written by GPT5.6

N
​
b0,⋯ ,bN−1b_0,\cdots,b_{N-1}b0​,⋯,bN−1​
i​
xi
,
h
(
x
)
=
i=0∑N−1​bi​xi
MM
M
i
​
,
bN−1−i​
=
bi​,
−
bi​,aN−1−i​=
ai+1​.
iii
ggg
bi=bN−1−ib_i=b_{N-1-i}bi​=bN−1−i​
0​
=
0
bN−1=b0≠0b_{N-1}=b_0\ne0bN−1​=b0​=0
hhh
N−1N-1N−1
hhh
g,hg,hg,h
bk​
=
0
kkk
bbb
kkk
000
bN−1−k=bk≠0b_{N-1-k}=b_k\ne0bN−1−k​=bk​=0
k
​
xj
−
r
0b_0\ne0
b0​=0
r,s,−rr,s,-rr,s,−r
MM
M