Две картины.
От: mihoshi Россия  
Дата: 03.03.03 15:31
Оценка:
Для разнообразия предложу новую задачу.

Пятна. На стене. Будем считать, точечные. N штук. Надо их всех накрыть одной или двумя картинами.
Картины не пересекаются, размеры — любые, но сумма площадей должна быть минимальна.

Найти решение со сложносью <= N*log(N)*const операций.
Re: Две картины.
От: vvaizh http://izh-test.sourceforge.net/
Дата: 03.03.03 15:36
Оценка:
Здравствуйте, mihoshi, Вы писали:

M>Для разнообразия предложу новую задачу.


M>Пятна. На стене. Будем считать, точечные. N штук. Надо их всех накрыть одной или двумя картинами.

M>Картины не пересекаются, размеры — любые, но сумма площадей должна быть минимальна.

M>Найти решение со сложносью <= N*log(N)*const операций.


А я в отместку скажу, что это классический алгоритм построения R-tree!!!!!!
Которые есть в Oracle, PostgreesSQL, и других...!!!!!!
http://izh-test.sourceforge.net/russian/introduction.html
Re[2]: Две картины.
От: mihoshi Россия  
Дата: 03.03.03 16:22
Оценка:
Здравствуйте, vvaizh, Вы писали:

V>Здравствуйте, mihoshi, Вы писали:


M>>Для разнообразия предложу новую задачу.


M>>Пятна. На стене. Будем считать, точечные. N штук. Надо их всех накрыть одной или двумя картинами.

M>>Картины не пересекаются, размеры — любые, но сумма площадей должна быть минимальна.

M>>Найти решение со сложносью <= N*log(N)*const операций.


V>А я в отместку скажу, что это классический алгоритм построения R-tree!!!!!!

V>Которые есть в Oracle, PostgreesSQL, и других...!!!!!!

? Все ГОРАЗДО проще.
Re: Две картины.
От: _Smok http://smok-x.livejournal.com
Дата: 04.03.03 15:37
Оценка:
Здравствуйте, mihoshi, Вы писали:

M>Для разнообразия предложу новую задачу.


M>Пятна. На стене. Будем считать, точечные. N штук. Надо их всех накрыть одной или двумя картинами.

M>Картины не пересекаются, размеры — любые, но сумма площадей должна быть минимальна.

M>Найти решение со сложносью <= N*log(N)*const операций.


А они хоть прямоугольные (картины)?
Re: Две картины.
От: IPv6 Россия http://www.lumarnia.com/
Дата: 04.03.03 15:54
Оценка:
Здравствуйте, mihoshi, Вы писали:

M>Для разнообразия предложу новую задачу.


M>Пятна. На стене. Будем считать, точечные. N штук. Надо их всех накрыть одной или двумя картинами.

M>Картины не пересекаются, размеры — любые, но сумма площадей должна быть минимальна.

А что так — одной или двумя? а остальные картины куда девать, пусть в чулане валяются?
а картины поворачивать можно или нет? И что считать за операцию? сортировка точек по одной из координат — это одна операция или сколько?
Re[2]: Две картины.
От: mihoshi Россия  
Дата: 04.03.03 16:08
Оценка:
Здравствуйте, IPv6, Вы писали:

IP>Здравствуйте, mihoshi, Вы писали:


M>>Для разнообразия предложу новую задачу.


M>>Пятна. На стене. Будем считать, точечные. N штук. Надо их всех накрыть одной или двумя картинами.

M>>Картины не пересекаются, размеры — любые, но сумма площадей должна быть минимальна.

IP>А что так — одной или двумя? а остальные картины куда девать, пусть в чулане валяются?

IP>а картины поворачивать можно или нет? И что считать за операцию? сортировка точек по одной из координат — это одна операция или сколько?

Ах да. Картины прямоугольные. Пишутся на заказ специально для такого случая. Стороны параллельны или перпендикулярны полу.

Операция — одна команда ассемблера.

Сортировка картин по соординате — n * log(n) * const операций.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.