Как стать автором
Обновить
4
0
Станислав Володарский @stan_volodarsky

Пользователь

Отправить сообщение

Толк есть: читаешь и думаешь - это знаю и это знаю, а вот тут что-то новенькое, пойду в вики статью перечитаю.

Как вы обошлись без упоминания https://en.wikipedia.org/wiki/Mind_map ? Есть десятки приложений на эту тему: https://en.wikipedia.org/wiki/List_of_concept-_and_mind-mapping_software. Чем ваш подход лучше, удобнее?

Запись O(3n) является корректной. Но класс функций O(3n) совпадает с классом функций O(n). Это класс функций, который растут не быстрее линейной функции. Так как O(n) = O(3n), то коэффициент внутри О обычно не пишут. (Вы можете сказать "масло маслянное", на вас косо посмотрят, но язык так говорить не запрещает, то же самое и для O(3n)).

Но если пишут, то это восприниматся как дополнительный комментарий: O(3n) растёт так же быстро как O(1n), но мы дополнительно указываем что ожидаемая константа первого алгоритма в три раза хуже ожидамой константы второго.

Задачи нужны чтобы:
побеждать на олимпиадах (сам не пробовал).
И отвечать на олимпиадные вопросы на ruSO (делаю).
И чтобы продавать автобусные билеты (с рассадкой по местам) группам людей (задача на графах, делал этим летом).
И чтобы быстро рассчитывать возможную прибыль от продажи газа при изменениях тарифов (сдаю проект с этом алгоритмом).
И даже чтобы работать с временными поясами (сдаю проект с этом алгоритмом).

Я сам на лекциях иногда оставляю константы внутри О-большого. Формально это не ошибка, а лишь излишество. Которое может дать представление о константе алгоритма. Что удобно если мы сравниваем алгоритмы с одной асимптотикой.

`.toFixed()` абсолютно недопустимо. Каждую итерацию вы переводите число в строку и обратно. Ужасная производительность при том что есть метод проще, быстрее и понятнее.

(str.length/2).toFixed() - это действительно страшно.

В выражении Math.floor(str.length / 2) вызов Math.floor не нужен. Этот конкретный for и без него отлично будет работать.

Вычислять верхнюю границу в for плохо и очень плохо. Она вычисляется на каждой итерации.

Ваши примера кода служат антирекламой компании. Не позорьтесь, уберите подальше.

Для этого такие задачи дают "по модулю 10^9 + 7".

Бросить мусор в чёрную дыру с корабля на круговой орбите - означает что у мусора надо отобрать скорость - первую космическую скорость. Что не легко, например "Паркер" делал семь гравитационных манёвров у Венеры. На орбите Земли у него скорость была 30 км/с, почти всё нужно отобрать, чтобы опустить перигелий и оказаться поближе к
Солнцу. А первая космическая вблизи ЧД куда выше 30 км/с.

Вещество аккреционного диска падает из-за трения внутри диска. Диск не может вращаться как единое твёрдое тело - внутренние слои обгоняют наружные. Возникает трение, вещество диска теряет скорость, нагревается, приближается а горизонту ЧД или к поверхности звезды. Аккреционные диски бывают и у обычных и у нейтронных звёзд. Если вы попадаете в диск, вам не поздоровится - плотная горячая газовая среда. Аккреционные диски равно опасны и у ЧД и у обычных звёзд. Если диска нет, то и рассеять момент импульса некуда. А если вы не теряете момент, вы не можете попасть в ЧД.

  1. Черная дыра меннее опасна чем тело той же массы, но которое черной дырой не стало. Например, в чёрной дыре вы погибнете приблизившись к горизонту событий. Приблизившись к телу вы погибнете упав на его поверхность. Второе произойдёт раньше - чёрные дыры самые компактные из объектов той же массы. Пока вы вдалеке от дыры её действие на вас не отличимо от действия массивного тела. Если у вас не нулевой момент импульса, вы никогда не упадёте в черную дыру. Если нет, вы упадёте, но точно также вы упадёте на планету или звезду. Черная дыра - самый безопасный массивный объект в космической навигации. Она не плохо наблюдается, если вы знаете что такое гравитационное линзирование и следите за небом перед кораблём и за изменением направления и скорости корабля.

  2. Вычислительные методы были хорошо развиты и до компьютеров - это правда. Но с появлением компьютеров они стали развиваться ещё интенсивнее. Это кажется странным, но есть причина: если у вас есть быстрый помощник, вы хотите решать задачи большего размера. Если у вас плохие алгоритмы (большое О-большое), ваш в 1000 раз более быстрый помощник не может решить в 1000 раз большую задачу. Например, до середины 20 века люди не умели быстро умножать большие целые числа. Пришел Карацуба и объяснил как это сделать быстрее чем за O(N^2). Еще пример: до калькуляторов не было CORDIC алгоритма для вычисления функций. Все должны были пользовать таблицами, нет таблицы - нет значения функции. Новые функции, новые, быстрее сходящиеся ряды.

Как контролируются ошибки в решениях? Интервальная арифметика?

Имитируют световое поле. Два глаза смотрят на один и тот же пиксел и видят разный свет. Что-то похожее было на 3D календариках.

Что внутри ЧД мы не знаем. Мы значем что если два горизонта событий приблизить к другу они сольются в один общий горизонт большего радиуса. Что именно происходит под горизонтами нам неведомо. У нас просто нет средств узнать что-то про внутренности кроме массы, заряда и момента импульса.

Если дыра заряжена, её импульсом можно управлять через внешнее электрическое поле. Две дыры разных зарядов останавливают рядом, они притягиваются и сливаются. Орбитальный момент работает против гравитации, а она значительно слабее электростатики.

В нейтральную чёрную дыру роняют заряженную частицу. Закон сохранения заряда - получаете заряженную чёрную дыру. В дикой природе чёрные дыры редко имеют большой заряд, так как притягивают частицы противоположного заряда, поглощают их и приближаются к нейтральному заряду. Но заряд у чёрной дыры может быть и заряженной чёрной дырой можно управлять как любой другой заряженной частицей, например хранить в магнитной ловушке.

Исходное число x считается заданным без погрешности. При последовательных умножениях одно число накапливает погрешность, второе не несёт с собой ошибку. При последовательных возведения в квадрат (умножениях) оба сомножителя имеют погрешность.

Погрешность у них одинаковая, как это ни странно. Возведение в квадрат погрешность удваивает. Умножение на точно известное число добавляет к погрешности маленькую константу. Можно показать что погрешность почти полностью определяется показателем степени, а порядок умножения влияет мало.

-m32 означает что все промежуточные результаты приводятся к float. Не мудрено получить погрешность.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность