Pull to refresh
72
1.7
Илья @wataru

C++ разработчик.

Send message

Есть решение в одно действие через детерминант Cayley-Menger'а.

Допустим, что треугольник на плоскости, а четвертая точка - где угодно в 3D пространстве. 4 точки образуют тертаидр. Объем тетраидра в квадрате пропорцианален определителю вот этой вот матрицы:

\begin{vmatrix} 0 & 1 & 1 & 1 & 1\\ 1 & 0 & F & G & H\\  1 & F & 0 & C & B\\  1 & G & C & 0 & A\\  1 & H & B & A & 0 \end{vmatrix}

Но четвертая точка же на плоскости с треугольником, а значит объем равен 0. Итого вся формула становится: приравнять определитель к 0. И она очевидно работает для точки и вне треугольника.

Надо только в каждую строку и столбец матрицы выписать длины рядом с одной и той же вершиной - даже запоминать порядок особо не надо.

Мне кажется, это самый короткий и запоминающийся способ записать эту формулу. И для использования он проще - подставьте имеющиеся у вас числа в матрицу и решайте определитель, чтобы найти оставшуюся неизвестную, приводя ее к треугольному виду методом гаусса. Даже не надо запоминать изменение знаков или коэффициенты, ведь потом определитель все-равно к 0 приравнивается. Если расписывать определитель по всем минорам, то будет больно, да.

Так какого она тогда называется теорией, а не гипотезой?

Потому что это не теория "происхождения жизни", а теория "эволюции", т.е. развития жизни.

Т.е., я так понимаю, никакого примера вы привести так и не можете?

Вот и слился очередной отрицатель эволюции.

Ну так просвятите! Я же попросил вас привести хоть одно опровержение, но вы ничего так и не привели, кроме вопросов, которые совсем не образованные люди обычно задают, мол, ученые-то вот это объяснить не могут! (Значит - брехня вся эта наука заумная? Батюшка в церкви убедительнее говорит).

Ну еще одну ссылку на самую общую статью в википедии привели. Кстати, там в википедии ключевые слова "естественный отбор" и "способность эволюционировать" встречаются. И совсем не рядом со словами "опровержение". Этого слова там вообще нет.

Во времена Дарвина еще не было генетики, он не виноват.

Ну так генетика - самое главное подтверждение его теории. Он-то не знал за счет чего наследственность работает, но вывел ее из наблюдений. А вот мы теперь знаем. Да, кроме последовательности оснований еще всякие факторы работают, но это ньюансы и уточнения, а не опровержения.

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

Но это не повод отменять ее в школе, или вообще сомневаться в науке. Ровно так же: мы пока никак не можем объяснить гравитацию на квантовом уровне. Вот не доросла до этого еще наша физика. Но законы Ньютона от этого не перестают действовать и отменять их в школе не стоит.

не отвечает на вопрос зарождения жизни как таковой

А новая "Актуальная теория" отвечает? Потом, даже если да, это не отменяет Дарвиновскую теорию, а лишь расширяет ее, отвечая на новые вопрсы, в ней не рассмотренные вообще.

вопрос о сложности и разумности устройства живых существ

Это-то как раз отлично объяснено. Как постепенно сложность увеличивается и существа становястя все более приспособленными (или наоборот, становятся более простыми, если это в данных условиях приспособленнее). Или эта "Актуальная теория", которая по вашему отменила Дарвиновскую, как-то по-другому это объясняет?

генетической деградации

Что? Опять, "ученые-то не знают про космическую радиацию"?

отсутствует механизм, закрепляющий необратимые эволюционные изменения в организме

Закрепляет изменения отбор. Вызываются они изменчивостью. Все как дедушка Дарвин написал.

Ну просвятите же меня. Приведите мне хоть один постулат его теории, который оказался в корне не правильным.

Ну я же так и написал:

Если хотите именно к олимпиадам готовиться, то литкод тут не подходит - там слишком простые задачи "

Это потребовало переосмыслить многое в науке, в том числе и ванильный дарвинизм

