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

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

Добро пожаловать на Codeforces Beta Round #18

Авторы задач сегодняшнего контеста: Михаил Мирзаянов, Эдвард Давтян и я. Спасибо Дмитрию Матову за помощь в подготовке условий и Юлии Сатушиной за перевод задач на английский язык.

Всем удачи!

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

16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Я не знаю какое решение подразумевается в Е, но я не считаю что стоит так притеснять java, моё решение не уложилось в TL, а переписанное на С++ прошло за 560 мс.
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Ну вот что за бред? Задача A - не проходит вообще. WA 2, хотя на компьютере выдает ответ NEITHER. На сервере же неизвестно что. С чем это вообще может быть связано?
16 лет назад, скрыть # |
 
Проголосовать: нравится +12 Проголосовать: не нравится
Будет ли разбор от авторов? Или я могу написать?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Is it intentional that now the only way to submit is to select a file instead of pasting the code? I made a pair or mistakes because of that, because using the current way forces me to lose the tab with the problem.

Is it possible to restore the submit pasting functionality back?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Nice problems!
I like them all.. :)

Well, when will the tutorial of this round
announced?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
А куда делась отсылка текстом а не файлом? Или ее убрали специально?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
А задачу Е можно свести к задаче о решении системы линейных уравнений?
  • 16 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    В задаче Е можно использовать динамику по номеру строки и буквам, которые чередуются в ней.
    Пусть f(i,a1,a2) равно наименьшему количеству измененных символов, требуемому для того чтобы первые i строк стали подходящими и в строке i чередовались символы a1 и a2 (a1!=a2).
    Тогда запишем f(i,a1,a2)=min{f(i-1,b1,b2) | a1!=b1 && a2!=b2 && b1!=b2}+cost(i,a1,a2), где cost(i,a1,a2) - количество изменений, необходимое для того чтобы в строке i чередовались символы a1 и a2.
    • 16 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится
      И это O (n * 26 ^ 4), верно? Это заходит?)
      • 16 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится
        Успевает меньше чем за секунду. Можно ускорить до O(n*26^3), если после подсчета f(i,a1,a2) для всех a1 и a2 пересчитывать матрицу M, элемент M(a1,a2) которой равен min{f(i,b1,b2} | | a1!=b1 && a2!=b2 && b1!=b2}. Заметим, что из f(i,j,*) мы возьмем минимум, либо второй минимум. Значит, матрицу M посчитать можно за куб. Думаю, если еще подумать, то можно ускорить и до квадрата :)
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Когда вижу длинные числа, всегда кажется что притесняется C++ :)
Как работать с длинной арифметикой, в задаче D, например? Разрешается ли пользоваться заготовленным кодом?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Помоему написать свою длинку дело 15 минут )) к тому же тут нету сложных операций ;) (Деление, извлечение корня, быстрого умножения)
  • 16 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    15 минут из 120 - время. На Java ведь их не надо тратить. При составлении задач, похоже, на длинную арифметику уже никто внимания не обращает. Означает ли это, что заготовки кода разрешены?
    • 16 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится
      А почему нет? В конце концов ты у себя дома пишешь
      • 16 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится
        Ну ок, и то правда. Будем считать, что разрешено всё, что не запрещено.
      • 16 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится

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

        Так что задачи на длинную арифметику - абсолютное зло

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

          Что собственно все и делают, потому что это нормально.
          Идиотизм-то как раз таки по 200 раз писать один и тот же алгоритм.

          Например я давно для себя сделал штучку типа skidanovalex.ru/ahelper.html, чтобы не зависимо от того, откуда я пишу, все нужные алгоритмы были со мной :о)

          • 16 лет назад, скрыть # ^ |
             
            Проголосовать: нравится 0 Проголосовать: не нравится
            прикольно =) ... похоже ты сейчас не один будешь пользоваться своей штучкой )
          • 16 лет назад, скрыть # ^ |
             
            Проголосовать: нравится 0 Проголосовать: не нравится
            Меня крайне порадовал контраст:
            "I'm a computer programmer. I like coding a lot, and not so long ago I was one of the best tough-algorithms coder in the world.
            Here's the list of my selected achievements. Some of the scoreboards...
            "
            Русская версия - Если в двух словах - я программист и металлюга :о)
            И дальше по тексту... :)
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

у кого нибудь в задаче Д были проблемы с 4-м тестом?

можете привести контрпример или вспомнить в чем была ошибка?

16 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
Hi,i'm  a newbie
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Контест классный! Мне очень понравился! Но по-моему для второго дивизиона несколько сложноват... Впрочем, прошлый контест для второго дивизиона был слишком простой. Надо искать золотую середину...
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Вопрос совести ? )) всё равно никто контролировать не будет, а можно научится кодить на Java или Python
  • 16 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    Не хочу Java или Python :)
    Участники должны быть в равных условиях. Видимо, это означает, что единственно верный вывод - разрешить любые заготовки. Кроме всего прочего, это более естественно.
    • 16 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится
      ну вот у Java проблемы вечные с тл там, где решения на плюсах легко проходит. У всего есть свои плюсы и минусы
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Nice problems!

I have a question though. How am I supposed to include the BigInt class in my solution? I'm writing in C#.
Thanks!
16 лет назад, скрыть # |
 
Проголосовать: нравится +13 Проголосовать: не нравится
16 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится
For D I could find the greedy solution but can't do it in time because I have to right a big int power :(  I hate big int. Why you just can ask for a moded result?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Эх, время контеста неудачное было. Чемпионат мира оказался приоритетнее :) Главное - не поставьте контест параллельно с финалом =)
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
1 ) Во время контеста у многих участников задача В валилась на 16-м тесте?
2) что за 16-й тест ? :)

  • 16 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    Я задачу B сдал с 13 попытки. У меня были: 
    3 ошибки на 10 тесте
    2 ошибки на 3 тесте
    3 ТЛ на 25 тесте
    2 ошибки времени исполнения
    и по одному разу-ВА на первом тесте и ТЛ на первом тесте
    Как видишь, 16 теста среди них нет))))