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

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

Привет всем!

Сегодня очередной раунд на Codeforces, вот уже 53-ый.
Раунд будет проходить для обоих дивизионов по классическим правилам формата Codeforces.

Разбалловка стандартная: 500-1000-1500-2000-2500.

В подготовке контеста участвовали Ripatti , Alex_KPR , Gerald , Aksenov239 , RAD , Delinur .

Всем удачи!

UPD. Раунд окончен.
Победители div1:
1. Petr
2. tourist
3. SergeyRogulenko
4. bmerry
5. UESTC_Nocturne

Победители div2:
1. gflegar
2. mylyanyk.ivan
3. arbesfeld

Petr — единственный в первом дивизионе, решивший все 5 задач. Во втором дивизионе 5 задач не решил никто.

UPD. Разбор задач.

  • Проголосовать: нравится
  • +138
  • Проголосовать: не нравится

»
12 лет назад, # |
  Проголосовать: нравится +26 Проголосовать: не нравится

беда...

»
12 лет назад, # |
  Проголосовать: нравится +38 Проголосовать: не нравится

давно не было гробовых идейных задач от Ripatti...

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

0.0012 from 100010

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

Да это же юбилейный, 777 XOR 884-ый раунд!

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится -10 Проголосовать: не нравится

    А скоро и 128-й раунд будет... 2^7 — какой простор для фантазии :)

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

Судя по номеру будет математика :( UPD. Я прям Нострадамус.

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится -39 Проголосовать: не нравится

be careful! 5^3 is meaning something... maybe this is hint for some tasks ))

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

Can we suppose fixed scoring, as it is not specified?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    It is already specified that the points are standard ->500,1000,1500,2000,2500 .. So no dynamic scoring

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

但愿不坑爹

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

А планируется ли в дальнейшем еще форматы с динамическим определение стоимостей задач?

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

Удручают такие контесты, когда ты знаешь, что писать в Е, но написать это не можешь и тупо целый час ждешь, когда контест закончится... Авторы — утонченные садисты :(.

  • »
    »
    12 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится -12 Проголосовать: не нравится

    тоже самое про С ))

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +10 Проголосовать: не нравится

    Что такое знаешь, что писать но не можешь написать. Я понимаю, что такое не можешь отладить, но при этом не ждешь происходит, а некоторое активное действие все-таки.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      Это значит, что я придумал нижеописанный алгоритм за час до конца контеста, но т.к. я до этого k-d дерево не писал ни разу, было очевидно, что за час я его не напишу.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +35 Проголосовать: не нравится

        За час реально написать с первого раза почти что угодно, если хорошо понимать алгоритм. Если понимать на уровне "что-то где-то слышал", то это не называется понятно что писать. В любом случае, можно

        1. Попробовать
        2. Решать D
        3. Ломать решения
        4. Пойти заниматься своими делами
        5. Протестировать то что написано.
        6. Попробовать придумать что-то другое.
        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +14 Проголосовать: не нравится

          А вот зря Пашу так активно минусуют, я считаю, что в этой ветке он прав.

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится +8 Проголосовать: не нравится

            ИМХО, он прав, но с поправкой на то, что я ему ответил ниже. А вообще, продолжать эту оживленную дискуссию нет большого смысла — лучше я просто напишу завтра это k-d дерево, опробую его на сегодняшней Е-шке и буду рад тому, что изучил новую структуру данных :).

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +3 Проголосовать: не нравится

          Ты в какой-то степени извращаешь мои слова. Я знаю, что мне нужно писать k-d дерево, т.к. оно может решить задачу "извлечь все точки на прямоугольнике" за O(sqrt(N)). Но вот на реализацию оного в первый раз у меня уйдет явно больше часа, т.к. я, грубо говоря, не слушал лекции про алгоритмы его построения и траверса, и не пытался до этого их придумать. Просто мне известна идея k-d дерева о разбиении плоскости/пространства пополам таким образом, чтобы количество точек в обоих половинах было приблизительно равным.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +11 Проголосовать: не нравится

    Можно было убить произвольное количество времени на написание D

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится -23 Проголосовать: не нравится

Я думаю что єто самый убитый контест за последние 6 месяцев, по крайней мере Div.2!

UPD. Надеюсь матч Германия-Греция поможет расслабиться тем кому контест не удался...
»
12 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Как решалась Е?

