Кошки и выпуклые фигуры

May 28, 2013 09:13


В воскресном раунде на codeforces.ru была такая задача - http://codeforces.ru/contest/311/problem/B

Несмотря на заковыристое описание, сводится она к следующему:
  • Дана последовательность S из m чисел в неубывающем порядке.
  • Требуется разбить последовательность на p непрерывных групп [Pis, Pie] с минимизацией суммы sum{i=0,p-1}(sum{j=P[i].s,P[i].e-1}(S[P ( Read more... )

programming, algorithm

Leave a comment

Comments 3

sleepy_drago May 28 2013, 16:44:53 UTC
sweep line segment intersection очень даже нетривиальная штука. в статье они не отрезки пересекают а прямые, что немного проще.

Reply


_winnie June 3 2013, 21:36:31 UTC
Не смог распарсить sum{i=0,m-1}(sum{j=Pis,Pie-1}(S[Pie]-S[j])).

Возможно i от 0 до p-1, а не до m-1?
P(i+1)s равно P(i)e, или же P(i)e+1 ?

S[Pie] в сумме по j не меняется? Т.е. можно вынести за знак суммы по j и умножить на (Pie-Pis) ?

Кусочек -S[j] под двумя суммами по i и по j - не суммируется ли случайно в сумму всей последовательности (сумма группы, сумма сумм групп)?

Reply

soloviewoff June 4 2013, 12:30:56 UTC
С индексом ошибка была, да. Вот так должно быть более понятно:

sum{i=0,p-1}(sum{j=P[i].s,P[i].e-1}(S[P[i].e]-S[j]))

Да, упростить можно.

Reply


Leave a comment

Up