Сохранен 49
https://2ch.hk/pr/res/1326942.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Решат только люди с iq выше 90

 Аноним 15/01/19 Втр 04:17:11 #1 №1326942 
photo2018-10-1404-03-28.jpg
Дана карта, на ней города, которые имеют координаты X, Y, Z.

Нужно обозначить каждый город ОДНИМ числом исходя из его координат, да так, чтобы можно было сказать, к какому городу ты ближе всего находишься твои X, Y, Z тебе известны
Аноним 15/01/19 Втр 04:18:03 #2 №1326943 
>>1326942 (OP)
>твои X, Y, Z тебе известны
их тоже надо будет в этом число перевести, кстати
Аноним 15/01/19 Втр 04:37:38 #3 №1326944 
числом или цифрой? просто если числом и я все правильно понял, задача банальная.
Аноним 15/01/19 Втр 04:47:48 #4 №1326948 
>>1326942 (OP)
>имеют координаты X, Y, Z.
Ебать, города в космосе
Аноним 15/01/19 Втр 05:07:41 #5 №1326950 
>>1326942 (OP)
что мешает сделать так :
X = - 100
Y = 20
Z = 0
Максимальное значение 1 координаты (например) - 1000.

101000002000000
Аноним 15/01/19 Втр 05:12:33 #6 №1326952 
>>1326950
или 100010000200000
Аноним 15/01/19 Втр 05:16:41 #7 №1326953 
>>1326942 (OP)
>координаты X, Y, Z
>ОДНИМ числом
И где тут задача? Комплексное число в пространстве, либо даже просто векторная запись.
Аноним 15/01/19 Втр 05:25:32 #8 №1326957 
>>1326942 (OP)
гугли cantor pairing function
Аноним 15/01/19 Втр 06:16:39 #9 №1326975 

нужно еще учитывать, что земля круглая
вот так то
Аноним 15/01/19 Втр 06:25:31 #10 №1326977 
>>1326975
>2019
>думать, что земля круглая
Думаю, всем давно понятен уровень местной публики.
Аноним 15/01/19 Втр 09:43:50 #11 №1327006 
Чет в треде какие-то сложные ответы.
Пишу первую же мысль: Можно координату обозначать, разделяя x y и z 0, то есть условно говоря у нас есть x y z 10, 50 и 48 соответственно. Тогда число, обозначающее эту координату будет 10050048. Но тогда у нас остается проблема отрицательных координат. Тут у меня первая мысль такая: Можно в дробной части например + обозначать цифрой 1, а - цифрой 2, тогда если у нас координаты, допусти 10, -50, 48, то все число у нас будет таким: 10050048.121. Как идея?
мимо-Васян-helloworldер
Аноним 15/01/19 Втр 10:37:33 #12 №1327016 
>>1326942 (OP)
xi +yj + z
/thread
Аноним 15/01/19 Втр 14:01:29 #13 №1327125 
>>1327006
Не будет такое работать. Как мы потом сравним, к какой координате нам ближе? Ты же должен будешь свою точку вычесть из точки всех городов, и какой результат окажется ближе с 0, к тому городу ты и ближе
Аноним 15/01/19 Втр 14:03:08 #14 №1327128 
>>1326944
Числом конечно. Это просто должна быть 1 запись, типа индекса по которому легко можно было бы сказать, к какому городу оно ближе. Цифрой такое не сделать, городов ведь больше 10 (0-9)
Аноним 15/01/19 Втр 14:08:10 #15 №1327132 
>>1327128
По-моему это число называется расстоянием
Аноним 15/01/19 Втр 14:13:02 #16 №1327137 
>>1327132
Лол сука. Причем тут расстояние? Расстояние относительно чего? У каждого города должно быть обозначение 1 числом, чтобы по этому числу можно было сказать, тот или иной это город. Число должно быть выведено на основе его координат
Аноним 15/01/19 Втр 14:13:33 #17 №1327138 
>>1327137
И по этому числу можно было бы сказать, к какому городу ты ближе, если ты узнаешь свое число, так же выведенное из координат
Аноним 15/01/19 Втр 14:21:37 #18 №1327141 
Если же вопрос именно в том, как закодировать 3 числа одним, то есть несколько способов.
Первый - закодировать X, Y, Z в виде битовой строки. Пусть каждое число X, Y, Z - битовая строка произвольной длины. Дальше кодируем типа.
1x1x1x1x1x1x1x1x1x001y1y1y1y1y1y1y1y001z1z1z1z1z1z1z1z1z
где иксы, игреки и зеты - это собственно биты наших чисел. Два нуля, идущих подряд - признак отделения X от Y и Y от Z.