Присвоим каждому захвату новые координаты: X — квадрат расстояния до него, Y — его масса. Построим по этим координатам k-d дерево. Закинем наш старенький захват в очередь и выполним следующий цикл: пока очередь не пуста, запрашиваем в k-d дереве все захваты на прямоугольнике ((0, 0), (r[queue.top]^2, p[queue.top])), добавляем их все в очередь, удаляем их из k-d дерева и увеличиваем ответ. Итого имеем асимптотику O(N * sqrt(N)).

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

    Можно за одномерным деревом отрезков (или Фенвиком). Отсортируем по расстоянию, а потом будет запрашивать у дерева по сжатым координатам захват с минимальным весом на префиксе.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      Хорош) Я-то там убивался с декартовым и совпадениями x и y.(

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +2 Проголосовать: не нравится

    У меня . Разобьем на корень кусков по расстоянию. Для каждого заведем сет по массе. Каждый раз надо вынуть по отрезку из сетов и пройтись по одному куску.

    UPD. Сверху проще. Интересно, а это пройдет? У меня вроде укладывается в секунду локально, а на CF сервера хорошие.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      У меня упало, а когда заменил векторы на массивы, то влезло за 3940.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Насколько мне сказали, предпологалось что будет заходить NlogN и аккуратный корень. Но у некоторых Nlog2 залез.

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

Very tough problem set .. I could not understand what problem B wanted . :(

»
12 лет назад, # |
  Проголосовать: нравится +35 Проголосовать: не нравится

Спасибо за контест! Было очень круто)

  • »
    »
    12 лет назад, # ^ |
    Rev. 4   Проголосовать: нравится -10 Проголосовать: не нравится

    Для меня всё наоборот ... UPD. А вы считаете что когда решаешь 1 задачу(Div.2) это круто?

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      если как я поднимаешься на 113 в рейтинге, то да, это круто!

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

Какой 4 тест на В див. 2?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

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

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

      Когда я написал тот комментарий — тестов еще не было видно.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

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

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Да, мне тоже так кажется. Интересно, какой пятый...

»
12 лет назад, # |
  Проголосовать: нравится +20 Проголосовать: не нравится

Looks like I will get more than minus 100 rating for birthday present T_T such bad luck T_T

»
12 лет назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится

Спасибо за контест. Классные задачи.

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

I'm try to solve 4 problems..., and solve only one :/

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

C is very annoying :) Got 9 WA's and still don't know what's wrong with my solution.

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

Может кто-то дать ссылку на паскаль (можно не самый новый) который нормально пашет и не вылетает каждые 5 минут и каждый второй запуск для системы:

винда 7, 64-разрядная...

А то виснет в любой момент. пока слово writeln набираю 2 раза перезапускаю окно. Буду ОЧЕНЬ признателен.

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

