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

Автор MikeMirzayanov, 2 года назад, По-русски,

Добрый день.

Финал чемпионата мира ACM-ICPC в самом разгар. Совсем недавно завершилась церемония открытия. За эти дни директорат поделился некоторыми новостями.

  1. Напомню, что этот сезон (2016-2017) последний, когда генеральным спонсором чемпионата является компания IBM. 20 лет IBM поддерживала ACM-ICPC, вкладывая миллионы долларов ежегодно. Спасибо, IBM! В настоящий момент активно прорабатывается модель, когда будет не один генеральный спонсор, а будет фонд в котором будут участвовать несколько компаний. На открытии был упомянут Sport Programming Foundation — полагаю, этот фонд и будет основным для будущих сезонов проведений чемпионата. Однако это еще не близкие планы.

    Было анонсировано, что ближайшие три года генеральным спонсором ACM-ICPC будет компания JetBrains! Это потрясающая новость. Особенно приятно, что это фактически российская компания, а её исполнительный директор Максим Шафиров тренировал команду СПбГУ, ставшую чемпионом мира в 2000-м году! Уверен, как приятный бонус нас будут ждать замечательные среды разработки от JetBrains в будущих финалах чемпионата.

  2. Происходит реформа устройства отборочных этапов чемпионата. Например, теперь уже наш региональный контест (NEERC) не является частью европейских чемпионатов, а составляет отдельную лигу Northern Eurasia. Вообще, были выделены 8 лиг (читай, супер-регионов): Европа, северная Евразия, северная Америка, латинская и южная Америка, две лиги в Азии, Африка и, наверное, Австралия и Океания. Планируется, что в каждой лиге будет свой отдельный финал с медалями и лучшие 12 команд из каждой лиге получат путевку на финал чемпионата мира. Кстати, в такой классификации российские четвертьфиналы становятся полуфиналами! Пока это еще отдаленные планы, но первые шаги уже сделаны. Обсуждается своя квота на количество участий в финалах лиг (3 раза).

  3. К сожалению, в этом году значительная часть команд не получили визы совсем (5 команд) и еще десяток не смогли приехать полностью из-за визовых проблем одного из участников. Саратовский ГУ, видимо, оказывается в их числе. Было анонсировано решение пригласить в следующий финал без каких-либо отборов и учёта квот 5 команд, которые не смогли приехать в этом году. Кроме того, предлагается дать +1 год к участию (без учёта каких-либо других требований) всем командам, которые не смогли приехать полностью.

  4. Следующий финал чемпионата состоится в Пекине, а через год — в Коччи (Индия).

Такие новости.

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

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

А 1/8 это , видимо, кволы к полуфиналу

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

От перемены мест слагаемых сумма ... уменьшается. Количество финалистов сокращается со 130 до 96 команд. Вместо 14-17 мест в последние годы NEERC получит только 12 гарантированных.

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

    Арифметика не совсем правильная :)

    Потому что никто не говорил, что систему премиальных квот планируют убирать.

    Биллу нужно поощрять растущие лиги и саблиги, а также медалистов.

    Так что это просто означает, что мир нарежут так, чтоб квота "за географию" стала везде довольно большой, больше ничего не меняется.

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

Михаил, а есть информация какие еще нировские команды пострадали?

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

А участвовать вдвоем тем кто приехал при этом дадут?

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

    Если да, то может у кого-то 3 финала получиться

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

    Дадут. По поводу ещё один финал для неполных команд — там думают, а не точно. Недоехавшим игрокам сезон точно не будет засчитан.

    Для тех 5 следующий финал без отбора (т.е. может 2 команды от тех вузов поехать)

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

