Блог пользователя izban

Автор izban, 13 лет назад, По-русски

15 - 21 января 2012 года в городе Алматы пройдет VIII Международная Жаутыковская олимпиада по математике, физике и информатике

В этом году она совпадает с первым туром краевого этапа всероссийской олимпиады, что не очень удачно.

Расскажите, пожалуйста, о проведении этой олимпиады в прошлые годы. У кого есть, поделитесь пакетом с тестами=)
В заданиях прошлых лет заметно, что они любят давать длинную арифметику. Разрешены ли java, питон и другие языки со встроенной длинной арифметикой?
  • Проголосовать: нравится
  • +23
  • Проголосовать: не нравится

»
13 лет назад, # |
Rev. 3   Проголосовать: нравится +25 Проголосовать: не нравится

Питон и Ява разрешены. Организация олимпиады хорошая, культ. походов вроде тоже 

PS: В этом году еще берут с человека по 50 баксов

»
13 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится
Всем привет. Хотелось бы узнать какие на МЖО будут среды и компиляторы для C++?
  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится +11 Проголосовать: не нравится
    В прошлом году, насколько я помню был установлен образ винды, такой же, как и на ВКОШП, когда проводили в Алматы.
    Точно были: Visual Studio 2010, Code::Blocks, gVim/vim, Dev-cpp, Wing IDE 101(python), eclipse, Borland C++, TuboPascal, FreePascal

    Может, естественно, я что-то путаю