A какая-то трудная, B в 100500 раз проще. C — понятно как решать, но куча геометрического кода.
Контест несбалансированный.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +39 Проголосовать: не нравится

    Так как у меня на C осталось 11 минут, пришлось написать без кучи геометрического кода :) Не факт, что пройдет, конечно.

    public class TaskC {
    	public void solve(int testNumber, InputReader in, PrintWriter out) {
            int xp = in.nextInt();
            int yp = in.nextInt();
            int vp = in.nextInt();
            int x = in.nextInt();
            int y = in.nextInt();
            int v = in.nextInt();
            int r = in.nextInt();
            double R = Math.sqrt(xp * xp + yp * yp);
            double left = 0;
            double right = 1e7;
            while ((right - left) / right > 1e-10) {
                double middle = (left + right) / 2;
                double alpha = middle / (R / vp);
                double nx = xp * Math.cos(alpha) - yp * Math.sin(alpha);
                double ny = xp * Math.sin(alpha) + yp * Math.cos(alpha);
                double a = ny - y;
                double b = x - nx;
                double c = -(a * x + b * y);
                double z = Math.sqrt(a * a + b * b);
                a /= z;
                b /= z;
                c /= z;
                double need;
                if (Math.abs(c) < r - 1e-8) {
                    double mx = a * (-c);
                    double my = b * (-c);
                    if (dist(x, y, mx, my) + dist(mx, my, nx, ny) > dist(x, y, nx, ny) + 1e-8) {
                        need = dist(x, y, nx, ny);
                    } else {
                        need = catet(dist(x, y, 0, 0), r) + catet(dist(nx, ny, 0, 0), r);
                        double alp = Math.abs(Math.atan2(y, x) - Math.atan2(ny, nx));
                        if (alp > Math.PI) alp = 2 * Math.PI - alp;
                        alp -= Math.acos(Math.min(1.0, r / dist(x, y, 0, 0)));
                        alp -= Math.acos(Math.min(1.0, r / dist(nx, ny, 0, 0)));
                        need += alp * r;
                    }
                } else {
                    need = dist(x, y, nx, ny);
                }
                if (need / v <= middle)
                    right = middle;
                else
                    left = middle;
            }
            out.println(right);
    	}
    
        private double catet(double a, int b) {
            double z = a * a - b * b;
            if (z < 1e-12) z = 0;
            return Math.sqrt(z);
        }
    
        private double dist(double x1, double y1, double x2, double y2) {
            double dx = x1 - x2;
            double dy = y1 - y2;
            return Math.sqrt(dx * dx + dy * dy);
        }
    }
    
    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +28 Проголосовать: не нравится

      Хотел бы я уметь писать такое за 11 минут %)

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Ага) Я не сообразил, что координаты точек касания можно не считать, действительно несложно тогда получается.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    в А можно не думать и записать условие

    ,

    это монотонно и ищется дихотомией ( отдельно обработать случай, когда k = 1 )

    • »
      »
      »
      12 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится +14 Проголосовать: не нравится

      ага, и это вначале контеста выводить, ну ну, еще и дихотомию писать, еще чтобы потом это и упало

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

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

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      А не взломал ли я такое решение тестом 2 100000 5 10 на контесте?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        У меня упало, потому что я не учел, что ответ может быть n.

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

Вот только к концу раунда в голову пришла мысль: верно ли, что в A (Div 2) ответ всегда "0 0 n"?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

    Да верно

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

    'Разложите заданное число Фибоначчи n на сумму трёх не обязательно различных чисел Фибоначчи' Это правильно, потомучто n-число Фибоначчи и 0-число Фибоначии...

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

C was very fun (I didn't get it though). Thanks for a good problem set!

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    any idea for it?

    • »
      »
      »
      12 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится -6 Проголосовать: не нравится

      the thng was tht the entire process was totally recursive..

      so if 1 value matches the sequence the rest will follow..;)

      simply simulate the expt1 till u do not exceed t..

      after tht both will take same number of steps....

      ans is n-i+1 where i is no. of steps to reach t

      P.S.: be careful not to output -ve..:P

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

In problem B in div 2, we just have to find number of circles(out of 4) which are not intersected by any other circle. Am I right ?

Please help me someone.

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

    Yes, you're right, my young padawan.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    You have to check for every circle from each pair that it lies either in smaller of the other pair or outside bigger of the other pair. Checking only intersection is not enough as you can face a situation when a circle lies between 2 others ( exactly in the ring), so the color is not changed from white to black or vicer versa).

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    You should find the number of circles that are not intersected by the other 'disc'. For a circle in disk 1, simply checking intersection with both circles of the other disc is not enough. For example, the 1st disc may lie entirely inside the black region of the other disc, in which case there are no circle-circle intersections, but the number of contours is 2.

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

Я один в А див.2 писал перебор?

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

Скажите, почему не работает в Б див2? Я перебираю градус и подставляю его в уравнение прямой в полярных координатах, получиную точку проверяю на положение на другой окружности. Если совпадают точки, то окружности пересекаются иначе ответ++.Таких пар окружностей 4, перебирал с точностью до 10-5

»
12 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Такой отстой. В (D Div 2) решение упало на втором тесте. И нехватало всего одного if (water <= index). Не успел исправить до конца соревнования, жаль :(

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

    Вы так странно называете переменные! в задаче, где о воде ничего не говорится, называете переменную "water", но мне кажется, вы просто перепутали буквы "B" и "D".

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +6 Проголосовать: не нравится

      Вы так странно читаете! но мне кажется, вы просто перепутали буквы "В" и "D".

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

      А Вы, кажется, перепутали «В» и «B».

»
12 лет назад, # |
  Проголосовать: нравится +19 Проголосовать: не нравится

тестирование див1, не не, не слышал

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится -9 Проголосовать: не нравится

    У людей тормазит полигон. С ним бывает. И сейчас даже не 2 часа ночи(в Москве во всяком случае), как часто бывало в ЛКШ. Не валите все на авторов сразу :)

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится -13 Проголосовать: не нравится

    Да зачем оно нужно!

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

