QOJ.ac

QOJ

Time Limit: 20 s Memory Limit: 512 MB Total points: 100 Difficulty: [show]

#1253. Абстрактное круговое покрытие

Statistics

Ограничение по времени довольно жёсткое.

На окружности расположены $n$ различных точек, пронумерованных от $0$ до $n-1$ включительно по часовой стрелке. Круговой отрезок длины $\ell$ ($1 \le \ell \le n$) с началом в $i$ ($0 \le i \le n-1$) — это кортеж из $\ell$ последовательных по часовой стрелке точек, начинающийся с $i$ (другими словами, кортеж точек с номерами $i$, $(i+1) \bmod n$, $(i+2) \bmod n$, $\ldots$, $(i+\ell-1) \bmod n$). Круговые отрезки длины $n$ с началами в $0, 1, \ldots, n-1$ считаются попарно различными, хотя содержат одно и то же множество точек.

Каждому круговому отрезку присвоена целая стоимость $c_{i,\ell}$. Для каждого $k$ от $1$ до $n$ найдите минимальную суммарную стоимость ровно $k$ круговых отрезков, таких, что каждая из $n$ точек содержится ровно в одном из них.

Обратите внимание, что значения $c_{i,\ell}$ не обладают никакими свойствами, кроме того, что они являются сравнительно небольшими положительными целыми числами. То есть любой массив размера $n \times n$ из целых чисел от $1$ до $10^6$ является допустимым тестом для этой задачи.

Входные данные

В первой строке содержится целое число $n$ ($1 \le n \le 850$) — количество точек на окружности. В $(i+1)$-й ($0 \le i \le n-1$) из следующих $n$ строк содержатся $n$ разделённых пробелами целых чисел $c_{i,1}, c_{i,2}, \ldots, c_{i,n}$ ($1 \le c_{i,\ell} \le 10^6$ при $1 \le \ell \le n$).

Выходные данные

Выведите $n$ целых чисел, разделённых пробелами: $k$-е из них должно быть минимальной суммарной стоимостью $k$ круговых отрезков, покрывающих каждую точку ровно один раз.

Примеры

Входные данные 1

3
10 12 23
7 4 11
8 5 3

Выходные данные 1

3 12 25

Входные данные 2

1
15

Выходные данные 2

15

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.