»
13 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится
Разрешены Java, C/C++, FreePascal. Из сред будет Code::Blocks, gVim, Eclipse.
  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Так было в прошлом году или будет в этом?

    Что известно про питон? Точно будет/точно не будет?
    Что известно про MVS? Точно будет/точно не будет?
    • »
      »
      »
      13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      В этом.
      Python точно не будет.
      MVS скорее всего не будет.
      • »
        »
        »
        »
        13 лет назад, # ^ |
          Проголосовать: нравится +4 Проголосовать: не нравится
        в ЛКШ нас Тимин Александр Алексеевич учил писать все gen'ы и stress чекеры на bash или python, будет ли такая возможность, применить эти знания? (может сдавать решения на питоне нельзя будет, а установленно все будет)
        • »
          »
          »
          »
          »
          13 лет назад, # ^ |
            Проголосовать: нравится +9 Проголосовать: не нравится
          Жюри подумает над этим вопросом. В любом случае в вашем распоряжении вся мощь командной строки Windows
          • »
            »
            »
            »
            »
            »
            13 лет назад, # ^ |
              Проголосовать: нравится +9 Проголосовать: не нравится
            когда же вы, наконец, сделаете нормальный сайт олимпиады... на это убожество тошно смотреть
            • »
              »
              »
              »
              »
              »
              »
              13 лет назад, # ^ |
                Проголосовать: нравится +1 Проголосовать: не нравится

              Мммм, как минимум 8 человек меня заминусовали, скажите пожалуйста, что можно сказать в пользу сайта? Я против могу сказать вот что:

              1) Все обновляется ужасно долго(это главное)

              2) Ну вот как??? как можно информацию о новой олимпиаде выкладывать туда где инфа о прошлогодней? Т.е. нажимаем на ссылочку результаты и опа, прошлогодние резы.

              • »
                »
                »
                »
                »
                »
                »
                »
                13 лет назад, # ^ |
                  Проголосовать: нравится +6 Проголосовать: не нравится
                arti не несет никакого ответа за этот сайт, этим занимаются другие люди, видимо, они относятся к этому весьма халатно.
                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  13 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится
                  видимо, банально, никто не хочет работать за пирожки в столовой РСФМСШИ
        • »
          »
          »
          »
          »
          13 лет назад, # ^ |
            Проголосовать: нравится +10 Проголосовать: не нравится
          Нашли, блин, Александра Алексеевича.А такие  вещи надо уметь писать на всем что движется. есть на олимпиадах. Это не сложно. Для генераторов надо просто узнать как инициализировать рандом от времени на языке, а для скриптов есть cmd который на уровне написать стресс учится за 10 минут, а для написания других скриптов под виндой пригодится.
        • »
          »
          »
          »
          »
          13 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится
          Я всегда генераторы и чекеры встраивал прямо в код решения. Может, это менее универсально, но зато работает намного быстрее (не тратится время на запуск исполняемых файлов) и пишется одинаково на разных платформах.
          • »
            »
            »
            »
            »
            »
            13 лет назад, # ^ |
              Проголосовать: нравится +1 Проголосовать: не нравится
            а можно пример?
            • »
              »
              »
              »
              »
              »
              »
              13 лет назад, # ^ |
                Проголосовать: нравится +5 Проголосовать: не нравится
              Ну пишется что-то вроде:
              for (iter = 0; iter < 10000; ++iter) {
                generate_test();
                int a = solve();
                int b = brute_force();
                if (a != b) { // ERROR }
              }

              Только когда хочется побыстрее, я часто не оформляю все в виде отдельных процедур, а прямо в коде пишу.
        • »
          »
          »
          »
          »
          13 лет назад, # ^ |
            Проголосовать: нравится +10 Проголосовать: не нравится
          Тимин Александр Алексеевич 
          • »
            »
            »
            »
            »
            »
            13 лет назад, # ^ |
              Проголосовать: нравится +8 Проголосовать: не нравится
            На такие случаи есть полезный сервис jpg.to
            Например, я сейчас вставлю изображение, даже не проверяя, что это то, что надо, перед вставкой.

            <img src="http://facepalm.jpg.to" />
            • »
              »
              »
              »
              »
              »
              »
              13 лет назад, # ^ |
                Проголосовать: нравится +5 Проголосовать: не нравится
              А размер умеет менять?)
              • »
                »
                »
                »
                »
                »
                »
                »
                13 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                <img width="" height="" />
                Хотя было бы хорошо. Потому что одно дело показывать отресайзенную гигантскую картинку, которую ещё скачать надо, и другое дело, когда её скачиванием занимается третий сервер. Правда, если он не кеширует картинки, то получится только дольше.
        • »
          »
          »
          »
          »
          13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Погодите погодите, путаю ли я что-нибудь. Тимин Александр - это именно тот худой высокий светловолосый парень из сунца?
          • »
            »
            »
            »
            »
            »
            13 лет назад, # ^ |
            Rev. 4   Проголосовать: нравится +14 Проголосовать: не нравится
            • »
              »
              »
              »
              »
              »
              »
              13 лет назад, # ^ |
                Проголосовать: нравится +3 Проголосовать: не нравится
              Тогда точно facepalm :-D Да ему 17 лет :-D Ну максимум 18... Он что, себя заставлял по имени-отчеству называть??? Никогда бы не подумал, что этот парень из параллельного класса так важничает :-D
              • »
                »
                »
                »
                »
                »
                »
                »
                13 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                17 ему. Мне 16. Но дети, которые в ЛКШ первый раз, почему-то пытались называть по имени-отчеству. В принципе обычно быстро отучивались. 
                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  13 лет назад, # ^ |
                  Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

                  Ааа, ну тогда понятно :) Кстати, тут есть Алексей Шлюнкин? Никто не знает?

                  Спойлер

                  Слева

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  13 лет назад, # ^ |
                    Проголосовать: нравится +8 Проголосовать: не нравится
                  Не только дети, которые в первый раз. Это же забавно -- называть так человека, который готов убивать за подобные обращения :3
                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  13 лет назад, # ^ |
                    Проголосовать: нравится +24 Проголосовать: не нравится
                  Елизавета Владимировна ...
                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  12 лет назад, # ^ |
                  Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

                  Тебе 16?! Это чертовски похвально, на мой взгляд.

                  UPD 11 месяцев назад... Но все равно :)

        • »
          »
          »
          »
          »
          13 лет назад, # ^ |
            Проголосовать: нравится +14 Проголосовать: не нравится
          Развелось тут троллей. Да, Вячеслав Олегович, это я про Вас.
        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

          Тимин Александр Сергеевич -- это сильно. Надо ему показать. UPD. Загрузил до конца комментарии, каюсь.

