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

Автор Egor, 14 лет назад, По-русски
4 сентября в 13:00 MSD состоится контест на сайте UVa
Поздно немножко, но только потому, что codeforces не работает на iPad
Теги uva
  • Проголосовать: нравится
  • +1
  • Проголосовать: не нравится

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
uva лежит?
  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    похоже на то
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      если я верно понял, этот контест уже переносили. не по этой же ли причине?
      • 14 лет назад, # ^ |
          Проголосовать: нравится +1 Проголосовать: не нравится
        Его тогда заранее переносили
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          плохо будет, если сервер не поднимется. я уже настроился на этот контест :)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
по-моему UVA совсем плох стал, после переезда сервера...
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    возможно, я там только контесты пишу. и то последний оттуда писал давно. :)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Делаем ставки: будет ли сегодня контест? :)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Ребят, подскажите пж как в задаче j остановить процесс сконирования чисел одного тестового случая(чтобы выдать результат и перейти к другому). Просто будь там определенное число я бы знал как это сделать, а так может плохое знание языка меня тормозит хз)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    вот мой код.
    int main() {
        scanf("%d", &n);
        while (n--) {
            int max = 0;
            for (int i = 0; i < 3; ++i) {
                scanf("%d", &a[i]);
                for (int j = i - 1; j >= 0; --j) {
                    res = gcd(a[i], a[j]);
                    if (max < res) max = res;
                }
            }
            printf("%d\n", max);
        }
        return 0;
    }
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Читай целиком строку. Потом из неё числа можно выхватить istringstream-ом. 
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Не понял, это читать все 100 допустимых цифр в строке?
        Плиз, если не сложно можно код выложить примерный хоть...
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        А на этом сайте можно как-то на дорешение зарегатся?)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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

dm[move][mask][s][t] - 0/1 для игкрока move, с текущим набором перекладин mask, мышь в s, сыр в t

?

  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    я считал динамику dp[mask] - можем ли мы с таким набором палочек выиграть. Заранее предпосчитал для всех всех возможных масок можем ли добраться из s в t массив can[mask].
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      а еще вопрос, если у нас в начале выкидывались палочки то надо рассматривать это как продолжение игры или ходит всегда первый?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Кто как делал B? Там по идее в тупую за квадрат должно проходить, но учитывая что сабмитил я на Java и читал Scanner'ом (иначе не знаю как, когда есть import java.io.* у меня пишет рантайм еррор), у меня TL. Думаю переписать на плюсы и попробовать сдать, только со вводом уравнения лень возиться, на джаве куда удобнее
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    если ты имеешь в виду квадрат от N. То вроде там n <= 10000 + ещё 35 тестов. Как-то не верится, что квадрат заходит. Правда я её не читал. :)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    В B там все просто,
    считаем для скольки прямых ai(yi - cy) - bi(xi - cx) > 0. Пусть их k.
    Тогда ответ k(n - k).
    То есть с плюсом берутся только бисектрисы между "положительными" и "отрицательными" прямыми.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      а что это за выражение? .. почему именно его считаем?
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Это векторное произведение нормали прямой, взятой из уравнения, и вектора из точки (cx, cy) в точку (xi, yi). Оно определяет куда будет направлена нормаль, если мы отложим ее от прямой, - по или против часовой стрелки.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Может кто-нибудь рассказать как делать задачу L?
14 лет назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится
Пишу этот комментарий в эмуляторе iPad'а. Не знаю как в настоящем устройстве, но в эмуляторе в самом деле это вполне нетривиально. Видимо, что-то с этим text-editor'ом. В исходном поле ничего не выходит, получилось в поле, которое появляется после нажатия View source code (правда, тоже как-то не сразу получилось). Егор, у вас подобное поведение?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А как F решать?
  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Two Longest Paths?
    Max flow min cost. Строим граф, где каждую вершину раздвоим. По вершине пропускная способность будет равна 1, а стоимость прохода -1. Делаем на этом графе 2 итерации поиска потока минимальной стоимости.