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

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

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

Nostalgia

返回题目

题解

어떤 배치에서 X=MX=MX=M을 만들 수 있다면 행렬을 전치하여 X=−MX=-MX=−M도 만들 수 있다. 따라서 X≥0X\geq0X≥0만 생각하면 된다.

열 최댓값의 합을 최대화하면 N2−N+1,⋯ ,N2N^2-N+1,\cdots,N^2N2−N+1,⋯,N2를 각 열의 최댓값으로 둘 수 있다. 한편 행 최댓값을 오름차순으로 M1<⋯<MNM_1<\cdots<M_N이라 하면 앞의 개 행에 개의 원소가 들어가므로 이다. 이로부터 가능한 절댓값의 최댓값은

L=N(N−1)22L=\frac{N(N-1)^2}{2}L=2N(N−1)2​

임을 얻고, 실제로 행 우선으로 1,2,⋯ ,N21,2,\cdots,N^21,2,⋯,N2를 배치하면 X=LX=LX=L을 달성한다.

0≤X≤(N−1)20\leq X\leq (N-1)^20≤X≤(N−1)2에서는 큰 수 N2−N+1,⋯ ,N2N^2-N+1,\cdots,N^2N를 대각선에 둔 구성에서 첫 행의 최댓값만 로 낮추고, 빠진 큰 수를 첫 열의 다른 위치로 옮기면 정확히 를 만들 수 있다.

그보다 큰 XXX에서는 최대 구성에서 시작한다. 마지막 행의 큰 수들은 그대로 두어 열 최댓값의 합을 고정하고, 앞 N−1N-1N−1개 행의 최댓값을 뒤쪽 행부터 가능한 만큼 하나씩 키워 L−XL-XL−X만큼 행 최댓값 합을 증가시킨다. 각 목표 행 최댓값 MiM_iM는 와 엄격한 증가 조건을 만족하며, 남은 작은 수를 각 행에 채워 실제 배치를 만들 수 있다.

음수 XXX는 완성된 행렬을 전치한다. 구성 자체는 O(N2)O(N^2)O(N2)에 가능하다. Solution written by GPT5.6

M1​<
⋯<
MN​
iii
NiNiNi
Mi≥NiM_i\geq NiMi​≥Ni
2
−
N+
1,⋯,N2
X=0X=0X=0
N2−N+1−XN^2-N+1-XN2−N+1−X
XXX
i
​
Mi≥NiM_i\geq NiMi​≥Ni