»
13 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится
from where we can find today's results?
»
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Простите за вопрос, но что означает "Жаутыковская олимпиада"? И куда поставить ударение?
»
13 лет назад, # |
  Проголосовать: нравится +24 Проголосовать: не нравится
Результаты!
Поздравляем Zlobober!!!
  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    а это результаты 8-го?
  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Ну electroteam как всегда electroteam)
    а за СУНЦ-1, в смысле, Куплякова и Лахтанова, немного обидно. 
    С Ваней что-то непонятное случилось на второй четверке задач (2 тур?), а Денис умудрился получить 0 баллов по задаче, что тоже не есть хорошо.

    Но они все молодцы. 
    • »
      »
      »
      13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      С Ваней на второй тур случился какой-то адский фейл. Он решил вроде все задачи, но, начав писать вторую задачу, в которой нужно было всего-навсего написать сжатое дерево отрезков, он так с ней и сидел до конца тура. А Денис оба тура пытался заставить заработать то, что написал по всем задачам, но как-то не удавалось.
      Самое весёлое, что если бы Ваня вообще не пошёл на второй тур, он недалеко бы опустился: на 11-е место :-)
  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится +13 Проголосовать: не нравится
    Спасибо!
    Окончательных результатов ещё нет, но, похоже, гран-при мы всё-таки возьмём, и не в последнюю очередь благодаря тому, что я не слил :-)
»
13 лет назад, # |
Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

Официальные результаты:


Условия Задач здесь.

Полный список участников и руководителей находится здесь.  
  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    по ссылке где Условия Задач, находится архив, насколько я понимаю, прошлого года. В заголовке написано Январь 2011 года.