Ну, открыли, что у ДНК есть всякая метилизация, которая тоже оказывается информацию несет. Что эволюция идет на уровне популяций а не индивидуумов. Кучу еще каких-то ньюансов, но основные идеи Дарвиновской теории нисколько не опровергнуты. ДНК все так же несет генетическую информацию, а изменчивость и отбор являются движущей силой эволюции. Человек все так же произошел от (древней) обезьяны. Это не альтернатива теории Дарвина, а ее уточнение.

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

Вы же, надеюсь, не будете утверждать, что законы Ньютона не надо преподавать в школе, потому что придумали потом Специальную Теорию Относительности?

Нет, оно стало территорией США в 1898 году. В 1959 поменяли статус и повысили до штата. И при этом не было никакой войны. На всякий случай, уточню свой вопрос: проблема "новых территорий" не в том, что границы изменились, а в том, что границы изменились насильно. Вот в этом контексте его рассматривайте.

Её выгоняют, исключают, отключают. Что это может значить для других стран?

Что не стоит начинать спецоперации. Себе дороже будет.

Ни одного президента США диктаторами не считаю, потому что они там регулярно сменяются. Не вижу иронии, Трамп - самый близкий к диктаторству из них, но у него не получилось стать диктатором. Если вы тут намекаете, что США мол по всему миру воюют, то это другое. Опять же, не иронично: назовите мне хоть одну "новую территорию" США за последние лет 100.

в дереве left/right/parent. И если надо обменять два узла, то, как я сейчас понимаю, надо расписать отдельные случаи, когда два обмениваемых узла друг с другом не связаны напрямую,

Parent не всегда нужен, но даже если нужен, то обмены обычно происходят между родителем и ребенком (повороты эти самые).

А до временных переменных ещё догадаться надо было.

Вот тут как раз олимпиадники и сияют. Ибо формально строят модель что куда как перемещается и кучу раз подобные махинации проделывали.

Было бы небезынтересно узнать, правда ли любой. Насколько любой

Да, я слишком смело выразился и преувеличил. Не любой, конечно, а кто-то, кто серъезно этим занимается и хоть чего-то там добился. Например, вышел на всероссийскую олимпиаду и там вошел в топ 50%, допустим.

Ну, правда, это такое раньше, в котором C++ на олимпиадах не было, и декартово дерево было в роли обычной карты,

Нет, декартово дерево пишут, когда стандартного set/map не хватает. Например то же упомянутое дерево по неявному ключу. Или когда суммы на интервалах нужны. Когда хватает стандартного, ничего своего не городят, конечно.

Новое поколение так не делает! Новое поколение может зафигачить вектор соседних вершин или вектор инцидентных рёбер. У них теперь есть вектор.

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

Конечно, есть вероятность, что в какой-то стране придет к власти полоумный диктатор и разосрется со всем миром, но эта вероятность весьма мала. И пока мала она, мала и вероятность, что подобное "случившемся в 2022-2023 годах с Россией" случится со странами условного запада. Некоторое сокращение контактов и сотрудничества будет, но со всякими диктаторскими режимами, со стороны западных стран, а не между собой. Для минимизации рисков, а то вдруг у них тоже геополитика зачешется. Так, действительно, будут выходить из Китая. Но глобализации конец точно не приходит. Максимум, поляризация: запад и лига диктаторов.

сбалансированное дерево с порядковой статистикой

Такие вещи на олимпиаде пишут за 5-10 минут. После практики конечно, ибо их пишут часто. Правда, обычно делают какое-нибудь Декартово дерево, оно сильно проще в реализации всяких там AVL или Красно-Черных деревьев. Интрузивность какого-то гемороя тут вообще не добавляет. На олимпиадах наоборот сразу пишут интрузивные структуры: класс со значениями и left/right указателями. И при перемешивании не значения двигают, а переключают указатели. Особенно в Декартовом дереве - там даже повторотов-то и нет, а только переключение указателей, чтобы разрезать дерево или склеить его. Ну, допустим, кто-то делает дерево поворотами. Требование не перемещать значения в памяти делает процедуру поворота на 5 строк длиннее. С удалением надо будет написать рекурсивную фунцию склеивания двух деревьев. Это все добавит 30 секунд рисования на бумажке, чтобы это спроектировать, и пару минут написания лишнего кода.