Если количество команд от одного вуза в "финале Северной Евразии" не сократят до одной по примеру нынешних финалов, то для нас ничего принципиально не изменится, кроме небольшого сокращения квоты на общем финале. А вот если сократят... то это конечно будет революция — рубка среди команд сильных ВУЗов переместится в нынешние четвертьфиналы, а полуфинал станет меньше раза в три.

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

    Спускать это на четвертьфиналы ни коем случае нельзя.

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

      А кто минусует, объясните логику? Уровень большинства российский четвертей, прямо скажем, так себе, есть несколько исключений, но даже московский проблемсет бывает не очень. Я бы посмотрел на то, как в России сделают порядка 5 хороших проблемсетов на четвертьфиналы, что-то я в эту затею не очень верю.

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

        Сделают 1-2 и распространят на все четверти. Питерский проблемсет итак половина NEERC-а играет.

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

          Тогда возникнет другая проблема: сейчас есть много регионов, делающих свои чф — хорошие проблемсеты бывают в Питере, Москве, Саратове, Екатеринбурге (до того момента, пока они не забили на это дело), Минске. А так получится, что в субрегионах будут делать только халяву для этапа 1/8, это не очень способствует развитию community вокруг организации этих этапов.

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

        Проблема не в качестве, а ещё и в целях. Сейчас чф выполняет совсем другие цели. А отбирать и слабые команды вузов-новичков, и финалистов от топ вузов довольно сложно на одних задачах

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

          Вот и реклама кволов подъехала =)

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

            Кволы тоже выполняли другие цели

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

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

            Ты типа правда веришь, что "автор хорошего качества" сможет на одних и тех же задачах качественно отобрать финалиста от мфти и сделать так, чтоб последние прошедшие на пф от мосчф порешали задач?

            А сделать это будет нужно в обсуждаемой модели. Другой момент, что не будет такого. Ведь все регионы/суперрегионы имеют больше одной команды вуза. Поэтому Билл просто не пойдет на такой конфликт с регионами.

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

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

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

                И тогда мы будем отбирать финалистов на чф, а полуфиналистов на кволах? :)

                Немного безумно выходит :)

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

                  Под финалистами ты имеешь в виду участников "финала" NEERC-а? Если там одна команда от вуза будет, то какую схему ты еще видишь?

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

                  Схему "не будет одна команда". Ну в смысле не продавят такое. Все же против будут

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

                  Ну такое конечно будет лучше всего, да. Только отбор на финал-финал будет не тех тогда, кто медальки получил на почти-финале. А давать медальки на почти-финале не топ-12 такое себе.

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

                  В чем проблема давать медали топ-12, а отбирать на финал топ-12(или все же больше, чем 12?) с ограничением в 1 команду от вуза? Как это было в старой схеме.

                  Заменили дипломы медалями, подняли статус соревнований — все круто. Зачем хорошую устоявшуюся схему ломать?

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

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

                  Планируется, что в каждой лиге будет свой отдельный финал с медалями и лучшие 12 команд из каждой лиге получат путевку на финал чемпионата мира. Кстати, в такой классификации российские четвертьфиналы становятся полуфиналами!

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

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

          Интересно было бы посчитать "инверсии" по командам для случая, когда команды сразу из четвертьфинала выходят в финал и для случая с выходом через NEERC.

          Например, инверсии относительно опенкапа, Workshop-ов, Петрозаводска или же aggregate CF рейтинга (к сожалению, проверить "а как бы сыграла другая команда в финале" невозможно).

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

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

        Ну МосЧФ "не очень" бывает не чаще, чем, например, проблемсет NEERC.

        При этом прекрасно справляется и с отбором команд МФТИ-МГУ-ВШЭ, и с отбором команд "непроводящих" вузов, и с розыгрышем чемпионства среди топ-команд, включая гостевые.

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

          прекрасно справляется и с отбором команд МФТИ-МГУ-ВШЭ

          топ5 — да, топ1 — нет. Правда, с топ1 и NEERC не всегда справляется.

          Выборка из одной гостевой команды и одного года — как-то не очень репрезентативна.

          В этом году, я считаю, МосЧФ был не очень, потому что задачи, которые определяли проход, были техническими. При этом из сложных задач были пара очень интересных, но до них многие тупо не дошли.

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

      Немного не понял суть изменений Я всё ещё буду каждый год в Петербург приезжать?

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

    Иначе будет ситуация, когда медали будут получать одни, а в финал выходить другие команды. Рубка перейдет в текущие четвертьфиналы, но теперь то они станут полуфиналами.

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

      По старой схеме дипломы 1 степени на полуфинале получали одни команды, а в финал выходили другие. И все были довольны.

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

        Ну одно дело дипломы, а другое уже медали финала лиги.

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

          Проводить "рубку" на задачах сложности нынешних четвертьфиналов нельзя(результаты могут быть неадекватными), следовательно, надо повышать сложность задач текущих четвертьфиналов. А это, в свою очередь, снизит популярность ACM.

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

      Хорошее: у провинции будет больше шансов цепляться за медали преобразованного NEERC.

      Плохое: у многих сильных команд топ-вузов будет всего 1 контест в году, и по несколько безуспешных попыток выйти из четвертьфинала.

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

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

        Еще плохое: снижение фактически до нуля количества официальных онсайт контестов, на которых команда, не претендующая на выход в финал, способна решить пристойное количество задач.

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

