Timofey
Ну может для этого есть отдельная группа, не привязанная к конкретному языку.
Daniil
а ирл такое хоть когда-нибдуь нужно?
Daniil
кроме клика мышью по экрану... )))
Pavel
оч маловероятно
Pavel
в реальной жизни всем надо сайты и игры)))))
Timofey
Ну просто если не забивать, то быстрее квадрата не посчитаешь, потому что для формирования ответа уже квадрат по времени нужен.
Timofey
забей на это.
Richard
да #pragma once
Сможет разрулить разве?
Richard
а ирл такое хоть когда-нибдуь нужно?
Выделение объектов рамкой на рабочем столе? Как пример задачи
Pavel
на практике явно слонжность не будет првоеряться %)
Pavel
ибо кейс экрана 16m на 16m вряд ли будет :)
Sasha
Ок
Timofey
Ну, строго говоря, асимптотику лучше квадрата в худшем случае ты не получишь. Потому что если в первом квадрате лежат все, во втором - все, кроме первого, в третьем - все, кроме первого и второго, итд, то ответ будет иметь размер N-1 + N-2 +... + 1 + 0 = (N-1)*(N)/2. Вот такая печаль
Timofey
Задача: есть N прямоугольников, заданные координатами своих углов. Требуется для каждого прямоугольника найти все прямоугльники, внутри которых он находится полностью. Оффлайн задача. Требуется решение быстрее, чем за N^2
Timofey
А если хочется в среднем, то стоит указать, какие именно средние варианты нужны.
Timofey
/2
Timofey
Да вижу
Timofey
N*Ans не устроит?)
Timofey
Скорее, имелось в виду Ans << N^2
Mikhail
помечаем все вершины одного прямоугольника одной буквой, например первый прямоугольника все вершины А, второй Б и так далее. Потом отмечаем на каждой оси проекции этих вершин. Должны получиться последовательности типа АБВВВБАА на каждой их оси. Дальше теорема, один прямоугольника включается в другой тогда и только тогда, когда проекции его вершин лежат между двумя крайним проекциями другого прямоугольника на обоих осях
Surreal
Сделайте вектор самых левых X координат, отсортируйте его и делайте обход по отсортированному вектору.
Mikhail
Да
Timofey
Не должно зайти. Обход все равно останется квадратичным по сложности
Timofey
Сделайте вектор самых левых X координат, отсортируйте его и делайте обход по отсортированному вектору.
Mikhail
За четыре обхода решается но с n^2 по памяти
Timofey
за сколько там N^2 памяти выделяется? Не за О(N^2) ли случайно?)
Timofey
Автор же нашел решение
Timofey
Ладно, но это смотря с какой стороны посмотреть) В терминах математики выделение памяти это константа
Timofey
ну да
Timofey
На практике каких значений достигает N?
Matway
Всем привет. В 20:00 кину задачу на C++. Задача интересная, поэтому просьба - не спойлерить! Ответы слать мне в личку. Я напишу в этот чат никнеймы тех, кто решил задачу правильно. Задача является разновидностью известной задачи "циклическая космическая станция", но с дополнительными ограничениями, которые заставляют напрячь не столько общую логику, сколько опыт программиста.
Matway
а в чем профит? зачем тратить на нее время?
Некоторые любят напрячь мозги, когда есть свободное время.
Andrei
а в чем профит? зачем тратить на нее время?
А в чем профит читать техническую литературу в нерабочее время, а в чём профит делать свои игрушечные проекты, за которые тебе не платят?
Sergey
Можно kdtree заюзать, будет что-то типа O(nlogn)
Alexey
А в чем профит читать техническую литературу в нерабочее время, а в чём профит делать свои игрушечные проекты, за которые тебе не платят?
Ты читаешь\делаешь проект потому что тебе ТЕМА ИНТЕРЕСНА и ты меняешь время на знания, которые ты хочешь получить.
Matway
http://ideone.com/q7d6yl #CircularStationTask #Задача
Matway
Необходимо дописать код в функцию Task::explore(). Функция должна выйти после того, как весь свет на станции выключен.
Artem
Можно использовать for, но нельзя использовать локальные переменные?
Matway
Да. Локальные переменные запрещены.
Artem
То есть только for без счетчика
Artem
Не придумывается, как без счетчика сделать :(
Sergey
http://ideone.com/q7d6yl #CircularStationTask #Задача
Task() { std::mt19937 generator((std::random_device()())); lights.resize(size_t(STATION_SIZE)); for (int i = 0; i < STATION_SIZE; ++i) { lights[i] = std::uniform_int_distribution<>(0, 1)(generator) != 0; } room = 0; } Можно моднее сделать: Task() : lights(STATION_SIZE), room() { std::mt19937 generator((std::random_device()())); std::generate(std::begin(lights), std::end(lights), std::bind(std::uniform_int_distribution<>(0, 1), std::ref(generator))); }
Matway
Можно, но задача в другом :)
Sergey
Да я так, просто, не смог пройти мимо :)
Matway
Первое корректное решение - @AndreiKr .
Anna
Первое корректное решение - @AndreiKr .
Тот самый Андрей, которого я знаю?)
Купи
тут есть кто в sql шарит?
Matway
Matway
я не удивлен)
Почему? Остальные 1013 мемберов данного чата не любят задачки? :)
Anna
да не. все всё любят
многие просто еще на работе)
Andrei
Добрый вечер :)
Anna
да не. все всё любят
Сам то решишь?
🦥Alex Fails
Сам то решишь?
не хочу, я ща работаю. и да, лучше пометить тегами задачки, чтоб потом проще было искать
Matway
Пометил. CircularStationTask.
🦥Alex Fails
Пометил. CircularStationTask.
и просто тегом "задача" тогда
Matway
Сделал.
🦥Alex Fails
Сделал.
благодарю
Matway
Сам то решишь?
Провокаторша :) Задача не на время, совсем. Нечего людей дразнить. У кого будет желание, а главное, время - те и покумекают :)
Nikita
Вот у тебя N вложенных друг в друга прямоугольников. Один вывод ответа займет квадрат времени
Nikita
Но если тебе просто дерева вложенности хватит, то можно за NlogN
Matway
Блин. Самое сложное - сформулировать условия задачи. Нашёлся умный человек :) В общем, статические переменные тоже нельзя.
Vitaliy
А монады можно?
Matway
Хочу видеть.
Vitaliy
А, ну я задачу не прочитал — просто подумал, что что-то, в чем надо обойтись без локальных переменных и вспомнил монады :)
Matway
Почему нельзя статические переменные
Всё, что можно, перечислено в строке 40. // Use only 'next()', 'previous()', 'isLightEnabled()', 'toggleLight()', 'do', 'for', 'if', 'while' and 'return'
Matway
Больше ничего. Вообще ничего. Только круглые, фигурные скобки и точки с запятой.
Эдвард
понял
Matway
На операторы ограничений нет?
Операторы, кроме (), тоже запрещены.
🦥Alex Fails
кстати. есть чат про алгоритмы. @proalgorithms