Просмотр сообщений
|
Страниц: 1 2 3 [4] 5 6 ... 140
|
46
|
Программирование / Общий / Re: Большой граф
|
: Июль 29, 2021, 15:37
|
Как эффективно хранить данные? Прямолинейное юзание контейнеров для дуг забивает всю память практически сразу, и дальше печальное лазание по свопам, 64-бита не спасают. Пока наметил хранить в RAM только точки, дуги как-то подкачивать (а как ?)
Ответ напрашивается сам собой (во всяком случае, пока не ясны детали): Не запоминать рёбра, а придумать/заюзать алгоритм, который по известным точкам их генерирует..
|
|
|
47
|
Qt / Многопоточное программирование, процессы / Re: waitForDone
|
: Июль 06, 2021, 15:10
|
Синхронка не есть "плохо", она менее гибка, но есть масса ситуаций когда нельзя связываться с др событиями пока данная (крытыческая) часть кода не завершена. Поэтому иногда ожидание неизбежно/необходимо. А сколько рабочих ниток (одна или N) - чисто специфика задачи.
Да, согласен, в некоторых специфичных задачах это может иметь место. Кстати, недавно же обсуждали подобную проблему: http://www.prog.org.ru/topic_32489_0.html. Сошлись на том, что thread_pool оптимальное решение) + wrapper_pool)
|
|
|
51
|
Программирование / С/C++ / Re: Compile-time определение реверсивности итератора (reverse_iterator)
|
: Апрель 07, 2021, 15:36
|
[off]Недавно пришлось "собирать" больше десятка приложений чтобы посмотреть "как это там сделано". Прослеживается четкая зависимость: где больше С++ 17 и.т.п. - там меньше мыслей (вернее вообще нет, что-то придумать даже не пытался). Конечно "лучше быть богатым и здоровым", но голова-то одна. Ни к чему "через край" жрать этот сахар [/off]
Ну тут я не вправе Вам что-то советовать.. Решайте сами P.S. На мой вкус, решение приведённое выше, весьма адекватное..
|
|
|
52
|
Программирование / С/C++ / Re: Compile-time определение реверсивности итератора (reverse_iterator)
|
: Апрель 07, 2021, 15:09
|
В С++17 более никаких compile-time отличий не нашел (а хотелось бы какой-нибудь тэг направления). Допускаю, что что-то пропустил. И, кто уже юзает C++20, - как там в плане новшеств этом вопросе?
Не знаю, что там в 20 стандарте, но похоже, ничего другого, кроме как зацепиться за base() не остаётся.. Да, хотелось бы, чтоб в iterator_traits был teg типа: revers_ iterator_tag, но увы.. (даже не представляю, как это можно реализовать..)
|
|
|
53
|
Разное / Говорилка / Re: Геометрия (задачки)
|
: Апрель 06, 2021, 17:26
|
Ну привет, так не годится. Хотя бы потому что необходимо учесть время ожидания лифта для подошедших позднее.
Нет.. Тут расчёт на то, что бы студенты качественно прочувствовали ситуацию. Мы выкидываем всё лишнее и оставляем только самое определяющее.. Как, казалось бы, таким простым правилом (разделить лифты на чётные и нечётные) можно повысить производительность. Теория игр в действии) В упор не вижу какое отношение это имеет к физике
А никакого.. Суть этого курса - поделиться различными методами, подходами и т.п., которые в последствии помогут для решения реальных физических проблем. И потом, не я сижу в министерстве образования) Это сверху приходит: такой курс должен быть и точка. Но это лишь одна из задач.. Вот сегодня рассматривали проблему синхронизации маятников) https://www.youtube.com/watch?v=HmmYtopGx7Y Лагранжева механика, ODE, и всё такое)
|
|
|
54
|
Разное / Говорилка / Re: Геометрия (задачки)
|
: Апрель 06, 2021, 15:49
|
Студенты распределяются по лифтам, согласно тому, на чётный или на нечётный этаж им нужно.
А случай когда студенту надо на четный этаж, но в этих лифтах нет мест и он садится в лифт, идущий по нечетным этажам, выбрав в качестве целевого этажа "НУЖНЫЙ + 1", а потом спустится на один этаж вниз? )))) Такое очень часто встречается)) Причём, как правило, жмут кнопку на этаж выше, а не ниже) Ну понятно почему - спускаться легче, чем подниматься) Нет, для качественного рассмотрения мы этим пренебрегаем (Приближение "резиновых" лифтов )
|
|
|
55
|
Разное / Говорилка / Re: Геометрия (задачки)
|
: Апрель 06, 2021, 15:34
|
Нужно "формализоваться", и в данном случае это не такое уж легкое/приятное занятие. Наверно "эффективность" значит "среднее время доставки студента на нужный (ему) этаж", это время и нужно оптимизировать за счет расписания лифтов. Далее, время доставки состоит из напр T1 (время прохода лифта от одного этажа до следующего) и T2 (время останова/выгрузки). Игры с чет/нечет уменьшают T2, очевидно эффект имеется. И конечно неизбежна масса "волевых решений", напр остается только предположить что все этажи одинаково востребованы, если вся толпа ломится на один этаж, то любая оптимизация в минус. Ну и дальше надо сочинять формулу среднего времени доставки.
Вероятно аналитическое решение здесь возможно, но оно довольно длинное и нудное. В то же время "численным моделированием" задача решается прекрасно, и в гораздо большем объеме, напр легко учесть любые "популярности" этажей, число доставляемых и.т.п. Я бы так и делал
Вообще комбинаторные задачки выглядят интересно, но в моей работе встречаются редко, поэтому не фанат.
Да, совершенно верно. Если формализовать задачу то она будет звучать примерно так: Есть N студентов в фае. Никто не знает кому на какой этаж нужно. Все этажи равновероятны. Есть время подъёма лифта на этаж t1, есть время "выгрузки" t2 (опыт показывает, что t2 > t1). Игра начинается: В первом случае N студентов равновероятно расселяются по лифтам. Игра заканчивается, когда последний студент покинет лифт. Второй случай: Студенты распределяются по лифтам, согласно тому, на чётный или на нечётный этаж им нужно. И опять игра заканчивается, когда последний студент покинет лифт. После этого считаем суммарное время в первом (T1) и во втором случае (T2). В то же время "численным моделированием" задача решается прекрасно, и в гораздо большем объеме, напр легко учесть любые "популярности" этажей, число доставляемых и.т.п. Я бы так и делал
Да, у меня в этом семестре как раз курс по мат. моделированию и методам мат. физики) (на плюсах пишем ) Вот я им эту задачку задаю) Разумеется T2 < T1. Но во сколько? Студенты сходу, не подумав, говорят T1/T2 = 2) Но это очень оптимистический прогноз)
|
|
|
57
|
Разное / Говорилка / Re: Геометрия (задачки)
|
: Апрель 05, 2021, 22:54
|
У меня есть задачка на теорию игр) Я сам не знаю аналитического её решения, но всё же.. Есть физ.фак. с его 14 этажами и 6-ю лифтами.. Первый случай: Студенты встречаются в фае (0-вой этаж) Никто из студентов не знает кому на какой этаж ехать.. (Все лифты останавливаются на каждом этаже по требованию студента..)
Второй случай: лифты распределены на чётные и не чётные. И студенты знают об этом (т.е. они знают какой лифт останавливается на чётных или на не чётных этажах ). Вопрос: в каком случае это будет наиболее эффективно? На сколько эффективно такое разделение лифтов на чётные и не чётные этажи?
|
|
|
58
|
Разное / Говорилка / Re: Геометрия (задачки)
|
: Апрель 05, 2021, 22:08
|
S = 15 * 10 /2 = 75 )
Ай, опередили уже)
Интересен ход мысли, а не голый ответ "75" Ой, да ладно.. Слишком много букв..)
|
|
|
59
|
Разное / Говорилка / Re: Геометрия (задачки)
|
: Апрель 05, 2021, 10:28
|
В треугольник вписано 3 квадрата площадями 4,36,9. Найти площадь треугольника. Запрещено применять тригонометрию и теорему Пифагора, векторную алгебру, аналитическую геометрию.
S = 15 * 10 /2 = 75 ) Ай, опередили уже)
|
|
|
60
|
Программирование / Алгоритмы / Re: Сортировка и поиск по вектору нормали
|
: Март 28, 2021, 19:14
|
Какой "log", откуда он тут взялся?
Смотрите: У Вас есть result.. Вы его можете отсортировать по положениям точек (O(N log(N))) и аналогично по нормалям. Т.е. грубо говоря, у Вас будет два контейнера, отсортированных. В чём проблема, имея их, вытащить нужные точки? Я уже сказал как - хеш.
Так это не спасёт.. Формирование хэша тоже дорого обходится.. Пользователь задаёт точку и радиус. kd-tree даёт вам result.. Вы хотите result в хэш преобразовать?
|
|
|
|
|