В чем подвох в задаче C в div2? Напрямую решение ложится на больших числах.

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится -8 Проголосовать: не нравится

    Подвох в том, что она не решается влоб.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Длинная арифметика будет очень долго работать! Так что подвох в том, что она идейная...

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Да, циклом долго будет перебирать число (10^6)^(10^6) — примерно максимум

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        http://codeforces.net/contest/199/submission/1821762 мое решение, доработанное(на контесте почти решил(один символ зря поставил)) Я просто смотрел , когда после выполнения операций над первой пробой она станет больше начального количества 2 пробы(дальше смотреть нет смысла), а дальше вывел n-i)))

»
12 лет назад, # |
  Проголосовать: нравится +22 Проголосовать: не нравится

Несмотря на то, что мой результат на раунде вполне приличный, я ставлю за него жирный минус. B,C,E — задачи из класса "напишите то, что написано". D — хорошая, сложная, идейная задача, но почему она стоит 2к, тогда как очевидное дерево отрезков+сжатие координат+очередь в E стоит 2,5к? Еще на CF похоже окончательно укоренилась мода давать чисто реализационные структуры в качестве E. Жаль(

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    да вообще, С бери и пиши

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

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

      • »
        »
        »
        »
        12 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

        Да какие формулы? Если забить на думать, то всё, что надо — расстояние от точки до отрезка (причём концы лежат снаружи окружности) и пересечение двух окружностей, чтобы получить касательные + что-то в стиле "(atan2 — atan2) * R)".

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +13 Проголосовать: не нравится

        мне кажется, участникам уровня фиолетовый-желтый, вполне себе задача, конечно если ее ниоткуда не копировать

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +8 Проголосовать: не нравится

          Копировать свой код вроде разрешено. Скопировать чужой с тимуса не получится. Задачка. Ну стандартная мерзость за 10-ый класс геометрии. Сесть пописать формулы конечно надо, но yeputons вполне правильно сказал, что там ничего нет, кроме теоремы косинусов и определения длины дуги.

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится -17 Проголосовать: не нравится

            Вообще нетривиальность геометрии здесь (особенно для фиолетового уровня) заключается в том, что не нужно строить точки касания, а можно просто найти все расстояния по формулам. Кто не знаком с этой фишкой и будет строить точки касания, получит миллион случаев и скорее всего задачу не сдаст. Полезная задача на школьную геометрию + бинарные/тернарные поиски, но ей самое место в div-2 only раунде.

            UPD. Для div-2 она гробом оказалась :)

            • »
              »
              »
              »
              »
              »
              »
              12 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится

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

              • »
                »
                »
                »
                »
                »
                »
                »
                12 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится

                Там надо хитро понимать, какую из двух касательных взять. Да и само построение касательных — для div 2 задача нетривиальная.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  12 лет назад, # ^ |
                    Проголосовать: нравится +18 Проголосовать: не нравится

                  Можно пробовать все 4 варианта пары касательных и брать минимальный ответ.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  12 лет назад, # ^ |
                    Проголосовать: нравится +13 Проголосовать: не нравится

                  Сделал, как написали выше — случаев не получилось :)

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +8 Проголосовать: не нравится

        Идея с бинпоиском хоть и нетривиальная, но очень избитая. Сразу вспомнила свою задачу. И откуда 5 крайних случаев?)

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +8 Проголосовать: не нравится

          Ну 5 я приувеличил. Но какой-то разбор там все-таки есть.

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится +8 Проголосовать: не нравится

            Примерно два случая: лететь напрямую или огибать круг.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Полностью поддерживаю, хотя мне раунд понравился благодаря задачам А и D.

»
12 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

The special hell! Если бы была задача "Отсортировать массив из 5 элементов A B C D E", то автор бы точно получил приз за лучшее решение — "B A D E D". Даже Джеки Чан с прижатыми к голове руками тихо плачет в сторонке %)