Если у нас, не дай бог, X, Y, Z - непрерывные числа (как это называется, R короче), нужна https://en.wikipedia.org/wiki/Space-filling_curve. Потому что "дана карта" - значит объем, в котором есть города, конечномерен. А значит можно отобразить наш 3д-кубик на фрактал, который покрывает весь этот кубик одной длинной кривой. Результирующее число тоже будет непрерывным.
Аноним 15/01/19 Втр 14:22:37 #19 №1327143 
>>1327137
Если мои X, Y, Z мне известны, то очевидно, что обозначить города нужно расстоянием от меня до них
Аноним 15/01/19 Втр 14:32:58 #20 №1327152 
>>1327143
А как ты высчитаешь расстояние? У тебя же не будет XYZ городов, а будет только это число
Аноним 15/01/19 Втр 14:34:38 #21 №1327155 
>>1327152
И да, еще раз, РАССТОЯНИЕ в километрах или в метрах не нужно, нужно просто какое то абстрактное число, по которому можно будет судить кто ближе, а кто дальше
Аноним 15/01/19 Втр 14:42:59 #22 №1327162 
>>1327152
Ты изначально очень криво сформулировал задачу. Если мои координаты фиксированы (что по твоей формулировке выглядит так), то каждому городу я ставлю в соответствее число (X-X0)^2+(Y-Y0)^2+(Z-Z0)^2, где Z0, Y0, Z0 - мои координаты. Тогда город с минимальным числом будет ближайшим городом. Видимо, ты имел в виду что-то посложнее, раз не понимаешь, что я имею в виду.
Аноним 15/01/19 Втр 14:48:17 #23 №1327165 
>>1327155
Чем тебя не устраивает решение с бикомплексным числом?
Аноним 15/01/19 Втр 14:48:58 #24 №1327166 
Еще один алгоритм. Находим минимальное расстояние между двумя городами. Строим октодерево глубины достаточной, чтобы перекрыть машинный эпсилон. Дальше тройками бит кодируем путь по этому дереву к ноде в виде положения города. Дальше используем стандартный алгоритм поиска ближайшего соседа в октодереве.

По-моему я изобретаю geohash
Аноним 15/01/19 Втр 15:11:57 #25 №1327195 
>>1327141
>https://en.wikipedia.org/wiki/Space-filling_curve
У тебя тогда расстояние от точки до точки будет по этой кривой, а не прямой.
Аноним 15/01/19 Втр 15:20:18 #26 №1327202 
>>1327195
>У тебя тогда расстояние от точки до точки будет по этой кривой, а не прямой.
Есть и обратное преобразование, из точки на кривой получаешь X, Y, Z и вычисляешь точное расстояние. С этим проблем вообще нет. https://github.com/galtay/hilbert_curve А так на этих кривых работают вероятностные алгоритмы во всяких AI-йобах типа faiss - ведь кривая сохраняет пространственствую локальность, поэтому бликие точки скорее всего будут близки и на кривой.
Проблема в том, что я программист и мне все эти действительные числа с бесконечной десятичной записью не очень приятны сами по себе, проще упаковать X, Y, Z в одно число тупо через битовое представление. Скажу тебе по секрету, что вся оперативная память компьютера это одно большое число.
Аноним 15/01/19 Втр 15:25:57 #27 №1327206 
>>1327202
Я так понял из задачи, что обратного преобразования не должно быть. Вычислил два числа, сравнил - получил ответ.
Аноним 15/01/19 Втр 16:12:54 #28 №1327242 
>>1327206
Ну так-то еще проще. Эквидистантные кривые между городами образуют многоугольники (многогранники в 3д случае). Пишем функцию, которая по координатам X, Y, Z выдает номер многоугольника.
Аноним 15/01/19 Втр 16:23:01 #29 №1327248 
>>1327242
Многогранники Воронова? Как вариант.
Аноним OP 15/01/19 Втр 17:32:39 #30 №1327277 
>>1327242
Ты просто предлагаешь поделить карту на квадраты, короче говоря. Я тоже пока только этот вариант нашел. Видимо других и не существует
Аноним 15/01/19 Втр 17:38:36 #31 №1327279 
>>1327277
Нет, не на квадраты.
>Видимо других и не существует
Так у тебя еще и ответа нет? Фю.
Аноним 15/01/19 Втр 18:17:54 #32 №1327302 
>>1327279
>
>Так у тебя еще и ответа нет? Фю.
Нет, а ты думал зачем я тред создал?
Аноним 15/01/19 Втр 18:41:56 #33 №1327316 
>>1327279
Кстати на ту же тему - шазам ищет среди миллионов аудиозаписей за секунду. У него музыка ведь тоже закодирована некими числами, но они же не сравнивают каждую песню с той, что ты загрузил, а сразу тыкает в нужную (ну или в приблизительно нужную и уже там пару сотен треков сравнивает досконально)
Аноним 15/01/19 Втр 18:45:08 #34 №1327320 
>>1327316
Шазам вычисляет приблизительное расстояние, а в задаче точное
Аноним 15/01/19 Втр 19:20:59 #35 №1327346 
>>1327320
В задаче "ближайшее" а не точное
Аноним 15/01/19 Втр 22:23:52 #36 №1327473 
image.png
Аноним 15/01/19 Втр 22:24:28 #37 №1327474 
fano.png
Вся инфа о решении на пике.
Например три числа - 10 11 12
Результат - 1111011111000111111111110001111111101
Аноним 16/01/19 Срд 02:06:54 #38 №1327592 
14946986638111.jpg
Решил проблему по другому, все свободны
Аноним 16/01/19 Срд 02:08:27 #39 №1327594 
>>1327592
Тебя не отпустили еще. Пали решение и можешь уёбывать нахуй.
Аноним 16/01/19 Срд 02:27:39 #40 №1327596 
>>1326942 (OP)
Координаты целочисленные?
Тогда можно сделать стандартную схему пересчёта в натуральное множество:
0 (0;0;0), 1(1;0;0), 2(1;1;0), 3(1;1;1), 4(2;1;1), etc.

