
Roman
17.06.2016
14:42:16
Мм

Denis
17.06.2016
14:42:23

Aldar
17.06.2016
14:43:04
ну или тогда попробовать другое решение
разбить пространство на клетки

Google

Aldar
17.06.2016
14:43:19
плоскость то есть
и для середины каждой клетки посчитать n
выбрать максимальное n

Denis
17.06.2016
14:43:44
Это не ответ

Danil
17.06.2016
14:43:48

Aldar
17.06.2016
14:43:56
приблизительный - ответ

Denis
17.06.2016
14:43:58
Ты можешь не попасть в максимум
А надо точный

Danil
17.06.2016
14:44:14
ну не в максимум проще всего отжигом

Aldar
17.06.2016
14:44:21
это зависит от мелкости разбиения на клетки

Danil
17.06.2016
14:44:30
там вообще даже думать особо не надо )

Denis
17.06.2016
14:44:43
Отжиг хорош, но он тоже неточный

Aragaer
17.06.2016
14:45:11
во, можно методом каких-нибудь последовательных приближений искать локальные максимумы. Сначала побить на клетки, потом от клеток ползти к максимумам, потом выбрать лучший из них

Google

Denis
17.06.2016
14:45:26
100x(0,0),100x(0,2),r=1

Danil
17.06.2016
14:45:28

Denis
17.06.2016
14:45:35
Тут отжиг не сможет

Danil
17.06.2016
14:46:16
цели то не могут в одной точке находиться

Aldar
17.06.2016
14:46:19
цели разве могут быть в одной и той же координате

Denis
17.06.2016
14:46:33

Danil
17.06.2016
14:46:36
(ну окей, посчитаем, что там в дельте)

Aldar
17.06.2016
14:46:45
ну это бред

Danil
17.06.2016
14:46:52
не бред

Aldar
17.06.2016
14:46:53
в реальности такого не будет

Denis
17.06.2016
14:47:10
Задача не про реальность

Danil
17.06.2016
14:47:12
это эдакая эмуляция веса

Aragaer
17.06.2016
14:47:15
вобщем вот идея - есть Н точек и Н функций, которые делят плоскость на окружность вокруг точки и все остальное. Мы рассматриваем пересечения таких окружностей - то есть куски плоскости, которые получаются путем пересечения этих функций. На каждом куске (а они выпуклые) значение функции равно количеству окружностей, входящих в этот кусок

Danil
17.06.2016
14:47:30
условно, в одной базе находится 300 танчиков, а в другой 10

Aragaer
17.06.2016
14:47:36
общее число кусков не более, чем 2 в степени Н
можно их просто все перечислить и все.

Danil
17.06.2016
14:47:48
ну вот это и есть близко расположенные точки

Aragaer
17.06.2016
14:48:12
воо, нарисовать что-то вроде матрицы инцидентности, где 1 означает, что эти обе цели можно накрыть одним разом

Denis
17.06.2016
14:48:30

Danil
17.06.2016
14:49:07
оу, я чот не подумал, а чо просто из каждой точки не построить окружность, найти попарно пересечения. В какой координате больше всего пересечений, туда и стреляем

Google

Aragaer
17.06.2016
14:49:20
это и есть что я сказал 8)

Danil
17.06.2016
14:49:29
кк )

Denis
17.06.2016
14:49:35
Это куб?

Alexey
17.06.2016
14:49:36

Aldar
17.06.2016
14:49:42
можно создать пространственную структуру данных

Aragaer
17.06.2016
14:50:01
число различных наборов пересечений это экспонента

Aldar
17.06.2016
14:50:05
чтобы это быстрее посчитать

Danil
17.06.2016
14:50:12

Aragaer
17.06.2016
14:50:22
для 3 точек у нас есть область, где ноль окружностей, три по одной, три по 2, одна на все 3

Denis
17.06.2016
14:50:30
Мы же берем все точки пересечения и их проверяем, разве нет?

Aragaer
17.06.2016
14:50:36
восемь

Denis
17.06.2016
14:50:39
Точек квадрат

Danil
17.06.2016
14:51:08
в квадрат же укладываемся, не?

Aragaer
17.06.2016
14:51:22
для 4 точек будет уже 16 разных вариантов. Каждая точка плоскости либо лежит в окрестности цели Х, либо нет. Итого по биту на каждую цель. Экспонента

Denis
17.06.2016
14:51:29
Для каждой точки нужно еще ответ найти за линию

Мерлин
17.06.2016
14:51:56
А можно ещё применить пчелиный алгоритм
А к нему уже кластеризацию

Danil
17.06.2016
14:52:01
точек пересечения не больше чем 2n**2

Denis
17.06.2016
14:52:30

Google

Danil
17.06.2016
14:55:16
а, не, то решение что я придумал не катит %)
я пока формализовал, понял, что хрень

Roman
17.06.2016
14:58:43
эмм
а почему бы не перейти в полярные координаты?

Admin
ERROR: S client not available

Roman
17.06.2016
14:59:24
взять окружность в которую попадают все точки

Denis
17.06.2016
14:59:27
эмм, зачем?
такой нет

Roman
17.06.2016
14:59:53

Denis
17.06.2016
15:00:07
данного радиуса нет

Aldar
17.06.2016
15:00:31
какие характеристики имеет максимальное скопление точек, которое вписывается в окружность радиуса R?

Roman
17.06.2016
15:01:01
данного радиуса нет
причём тут радиус? у тебя есть множество точек. ты просто подбираешь окружность в которую попадают вообще все.

Aldar
17.06.2016
15:01:09
по в первых, если найти точки, которые лежат на границах выпуклого многоугольника, который эти точки покрывает

Denis
17.06.2016
15:01:11
ок, и зачем?

Danil
17.06.2016
15:01:47

Roman
17.06.2016
15:01:54

Denis
17.06.2016
15:02:08

Aldar
17.06.2016
15:02:10
то расстояние между двумя самыми удалёнными точками этого многоугольника будет меньше либо равно 2R

Roman
17.06.2016
15:02:38

Aldar
17.06.2016
15:03:10
алгоритм такой, циклом пробегаем по всем точкам

Google

Danil
17.06.2016
15:03:17
ок, и зачем?
да ты ваще сиреневый на кодефорсезе, а до сих пор тут чо то думаешь. Где AC?

Denis
17.06.2016
15:03:36

Aldar
17.06.2016
15:03:36
для каждой точки находим все точки которые не далее чем 2R до исходной точки

Denis
17.06.2016
15:04:19
я раньше желтым был

Danil
17.06.2016
15:04:35

Aldar
17.06.2016
15:04:46
и потом проверяем можем ли мы вписать из граничного многоугольника из этих точек в окружность радиуса R

Danil
17.06.2016
15:04:47
(там ведь как на топкодере?)

Denis
17.06.2016
15:05:12
красные задроты

Danil
17.06.2016
15:06:05
а сиреневые нет, угу

Aldar
17.06.2016
15:06:12

Denis
17.06.2016
15:06:15
сиреневый изи

Danil
17.06.2016
15:06:20

Denis
17.06.2016
15:06:23
2 задачи решаешь