
Daniil
23.03.2017
16:00:57
а ирл такое хоть когда-нибдуь нужно?
кроме клика мышью по экрану... )))

Pavel
23.03.2017
16:01:06
оч маловероятно

Alexander
23.03.2017
16:01:07

Google

Pavel
23.03.2017
16:01:16
в реальной жизни всем надо сайты и игры)))))

Alexander
23.03.2017
16:01:16

Timofey
23.03.2017
16:01:40
Ну просто если не забивать, то быстрее квадрата не посчитаешь, потому что для формирования ответа уже квадрат по времени нужен.
забей на это.

Эдуард
23.03.2017
16:07:23

Pavel
23.03.2017
16:07:53
на практике явно слонжность не будет првоеряться %)
ибо кейс экрана 16m на 16m вряд ли будет :)

Sasha
23.03.2017
16:09:44

Alexander
23.03.2017
16:11:04

Sasha
23.03.2017
16:11:13

Timofey
23.03.2017
16:12:18
Ну, строго говоря, асимптотику лучше квадрата в худшем случае ты не получишь. Потому что если в первом квадрате лежат все, во втором - все, кроме первого, в третьем - все, кроме первого и второго, итд, то ответ будет иметь размер N-1 + N-2 +... + 1 + 0 = (N-1)*(N)/2. Вот такая печаль
Задача: есть N прямоугольников, заданные координатами своих углов. Требуется для каждого прямоугольника найти все прямоугльники, внутри которых он находится полностью. Оффлайн задача. Требуется решение быстрее, чем за N^2

Google

Alexander
23.03.2017
16:12:37
IRL такого не будет

Timofey
23.03.2017
16:12:52
А если хочется в среднем, то стоит указать, какие именно средние варианты нужны.
/2

Alexander
23.03.2017
16:14:03
Ключевое: N много больше Ans. Требуется улучшение асимптотики с квадрата до чего-нибудь быстрее

Timofey
23.03.2017
16:15:13
Да вижу
N*Ans не устроит?)

Alexander
23.03.2017
16:16:48

Timofey
23.03.2017
16:17:05
Скорее, имелось в виду Ans << N^2

Alexander
23.03.2017
16:17:23
очепятка
Решено
2 dimensional interval tree
это для проверок вложенности
также стояла задача поиска всех прямоугольников, к оторые пересекаются друг с другом - это решается обычным сканлайном

Mikhail
23.03.2017
16:25:32

Alexander
23.03.2017
16:26:40

Surreal
23.03.2017
16:27:27
Сделайте вектор самых левых X координат, отсортируйте его и делайте обход по отсортированному вектору.

Google

Mikhail
23.03.2017
16:27:46

Timofey
23.03.2017
16:31:48
Не должно зайти. Обход все равно останется квадратичным по сложности
Сделайте вектор самых левых X координат, отсортируйте его и делайте обход по отсортированному вектору.

Mikhail
23.03.2017
16:32:00
За четыре обхода решается но с n^2 по памяти

Timofey
23.03.2017
16:33:17
за сколько там N^2 памяти выделяется? Не за О(N^2) ли случайно?)

Alexander
23.03.2017
16:34:02

Timofey
23.03.2017
16:34:03
Автор же нашел решение

Alexander
23.03.2017
16:35:01

Timofey
23.03.2017
16:35:06

Alexander
23.03.2017
16:35:25

Timofey
23.03.2017
16:35:33
ну да

Alexander
23.03.2017
16:35:40
Сейчас решение Михаила гляну. Скорее всего, я неправильно понял его мысль

Timofey
23.03.2017
16:38:39
На практике каких значений достигает N?

Surreal
23.03.2017
16:39:35

Alexander
23.03.2017
16:40:17

Matway
23.03.2017
16:45:32
Всем привет. В 20:00 кину задачу на C++. Задача интересная, поэтому просьба - не спойлерить! Ответы слать мне в личку. Я напишу в этот чат никнеймы тех, кто решил задачу правильно.
Задача является разновидностью известной задачи "циклическая космическая станция", но с дополнительными ограничениями, которые заставляют напрячь не столько общую логику, сколько опыт программиста.

Alexey
23.03.2017
16:50:27

Matway
23.03.2017
16:51:13

Andrei
23.03.2017
16:53:43

Sergey
23.03.2017
16:56:57

Google

Alexey
23.03.2017
16:56:59

Alexander
23.03.2017
16:57:31
но тут прокатит и решение проще, которое Михаила

Matway
23.03.2017
17:00:32
http://ideone.com/q7d6yl
#CircularStationTask
#Задача
Необходимо дописать код в функцию Task::explore(). Функция должна выйти после того, как весь свет на станции выключен.

Artem
23.03.2017
17:06:22
Можно использовать for, но нельзя использовать локальные переменные?

Matway
23.03.2017
17:06:35
Да. Локальные переменные запрещены.

Artem
23.03.2017
17:07:33
То есть только for без счетчика

Alexander
23.03.2017
17:13:02

Artem
23.03.2017
17:19:49
Не придумывается, как без счетчика сделать :(

Sergey
23.03.2017
17:27:50
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
23.03.2017
17:28:23
Можно, но задача в другом :)

Sergey
23.03.2017
17:28:40
Да я так, просто, не смог пройти мимо :)

Matway
23.03.2017
17:29:15
Первое корректное решение - @AndreiKr .

Anna
23.03.2017
17:32:02

Alex Фэils?︙
23.03.2017
17:32:30

Anna
23.03.2017
17:33:17

F.L
23.03.2017
17:33:21
тут есть кто в sql шарит?

Matway
23.03.2017
17:34:46

Andrei
23.03.2017
17:35:34

Google

Matway
23.03.2017
17:37:11
я не удивлен)
Почему? Остальные 1013 мемберов данного чата не любят задачки? :)

Alex Фэils?︙
23.03.2017
17:37:25

Anna
23.03.2017
17:38:07

Andrei
23.03.2017
17:38:59
Добрый вечер :)

Anna
23.03.2017
17:39:08

Alex Фэils?︙
23.03.2017
17:39:53
Сам то решишь?
не хочу, я ща работаю. и да, лучше пометить тегами задачки, чтоб потом проще было искать

Alexander
23.03.2017
17:40:40

Matway
23.03.2017
17:40:51
Пометил. CircularStationTask.

Alexander
23.03.2017
17:40:55

Alex Фэils?︙
23.03.2017
17:41:16

Matway
23.03.2017
17:41:44
Сделал.

Alex Фэils?︙
23.03.2017
17:41:59

Matway
23.03.2017
17:43:09
Сам то решишь?
Провокаторша :) Задача не на время, совсем. Нечего людей дразнить. У кого будет желание, а главное, время - те и покумекают :)

/dev
23.03.2017
17:43:48
Но если тебе просто дерева вложенности хватит, то можно за NlogN

Matway
23.03.2017
17:51:05
Блин. Самое сложное - сформулировать условия задачи. Нашёлся умный человек :)
В общем, статические переменные тоже нельзя.

Vitaliy
23.03.2017
17:51:36
А монады можно?

Matway
23.03.2017
17:52:01
Хочу видеть.

Vitaliy
23.03.2017
17:52:38
А, ну я задачу не прочитал — просто подумал, что что-то, в чем надо обойтись без локальных переменных и вспомнил монады :)

Evgeniy
23.03.2017
17:52:50

Matway
23.03.2017
17:57:07
Почему нельзя статические переменные
Всё, что можно, перечислено в строке 40.
// Use only 'next()', 'previous()', 'isLightEnabled()', 'toggleLight()', 'do', 'for', 'if', 'while' and 'return'