Хороший повод добавить Kotlin к официальным языкам ACM-ICPC.

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

    Тут важнее, что появится CLion вместо Eclipse + CDT Plugin и Idea вместо Eclipse. Всё-таки на финале почти все команды предпочтут писать на C++/Java, особенно претенденты на медаль.

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

      Kotlin — это Java 80 уровня ;)

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

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

      в сортах говна не разбираюсь, но котлин имеет всю безопасность джавы и всю ее библиотеку + сахарок

      Правда, если на тренировках он будет недоступен, то не слишком удобно готовиться.

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

        Код получается лаконичнее даже C++. Есть поддержка функционального программирования. Вместе с сахаром это даёт писать кратко и напрямую отражая абстракции в голове.

        Примеры решений от первоисточника: http://codeforces.com/blog/entry/45454?#comment-300490

        Там же в шапке вводные ссылки по языку.

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

          Вопрос не в лаконичности и поддержке фичей, а в производительности.

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

            Кажется, что он не должен быть принципиально медленнее джавы

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

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

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

                А можешь каких-нибудь реальных примеров привести?

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

                  Не знаю, можно ли назвать реальным примером вычисление числа Фибоначчи с использованием мемоизации, но следующий код на Kotlin отработал в песочнице Codeforces за 217 мс:

                  import java.util.*
                   
                  fun main(args: Array<String>) {
                      println(fib(100000))
                  }
                  
                  val memo = HashMap<Int, Int>()
                  
                  fun fib(i: Int): Int = 
                    memo.getOrPut(i) {
                      if (i < 2) i
                      else fib(i - 1) + fib(i - 2)
                    }
                  

                  А анологичный код на Java за 997 мс:

                  import java.util.*;
                  
                  public class Main
                  {
                    public static void main (String[] args) throws java.lang.Exception {
                      System.out.println(fib(100000));
                    }
                  
                    static Map<Integer, Integer> memo = new HashMap<>();
                  
                    static int fib(int i) {
                      return memo.computeIfAbsent(i, k -> k < 2 ? k : fib(k - 1) + fib(k - 2));
                    }
                  }
                  
                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  2 года назад, # ^ |
                    Проголосовать: нравится +8 Проголосовать: не нравится

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

                  import java.util.*;
                  
                  public class Main {
                    public static void main (String[] args) throws java.lang.Exception {
                      System.out.println(fib(100000));
                    }
                  
                    static Map<Integer, Integer> memo = new HashMap<>();
                  
                    static int fib(int i) {
                      Integer t = memo.get(i);
                      if (t == null) {
                          if (i < 2) {
                              t = 1;
                          } else {
                              t = fib(i - 1) + fib(i - 2);
                          }
                          memo.put(i, t);
                      }
                      return t;
                    }
                  }
                  
                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  2 года назад, # ^ |
                    Проголосовать: нравится +5 Проголосовать: не нравится

                  И если мы посмотрим в байткод, то увидим, что Kotlin не заинлайнил функцию fib.

                  INVOKESTATIC MainKt.fib (I)I
                  

                  Да и не смог бы, потому что fib -- "нехвостовая" рекурсивная функция.

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

                  ayoyia, то что вы сделали – это фактически вручную заинлайнили computeIfAbsent вместе с переданной лямбдой, то есть именно то, что Kotlin сделал автоматически с getOrPut. Значит причина именно в инлайнинге.

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

                  И если мы посмотрим в байткод, то увидим, что Kotlin не заинлайнил функцию fib.

                  Он заинлайнил не fib, а getOrPut, вместе с лямбдой.

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

                  Мне почему-то показалось, что вы хотели скзать, что Kotlin сам инлайнит всё что может. :)

                  Большинство функций стандартной библиотеки инлайнятся, это правда. И в данном примере именно поэтому Kotlin выигрывает, вы правы.

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

                  Фигурные скобки после getOrPut в Kotlin — это лямбда. В любом случае, без JMH и прогрева по одному запуску делать окончательные выводы не стоит. Если приписать inline fun fib то и она заинлайнится. Хвостовая рекурсия через tailrec — это совсем отдельная история.

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

                  Слегка упустил из виду, что в соревнованиях все решения запускаются без прогрева. )

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

              По результатам бенчмарков Kotlin не медленнее Java. также он не проигрывает и в скорости компиляции (или как правильно назвать этот процесс? Трансляция в байт-код?).

              Что касается интересных плюшек — сейчас пишется компилятор Kotlin в native на основе LLVM, так что было бы интересно потом это дело побенчить с C++.

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

      Давным давно, еще во времена беты, я ставил CLion. Его понимание плюсов было чуть ниже уровнем, чем Visual Studio 2003. Не знаю, изменилась ли ситуация — надо будет скачать.

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

        Бывает понимание плюсов ниже, чем 2003-й вижак? Пример в студию?

        Сейчас вижак лучше чем CLion наверно только дебаггером. Еще мне нравится в вижаке фича автоматической расстановки пробелов вокруг операторов, в строках типа

        for (int i = 0; i < n; ++i)

        Ну и CLion жрет довольно много ресурсов. Плюсов значительно больше: поддержка Linux, подсветка warning-ов, удобное переключение между задачами, быстрое изменение ключей компиляции через CMake...

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

          Я поставил, работоспособность из коробки после установки получает оценку 0. Как ему нормальный gcc подставить? У меня как-то подключился MinGW, в котором GCC 4.8.1, который не может скомпилировать std::make_unique

          Кстати, когда я в VS жму правой кнопкой на строке с #include, первый пункт меню — перейти. А здесь такого в контекстном меню вообще нет :)

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

            Go To -> Declaration в контекстном меню или Ctrl+click прямо на имя либы. Это так уж неудобно?

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

              За что еще раз оценка 0 и плевания, потому что в моей операционной системе Ctrl+Click означает "Select current word" и я этим пользуюсь.

              В любом случае, наличие Ctrl+Click не отменяет необходимость добавить пункт в контекстное меню.

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

                Ctrl+B тоже должно работать. А пункт в контекстном меню Kostroma уже подсказал.

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

                  По Go To Declaration кстати не всегда в верх файла либы переходит, иногда видимо переходит на функцию, которая используется в текущем файле.

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

              ============================================

              Вот вам еще немного репортов, просто на первом попавшемся нетривиальном поведении.

              • Alt+Selection Copy выставить каретку в некоторое место Paste. CLion уверен, что я хочу вставить весь текст по позиции каретки. Я в данном случае согласен с VS, что надо делать Paste блока.
              • Ctrl+X без выделенного фрагмента. CLion уверен, что надо поставить каретку в начале следующей строки. Опять же согласен с VS, что нужно поставить каретку как по команде Line Down.
              • Ctrl+X без выделенного фрагмента. Тык мышью в произвольное место. CLion уверен, что надо выполнять Paste начиная с позиции каретки. И снова я согласен с VS, что нужно добавить строку перед текущей.
              • Пишу строку std::vector x; CLion не показывает ни одной ошибки.
              • VS показывает тип переменной при наведении на нее или auto в ее объявлении.
              • VS показывает-таки полную сигнатуру метода при автодополнении (кстати, с выполненными шаблонными подстановками). Как мне узнать, является ли заданный метод const?
              • В указанном примере https://pastebin.com/Ud5HvNep подсветка ошибок CLion говорит ошибку в первом (по его мнению, я должен указать explicit default constructor) и не видит ничего плохого во втором. Компилятор дает правильные сообщения.
              • Я могу объяснить CLion, что хочу, чтобы полоса прокрутки работала по строкам, а не пикселям?
              • »
                »
                »
                »
                »
                »
                »
                »
                2 года назад, # ^ |
                Rev. 2   Проголосовать: нравится +13 Проголосовать: не нравится

                Если вдруг правда интересно:

                тип переменной — cmd+наведение (в вашей операционке, наверно alt+наведение)

                конст/не конст сигнатура — в quickDoc (дефолтный шорткат не помню) (работает как в дополнении, так и в уже написанном коде)

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

                  ===========================

                  Ага. MouseMove с зажатым Control при условии активного окна. MouseMove, Карл. При условии активного окна, Карл. Мне кажется, главная проблема CLion в том, что ее разработчики ей не пользуются.

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

                  ===========================================

                  Кстати, в этой ситуации VS опять повел себя лучше.

                  using int_ptr = std::unique_ptr<int>;
                  int main() {
                  	std::vector<int_ptr> v;
                  }
                  

                  VS при наведении мне говорит, что тип v это std::vector<int_ptr>,

                  CLion по Ctrl+MouseMove выдал безумной полезности полную развертку vector<std::unique_ptr<int, std::default_delete<int>>, std::allocator<std::unique_ptr<int, std::default_delete<int>>>>

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

                  Проблема в том, что CLion пилит не так много разработчиков...

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

          Да, CLion в те времена предлагал внешние перегрузки operator << в конструкции "std::cout.", это, вроде, пофиксили.

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

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

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

