1

Тема: Цікава задачка з призовим фондом 1000 грн.

Привіт.

Один мій колега оголосив конкурс про цікаву задачу з програмування у стилі олімпіади з призовим фондом 1000 грн.
Якщо комусь цікаво тут деталі http://gotoit.pl.ua/rescue-operation-ja … challenge/
Я щось спочатку думав її розв'язати, використовуючи діаграми Вороного, але схоже, цю задачку не так просто розв'язати.

Можливо, комусь буде цікаво.

Щасливого Різдва всім, свят і нового 7x9x32 року.

Подякували: Анатолій1

2

Re: Цікава задачка з призовим фондом 1000 грн.

Гадаю можна використати алгоритм кластеризації. Наприклад Кластеризація методом к–середніх.

3

Re: Цікава задачка з призовим фондом 1000 грн.

Там проблема, що в кластерах має бути не більш як N людей (за числом гелікоптерів). А кількість кластерів, де менше N людей, теж жорстко обмежена. Наприклад, якщо в гелікоптер влазить 2 людей, то ось вам карта (фактично на одній прямій):

(3 людини поруч) (1000 м) (1 людина) (100 м) (4 людини)

1 людина в центрі за будь-чим аналоговим буде тягнутися до 4 праворуч від неї; але розв'язок тут - навпаки, їй іти 500 метрів ліворуч (а одному з трьох - 500 метрів праворуч).
Мені здається, тут треба відрізати групи по N людей з країв множини; але тоді в результаті буде неповна група, вочевидь, неоптимальна. І як її далі балансувати по інших - я гадки не маю.

Подякували: Yola1

4

Re: Цікава задачка з призовим фондом 1000 грн.

А задачка дійсно цікаво, побавитись нею сьогодні чи що)
Там є сандбокс зразу бачу

5

Re: Цікава задачка з призовим фондом 1000 грн.

Доречі для результату беруть найдовший маршрут взагалі, а не суму найдовших маршрутів до кожного вертольота.
Тобто треба оптимізувати максимальне значення а не середнє.

6

Re: Цікава задачка з призовим фондом 1000 грн.

то не сендбокс, а JSFiddle, і там треба спочатку форкнути приклад перед тим, як щось там змінювати )
До речі, так, треба оптимізувати максимальне значення а не середнє. Це мене теж трохи поставило в тупик.

7

Re: Цікава задачка з призовим фондом 1000 грн.

А захисту нема, щоб твій код ті кому розшарив не ламали?

8

Re: Цікава задачка з призовим фондом 1000 грн.

Вобщем сиджу бавлюсь, як закінчу скину сюди, хто схоче зможе взяти і можливо виграти штуку.

9

Re: Цікава задачка з призовим фондом 1000 грн.

до речі, в принципі, метод Кластеризації к–середніх можна якось поміняти, щоб він шукав не загальне середнє значення, а максимальне. Тільки питання в тому, чи буде така модифікація алгоритму збіжною, і чи буде збігатися до оптимального значення

10

Re: Цікава задачка з призовим фондом 1000 грн.

Vo_Vik написав:

А захисту нема, щоб твій код ті кому розшарив не ламали?

я не пробував, можливо, могла б бути можливість створити якийсь приватний фідл...
хоча, цей сервіс призначений передусім для кооперації, тому не факт чи можна якось ховати

11

Re: Цікава задачка з призовим фондом 1000 грн.

Дивно, що приклад ще не поламали. А то я вже майже натиснув був ctrl+s

12

Re: Цікава задачка з призовим фондом 1000 грн.

Vo_Vik написав:

Дивно, що приклад ще не поламали. А то я вже майже натиснув був ctrl+s

в принципі, там мали б бути способи відкатати зміни