@ru_python

Страница 1027 из 9768
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
цели разве могут быть в одной и той же координате

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
общее число кусков не более, чем 2 в степени Н
Ты 2^n кусков перебирать будешь?

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
чтобы это быстрее посчитать

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 разных вариантов. Каждая точка плоскости либо лежит в окрестности цели Х, либо нет. Итого по биту на каждую цель. Экспонента

Мерлин
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
ок, и зачем?

Roman
17.06.2016
15:01:54
ок, и зачем?
найти центр системы отсчёта.

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

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

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

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
(там ведь как на топкодере?)

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

Aldar
17.06.2016
15:06:12
яннп
яннп?

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

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

Страница 1027 из 9768