Аноним 16/01/19 Срд 03:04:10 #41 №1327599 
sqrt(x2 + y2 + z2)
Мои координаты тогда, наверно, x=0, y=0, z=0.
Аноним 16/01/19 Срд 11:42:47 #42 №1327727 
>>1327594
Смысл? Оно ничего общего с этой задачей не имеет, мне нужен был быстрый поиск по параметрам (или координатам, как угодно). Просто выбирал ближайшие значения, потом из массива "примерных" значений выбирал точные. Скорость всё равно такая себе, ну пойдет думаю, в 10 раз быстрее начального варианта так или иначе


Аноним 16/01/19 Срд 11:43:11 #43 №1327729 
>>1327727
>ничего общего с этой задачей не имеет
общего с вариантом решения в оп посте то есть
Аноним 16/01/19 Срд 14:06:18 #44 №1327790 
>>1326977
Плоскоземельщик, сьеби нахуй из треда, где еще есть остатки умных людей. Тебе тут не место, пиздуй в /zog
Аноним 17/01/19 Чтв 04:24:52 #45 №1328338 
>>1326942 (OP)
Переводишь в сферическую систему координат относительно себя. Расстояние - целая часть числа, углы - дробная (например, чередованием разрядов).
Ближайший ищется тривиально. Восстановить X, Y, Z можно обратным преобразованием со сдвигом на свои координаты.
Аноним 17/01/19 Чтв 10:01:49 #46 №1328391 
>>1326942 (OP)
Зачем на карте координата Z? Во-первых, даже если города имеют разную высоту над уровнем моря, они не могут находится друг на друге. То есть не может быть случая, когда X и Y совпадают, но Z имеет разные значения. Во-вторых, сама карта имеет только 2 координаты, она не может быть 3-х мерной. Поэтому задача не имеет смысла, так как Z в данном случае не нужен.
Аноним 17/01/19 Чтв 10:11:20 #47 №1328395 
>>1328391
Может речь о галактической карте в опасной элите.
Аноним 17/01/19 Чтв 11:32:37 #48 №1328423 
>>1326942 (OP)
Зарезервировать последний знак определённой системы счисления под разделитель.
Всё: у тебя одновременно и координаты и их разделение, и всё это вполне себе число.
Аноним 28/01/19 Пнд 21:17:00 #49 №1336913 
>>1326942 (OP)
тупой майнкрафтер байтанул лалок на решение. красава, уважаю. сегодня со смазкой
comments powered by Disqus