Кто-нибудь из этого списка пострадал?

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

А на 1/8, которая уже прошла в Украине эта новость как-нибудь влияет?

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

На каком основании квота NEERC несправедливо уменьшена?

И какого лешего Африка и Латинская Америка имеют столько же квот, сколько и мы?

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

    Пока ничего не уменьшено. Я думаю, реформы будут внедряться аккуратно.

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

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

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

Will there be online live transmission or something? Petr ?

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

My heart came into my mouth when I first saw this.

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

Have I just read that 2019 world finals will be in India??:)

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

Давайте я немного "охлажу" "жареные новости" от MikeMirzayanov.

Во-первых, Билл хочет, чтоб к 2026 (!!!) окончательно перешли на новую схему. Это значит, что прямо со следующего года не введут всё сразу. В частности Азия сразу отреагировала так: схема лиг идёт в разрез с нашими правилами, поэтому мы дождёмся, пока остальные регионы перейдут на схему лиг и перейдём последними. Так что Азия будет пока такой же :)

Во-вторых, квота в 12 для всех кажется малореальной. К примеру, в Африке вряд ли найдутся 12 команд. Так что идея так или иначе будет корректироваться.

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

В-четверых, когда мне Lich_Sandro рассказал о схеме квоты в 12, я сразу же задал вопрос про несколько команд от вуза, но у него не было ответа, поскольку Билл и Джефф со сцены об этом вообще не говорили. Но поскольку это очень логичный вопрос, я делаю вывод, что они не решили как быть. Иначе бы явно сказали это со сцены.