А проблемсет хороший, даже отличный:)

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Зачем задачку D целых два раза решать? ;)

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Я спросил, мне сказали, что одна из D — это на самом деле C, потому что по уровню больше похожа на D.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

      Я имел в виду, что задачи С и Е были обе сложности Д. такая вот суровая сортировка)

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

Пожалуйста, скажите, почему не работает это решение на В див. 2? Вроде, все логично: проверяю если какой-то из кругов не пересекается ни из одним из остальных — то добавляю его к ответу.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

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

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

Нереально быстрое тестирование и обновление рейтинга див2! Спасибо!

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

can you add tutorials?

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

Ripatti спасибо за классный контест. Жаль что слил))

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

Спасибо за контест, просто отличный, задачи были сложные))) Блин, в 3 задаче меня от правильного решения отделил один символ))) Бывает!

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

мне кажется, или формулы для див2 изменили? побольше народу вроде вышло в див1

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

Спасибо, хороший контест, а оценка задач дело субъективное. Для меня задачи по сложности были "CADEB", по аналогии с "BADED". Решал в порядке ABE.

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

Я отправляю в дорешивание задачу В div 2: http://www.codeforces.ru/contest/199/submission/1822659

На 4 тесте получаю ВА: прога выводит "4", надо вывести "2". Локально запускаю прогу на этом тесте. Выводит "2". Баг КФ?

Компилятор Delphi 2009

UPD: косяк найден. Криво скопировал тест. При копировании переходы между строк не сохраняются, и все сливается в одну строку, без пробелов.

»
12 лет назад, # |
  Проголосовать: нравится +10 Проголосовать: не нравится

Today is Dragon Boat Festival. Happy Dragon Boat Festival!

Also, today is Alan Mathison Turing's 100th birthday.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится

    I can add to your wonderful list that today there is another one celebration in Saint-Petersburg called Scarlet Sails show ("Алые паруса" in Russian). It's the holiday for all school-leavers. However, that event gathers not only them, but a lot of citizens and visitors of Saint-Petersburg.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится

    Strange !! People here vote for colors not for content .. Even I wished him in my blog and got a lot of negative votes .. Sad but truth...

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

      The problem with your post in my opinion is: How can Turing be happy on his birthday when he has passed away many years ago ?!! So, wishing a happy birthday to him may not make that much sense.

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

Поделитесь пожалуйста техникой короткого кода на acmp!

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

    К чему здесь-то этот комментарий?

    Но раз спросили, то, нам мой взгляд, писать короткий код ради acmp не стоит, это не поможет вам и не научит вас решать сложные задачи. Если уж и улучшать решение уже решенной задачи — то, наверное, полезнее улучшать его по времени (к примеру, придумав более эффективный алгоритм).

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Если уж и улучшать решение уже решенной задачи — то, наверное, полезнее улучшать его по времени

      кстати, на acmp это как раз сейчас актуально

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Кстати, решать ACMP в целом ИМХО неактуально — польза от большого количества легких задач в какой-то степени сомнительна.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится

          Так а если у меня не получается решать тимус, например Нигматулин и Соболевы в свое время порешали асмп, а решать то надо!

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

          Зависит от того, какие цели для себя ставить.
          Например, в отборе RCC или последнем CF раунде именно скилл быстрого решения простых задач давал хорошие результаты. На ICPC, конечно, это не настолько важно.

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            К концу лета фиолетовым хочу стать

            • »
              »
              »
              »
              »
              »
              »
              12 лет назад, # ^ |
                Проголосовать: нравится -30 Проголосовать: не нравится

              По опыту могу сказать вот что:
              решай виртуально Див-2 контесты минут по 30 и смотри результаты. Часто столько времени хватает чтоб попасть в топ-20 и получить плюс к рейтингу.
              Например, я помню, что вторым акком попал в топ-5 за 17 минут без взломов, решив три задачи.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Короткий код на вряд ли пригодиться, но если так интересно, то просто читаешь через ифстрим, выводишь через офстрим, удаляешь return 0 , место int main() main(). И т.д.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      та я уже все удалял практически и оставалось еще символов 20, такое впечатление что они не пишут что-то вроде using namespace std;

»
12 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

Где же обещаный разбор?

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

Ну теперь уже точно разбор должен бы быть

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

Editorial ?

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

It seems a spell error? Winners if div1 -----> Winners of div1:

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

0.001*log(1000)