Без практики и тренеровок, минут за 30, в крайнем случае за час, такую структуру вам любой олимпиадник напишет.

Ну какая олимпиада длится месяц

Eсли человек может в течении 5 часов работать на пределе, то уж 8 часовой рабочий день в расслабленном темпе он уж точно выдержит. А то, что какой-то проект займет несколько дней или недель - ничего страшного. Способность быстро бегать сто-метровку не отнимает у человека возможности пройти в день 10-15 километров. Наоборот, такой человек явно в форме и ноги у него имеются. Так и умение очень очень быстро писать код в течении олимпиады не лишает человека возможности спокойно писать код неделями. Раз человек способен выучить десятки алгоритмов, то уж контекст своей задачи он даже за выходные не забудет.

Заголовок немного кликбейтный. ЦЕРН прекращает сотрудничество с российскими организациями. Российские ученые же вполне могут продолжать там работать.

Вот поэтому я и предлагаю @0a1a2a3a4a5 самостоятельно выбрать правильную модель и составить промпт. Хотя что его составлять - текст задачи же дан. Можно только абзац с примером выкинуть, или как-то картинку с примером переформатировать.

Призываю @0a1a2a3a4a5, вы там недавно писали, что gpt-o4 программистов заменяет. Не составит ли вам труда вставить условия нескольких задачек отсюда и показать ответ? Хотя бы задачу B - она там самая простая.

Edit: бинговский копайлот выдает бред:

Скрытый текст
vector<double> calculateProbabilities(int n, int k, const vector<vector<int>>& sheets) {
    vector<double> probabilities(n, 0.0);
    unordered_map<int, vector<int>> numberToPlayers;

    // Map each number to the players who have it
    for (int i = 0; i < n; ++i) {
        for (int num : sheets[i]) {
            numberToPlayers[num].push_back(i);
        }
    }

    // Calculate the probability for each player
    for (const auto& entry : numberToPlayers) {
        const vector<int>& players = entry.second;
        int numPlayers = players.size();
        for (int i = 0; i < numPlayers; ++i) {
            probabilities[players[i]] += 1.0 / numPlayers;
        }
    }

    // Normalize the probabilities
    double total = 0.0;
    for (double prob : probabilities) {
        total += prob;
    }
    for (double& prob : probabilities) {
        prob /= total;
    }

    return probabilities;
}

В частности, это решение никогда не выведет 0 ни для одного игрока, когда как в тестах эти нули явно видны.

Можно прям в браузере написть решение, да, и запустить на каких-то тестах (примеры из условия или свои). Потом можно отправить на проверку - если оно работает правильно и достаточно быстро на куче тестов, то оно примется. В общем-то, та же схема, что и на этих соревнованиях, только учета времени, потраченного на решение, и счета ошибочных посылок нет. Хотя там тоже проводятся контесты, где это все учитывается.

Решать его стоит, если планируете когда-нибудь проходить интервью в крупные компании, они любят подобного рода и уровня задачи давать. Если хотите именно к олимпиадам готовиться, то литкод тут не подходит - там слишком простые задачи. Его я привел в пример, потому что про него многие айтишники знают, даже если к соревнованиям никакого отношения не имеют. Решайте какой-нибудь codeforces.com. Правда, там не настолько все заточено под браузер. Обычно надо иметь компилятор у себя локально, а на сайте только отправлять исходник.

Некоторые задачи, как заведено, весьма простые. Практически easy с литкода. Но остальные задачи сильно сложнее hard на том же литкоде. Вообще, ответы (по крайней мере эскизы решений) публикуют, но с большой задержкой. Разбора задач с этого финала еще долго не будет. Но уже на всяких форумах тематических можно найти что-то собранное народом. Только там тоже будут словесные описания. В некоторых задачах иногда даже зная алгоритм его очень непросто написать.

edit: кстати, вот сами задачи. По таблице результатов видно, что задачи B, C и F должны быть не такими уж сложными.

1
23 ...

Information

Rating
1,332-nd
Location
Stockholm, Stockholms Län, Швеция
Registered
Activity