P.S. Ещё пара случайных фактов: будет лига океании и европы (а не 2 отдельных лиги), от азии вроде бы планируется 3 (типа 8 минус неАзия = 3), Фонд спортивного программирования должен стать спонсором финала после 3х лет JetBrains. Билл его делает не единолично, ему помогают выпускники АСМ 15-20 летней давности, которые сейчас занимают крупные позиции в IT-компаниях.

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

It was announced the decision to invite to the next Wold Finals without any selections and quota accounting for 5 teams that could not come this year. In addition, it is proposed to give a +1 year to participate (without taking into account any other requirements) to all teams that could not arrive completely.

MikeMirzayanov my university is among those five universities who couldn't get a visa, what if another team from the same university qualified for Beijing finals, is there gonna be two teams from the same university in Beijing WF or what???

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

    Yes

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

    My team from Universidad De Pinar Del Río (I'm the coach) could not attend ACM ICPC WF 2017, but we will be attending on 2018's edition. We won't be needing visas to get to China. Thanks ICPC !

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

Which teams are affected by visa problems besides 3 teams from Syria?

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

    One participant from a Russian team (Higher School of Economics, Moscow) was unable to obtain visa in time due to prolonged administrative processing.

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

    The visa was denied to all members of team "Universidad de Pinar del Rio" (Cuba) on two different ocations

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

I really like the idea of league-level contests. It could give teams one more occasion to compete and bridge the gap between regional level and WF level, which is quite large at the moment.

It should also reduce the year-to-year unfairness in WF selection. If you happen to be in a year where your regional has a few really strong teams and the number of slots that year isn't big, then you'll be at a disadvantage, while in the larger leagues this effect will be diluted.

Do you have a more precise definition "distant plans"? Does it mean in 2~3 years?

(As an aside, sending 12 teams from Australia and Oceania seems a bit over the top, but I guess this still has to be negotiated. :P)

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

    I hope they will start the processing very soon..current formation is really unfair

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

    ACM-ICPC Asia Council elected five members to join ICPC 2026 Committee. http://blog.sina.com.cn/s/blog_b946da100102wyby.html So I would guess the "distant plans" will be carried out within 10 years.

    By the way, Asia currently has three sub-regions and 45 slots (38 participation slots). I would prefer to merge Australia and Oceania into Asia first, then split Asia and Oceania into three parts.

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

Shall we start a list of ICPC2018 participants already XD

So glad for these teams, they got what they deserve. Congrats buddies :D

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

I don't get it... so there will be some reform next year or this is just the plan?

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

A small correction: It's Kochi(India)

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

Fair enough, Thank you ICPC :D

My team is one of these 5 teams.

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

Jetbrains is so generous. Guess it's time to give Kotlin a try.

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

China ! Come on !

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

"It was announced the decision to invite to the next Wold Finals without any selections and quota accounting for 5 teams that could not come this year."

"Wold Finals". Please fix this.

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

is it rated?

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

Hopefully the JetBrains sponsorship mean we can get Kotlin support or IntelliJ in the images.

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

    That seems to be the plan:

    "Alongside the financial support, we will also be providing access to our development tools, CLion, IntelliJ IDEA and PyCharm in particular, to participants, starting with the next round of Regional Contests. In addition, we are extremely proud that Kotlin will be offered as an additional programming language for the 2018 World Finals, together with C++, Java and Python. We believe both our tools and the Kotlin language can help contestants solve the challenges and tasks even more effectively."