hira88 #2681 3 мая 2019 Есть X массивов в листе, с различными числами, которых Y. И из этих массивов нужно найти массив, в котором числа, если их склеить, образуют наименьшее число. ну это чуть по больше условий, и под 40% нагрузки на ГПУ будетскину вечером рабочий пример Поделиться сообщением Ссылка на сообщение
Pep_See #2682 3 мая 2019 Есть X массивов в листе, с различными числами, которых Y. И из этих массивов нужно найти массив, в котором числа, если их склеить, образуют наименьшее число.ну это чуть по больше условий, и под 40% нагрузки на ГПУ будетскину вечером рабочий примерХира, ты такой альтруист, я впервые вижу вообще. pepehands Поделиться сообщением Ссылка на сообщение
toouur #2683 3 мая 2019 с двух постов выше выпал в осадок и почувствовал себя долбаёбомне надо так Хиро а объянение для гуманитариев можно? Скрытый текст OMGVERYLONGNAME написал 08.06.2018 в 12:50: потому что ты не игрок, ты мразь на любой роли ZombBomb написал 05.12.2018 в 19:27: лол Fint написал 19.07.2019 в 15:49: Ок, я ошибся NaniQue- написал 30.07.2019 в 10:37: висп вроде норм игрок Поделиться сообщением Ссылка на сообщение
dfgrd #2684 3 мая 2019 Так если массив не отсортирован никак, то только складывать Поделиться сообщением Ссылка на сообщение
DDamager #2685 3 мая 2019 (изменено) а бля не так понял Изменено 3 мая 2019 пользователем DDamager Поделиться сообщением Ссылка на сообщение
v1le #2686 3 мая 2019 (изменено) Есть X массивов в листе, с различными числами, которых Y. И из этих массивов нужно найти массив, в котором числа, если их склеить, образуют наименьшее число.ну это чуть по больше условий, и под 40% нагрузки на ГПУ будетскину вечером рабочий пример Не, спасибо, не нужно, добрый человек)Рабочий пример написать можно, если понять как логически решать.охуенно описал братан. не думал начать составлять задания для лит кода?Короче, снова проебался, не знаю как описать нормально. Есть элементы, а эти массивы отображают порядок элемента в дереве.То есть:Все эти "координаты" ветки в дереве и есть лист массивов всех координат.Но все элементы дерева нам не нужны, поэтому передаются координаты элементов в дереве, которые обладают каким-то свойством, образуя лист массивов.Пример:[ [1, 150, 1], [150, 1, 1]]Тут первым будет [1, 150, 1] и суммой верный не найти. Изначально мысль была брать эти массивы и тупо склеить вот так: [1, 150, 1] = 11501[150, 1, 1] = 15011И брать меньшее число, но это не работает вот тут, к примеру:[ [1, 1, 1, 1, 1], [1, 2]]Тогда решили делать вот так:1, 1, 1, 1, 1 = 111111, 2, 0, 0, 0 = 12000Так работает, но получается число такого вида:12^10e50 Я не прошу решить кого-нибудь, просто может какую-то идею подкинет и можно будет зацепится, пока я ваще ХЗ что тут делать Изменено 3 мая 2019 пользователем v1le Лучшая в этом мире Лучшая в мире читает стихиhttps://www.youtube.com/watch?v=YmAyJ7qaw7A Эксперт в религии Поделиться сообщением Ссылка на сообщение
DDamager #2687 3 мая 2019 ну самая элементарная идея здесь это склеивать их как строки, потом находишь лексикографически минимальную строку (что по сути одно и то же только без огромных интов) v1le понравилось это Поделиться сообщением Ссылка на сообщение
dfgrd #2688 3 мая 2019 (изменено) По-мойму можешь вообще сортировку вставками или слиянием сделать и все.Просто у тебя будет сложность выше потому что сравниваться будет не число с числом, а массив с массивом. В наихудшем варианте придется пройти каждый массив. [ [1, 150, 1], [150, 1, 1], [4, 1, 1], [23, 31, 32, 64], [4, 2, 3], [322, 22]] Берешь второе, так как у тебя приоритетность идет по ключу, то просто парами можно сравнивать. Первое с первым: 150 > 1, значит оставляем как есть.У третьего 4 будет меньше 150, но больше 1, значит ставим между ними, вот у тебя уже так:[ [1, 150, 1], [4, 1, 1], [150, 1, 1], [23, 31, 32, 64], [4, 2, 3], [322, 22] ] Ну и дальше проходишь так все остальные, при равенстве скипаешь до следующего числа. Слиянием бьешь просто по две и склеиваешь, но это почитать можешь в книжке) Изменено 3 мая 2019 пользователем dfgrd Поделиться сообщением Ссылка на сообщение
hira88 #2689 3 мая 2019 (изменено) Все эти "координаты" ветки в дереве и есть лист массивов всех координат.Но все элементы дерева нам не нужны, поэтому передаются координаты элементов в дереве, которые обладают каким-то свойством, образуя лист массивов.нихуя не понял что тебе найти нужно? первый "элемент из переданного списка"?тоесть[ [1, 1, 1, 1, 1], [1, 2]]верным будет 1 1 1 1 так как он первее чем 1,2если так то попробую написать... Не, спасибо, не нужно, добрый человек)наполовину готово, сделаю будешь крутить как хочешь, даже если не нужно будет, пофик всеравно делать нехуй наполовину готовоалгоритм такой: первый проход - поиск "максимальных размеров массива", чтоб знать какой размер [x,y,z,w....]напримерм для значений[1, 100, 1],[4, 1, 2],[150, 1, 1],[1, 2],[1, 1, 1]максимальный размер будет [150,100,2] (трехмерный массив размера 150 на 100 на 2) второй проход - считаешь линейный ID каждого элемента1+100*2+1*100*2=4012+1*2+4*100*2=8041+1*2+150*100*2=300030+2*2+1*100*2=2041+1*2+1*100*2=203 третий проход - сравнивнение линейных ID и нахождение меньшегодля примера меньшим будет 203 тоесть [1, 1, 1] ...делаю такую логику Изменено 3 мая 2019 пользователем hira88 Поделиться сообщением Ссылка на сообщение
dfgrd #2690 3 мая 2019 первый проход - поиск "максимальных размеров массива", чтоб знать какой размер [x,y,z,w....]напримерм для значений[1, 100, 1],[4, 1, 2],[150, 1, 1],[1, 2],[1, 1, 1]максимальный размер будет [150,100,2] (трехмерный массив размера 150 на 100 на 2)Представляешь какая там будет штука происходить, если у них число 12^10e50 получается.У тебя проходятся все массивы и в каждом массиве каждый элемент для выявления максимального. Поделиться сообщением Ссылка на сообщение
hira88 #2691 3 мая 2019 Представляешь какая там будет штука происходить, если у них число 12^10e50 получается.У тебя проходятся все массивы и в каждом массиве каждый элемент для выявления максимального.поэтому я и скаал 40% нагрузки будетбыдет 1000 потоков для этого (уже делал 1 в 1 такое)и второй проход сортировка того что выдали 1000 потоков при первой сортировкеи результат....тривиально Поделиться сообщением Ссылка на сообщение
v1le #2692 3 мая 2019 Спасибо всем!По итогу думаю можно сделать так:Берем первый элемент из массивов в списке и находим минимальный.Отбрасываем все массивы, в которых первый элемент уже не равен минимальному.И так до тех пор пока не останется последний или один из массивов не кончится. Лучшая в этом мире Лучшая в мире читает стихиhttps://www.youtube.com/watch?v=YmAyJ7qaw7A Эксперт в религии Поделиться сообщением Ссылка на сообщение
Matriarch #2693 3 мая 2019 (изменено) а ладно Изменено 3 мая 2019 пользователем Matriarch Поделиться сообщением Ссылка на сообщение
JuJeu #2694 3 мая 2019 Пиздец, как скопировать board в trello? Охуеть, ну почему ui в большинстве случаев супер уебский везде Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders. Поделиться сообщением Ссылка на сообщение
dfgrd #2695 3 мая 2019 Пиздец, как скопировать board в trello? Охуеть, ну почему ui в большинстве случаев супер уебский вездеЛучше чем в асане)) Поделиться сообщением Ссылка на сообщение
DDamager #2696 3 мая 2019 Спасибо всем!По итогу думаю можно сделать так:Берем первый элемент из массивов в списке и находим минимальный.Отбрасываем все массивы, в которых первый элемент уже не равен минимальному.И так до тех пор пока не останется последний или один из массивов не кончится. так это не решает ту задачу что ты написал [1, 1500000][150, 150]у тебя будет выбран первый массив хотя он длиннее второго Поделиться сообщением Ссылка на сообщение
v1le #2697 3 мая 2019 В первом проходе нижний выбросится Лучшая в этом мире Лучшая в мире читает стихиhttps://www.youtube.com/watch?v=YmAyJ7qaw7A Эксперт в религии Поделиться сообщением Ссылка на сообщение
DDamager #2698 3 мая 2019 (изменено) я это и написал. у тебя первый будет ответом хотя 11500000 > 150150 если это правильный ответ то ты хуево объянил значит, т.к. это явно не минимум Изменено 3 мая 2019 пользователем DDamager Поделиться сообщением Ссылка на сообщение
v1le #2699 3 мая 2019 (изменено) [ [1. 1500000], ... [15000, 1]] min([1, 15000]) == 1Отбрасываем второй. По итогу найдем элемент, который является максимально близким (самый левый) к верхушке дерева по координатам. Изменено 3 мая 2019 пользователем v1le Лучшая в этом мире Лучшая в мире читает стихиhttps://www.youtube.com/watch?v=YmAyJ7qaw7A Эксперт в религии Поделиться сообщением Ссылка на сообщение
DDamager #2700 3 мая 2019 Короче, я даун, неправильно написал.....И из этих массивов нужно найти массив, в котором числа, если их склеить, образуют наименьшее число. понял принял Поделиться сообщением Ссылка на сообщение