»
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Есть ли где-нибудь разборы задач?
  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится
    Могу рассказать решение любой задачи.
    • »
      »
      »
      13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      C(Xor) - есть идея, связанная с просмотром i-ых битов всех чисел, но до ума не довел.
      D(Биороботы).
      G(Горная трасса) - поддерживаем список отрезков, на которых в текущий момент времени для каждой вершины одинаковая высота, и жадно увеличиваем наиболее короткие отрезки, с обоих сторон от которых отрезки с большей высотой?
      • »
        »
        »
        »
        13 лет назад, # ^ |
        Rev. 3   Проголосовать: нравится +19 Проголосовать: не нравится

        В обратном порядке:
        Горная трасса.
        Идея правильная. Самое просто решение на основе этой идеи выглядит так. Можно заметить, что можно убрать в этой идее условие "для каждой вершины одинаковая высота". А именно - все горизонтальные отрезки, вне зависимости от того, есть ли под ними какие вырезы или нету, сложим в один список. И будем на каждой итерации брать минимальный отрезок. Теперь поймём, что "плохой" отрезок, т. е., который не является сплошным, то есть под которым есть какие-то провалы, мы не возьмём раньше, чем закроем все провалы под ним - так как длина каждого из провалов меньше чем длина самого отрезка. Поясню: в такой картинке:

        *       *
        ** *  *
        У нас будет четыре отрезка. Один на самом верхнем слое, один на среднем и два на нижнем. Мы их положим в список в порядке возрастания, и тогда, понятно, отрезок со среднего слоя мы не возьмём раньше, чем два отрезка с нижнего, поэтому всё корректно.
        А теперь достаточно понять, что физически ничего класть в списки не надо. Можно применить идею из сортировки подсчётом. Посчитаем количество отрезков длины 1, длины 2, ... На каждой итерации либо будем брать все отрезки длины i и переходим к отрезкам длины i + 1, либо считаем максимальное количество, какое мы сможем взять за O(1) и вываливаемся.
        Если после этого пожать координаты, то станет ясно, что таких отрезков (которые в реальности будут "прямоугольничками") может быть не более O(n). Получается простое до невозможности решение за O(nlogn).

        Биороботы. Тут всё хитро. Есть идея, как решать динамикой по поддеревьям за O(nm^2)?

        Xor. Расскажу не моё решение, а решение Паши Кунявского - оно проще для понимания. Моё развивает идею с битовой записью.
        Сначала лемма. Множество [a;b] после применения ксора с каким-то числом t переходит в объединение не более чем 32 отрезка. То есть проверить число на принадлежность {t ^ x | x [a; b] можно проверив его на принадлежность каждому из этих 31 отрезков. Например, отрезок [1; 6] переходит в объединение отрезков [1; 4] и [7; 8] после ксора с тройкой.
        Посчитаем xor-суммы на префиксах. Обозначим их за S[i].
        Теперь будем идти слева направо, поддерживая в некоторой структуре данных, например, дереве отрезков, суммы на префиксах до i-ого включительно. На этой итерации мы будем анализировать все подотрезки, заканчивающиеся в i-ом элементе. Что значит, что xor(A[j], A[j+1], ... , A[i]) [x; 232)? Значит, что S[j - 1] ^ S[i] в том отрезке. Это значит, что S[j - 1] в объединении тех 32 отрезков, которые получаются, после применения ксора к сегменту [x; 232). То есть на i-ой итерации нужно посчитать количество чисел среди S[i], которые лежат в одном из этих отрезков. Это либо делается в онлайне за n log^2 n log MAX деревом отрезков (log MAX - это тот самый множитель в 32), либо сканлайном за n log n log MAX.
        У жюри было решение за такую же асимптотику. К слову, у меня есть решение просто за n log MAX, я его написал на контесте, но оно шибко умное и тяжелое и я его не расскажу :-) Можно покурить мой код, если охота. Оно даёт идею, которая легко трансформируется в красивую задачу, которая, может быть, где-нибудь здесь появится в моём контесте.

        • »
          »
          »
          »
          »
          13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          По биороботам хотел написать такую динамику - топологически отсортировать все вершины, и для каждой вершины хранить лучшее решение, взяв k ее потомков - d[n][m] - n вершин и m возможно взятых ее потомков. Написал это, но набажил где-то в переходе.
          • »
            »
            »
            »
            »
            »
            13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Ну вот. Подстава заключается в том, что эта динамика вместе с достаточным количеством отсечений, похоже, является верным решением.
            • »
              »
              »
              »
              »
              »
              »
              13 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Стоит отметить то, что какой-то жадник брал 100.
        • »
          »
          »
          »
          »
          11 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Нашёл у одного человека решение xor за O(n). Почему проходит такая жадность так и не понял.


          #include<fstream> using namespace std; int main() { ifstream f1("c.in"); ofstream f2("c.out"); int n,i,j,k,x,m[250001]; f1>>n>>x; for(i=0;i<n;++i) f1>>m[i]; int _xor=0; for(i=0;i<n;++i) _xor=_xor^m[i]; if(_xor>=x){f2<<"1 "<<n<<endl;return 0;} i=0;j=n-1; while(_xor<x) { if((_xor^m[i])>(_xor^m[j])) { _xor=_xor^m[i++]; } else { _xor=_xor^m[j--]; } } f2<<i+1<<' '<<(j+1-i)<<endl; return 0; }
»
13 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится
  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +9 Проголосовать: не нравится

    А почему бы тем, кто имеет на это право, не добавить архивы с прошедших МЖО в тренировки? Думаю, перед соревнованием многие хотели бы потренироваться.

»
11 лет назад, # |
  Проголосовать: нравится -8 Проголосовать: не нравится

Could someone explain the solution of Problem C? Thanks in advance