Автор BYN, 14 лет назад, перевод, По-русски

Всем привет!

Совсем скоро начнется Bayan Programming Contest 2012/13 — Elimination Round.

Комплект задач был подготовлен сотрудниками компании Bayan. Мы постарались сделать его как можно более интресным, а также немного необычным! Мы выражаем свою благодарность Михаилу Мирзаянову (MikeMirzayanov) и Геральду Агапову (Gerald) за помощь в подговке задач.

Данное соревнование индивидуальное, оно будет проходить по правилам ACM-ICPC. Условия будут доступны только на английском языке. Также, оно будет рейтинговым только для участников из Div-1, но участники из Div-2 также могут поучаствовать в соревновании.

Соревнование будет длиться 3 часа, участникам будут предоставлены 7 задач. Как и на большинстве ACM-ICPC соревнованиях, задачи будут располагаться в произвольном порядке, то есть не обязательно в порядке увеличения сложности. Не забывайте, регистрироваться на соревнование можно вплоть до конца соревнования.

Лучшие 20 участников будут приглашены на финал соревнования — Участники из Тегерана и лучшие 100 участников получат суверирные футболки. Детальнее про призы можно прочитать в нашем предыдущем посте.

Будьте честными! Во время соревнования запрещается использовать несколько аккаунтов. Также вы не должны обсуждать с кем-либо задачи до конца соревнования.

Удачи!

Геральд: Из-за необычного расчета рейтинга для данного соревнования. Рейтинг будет обновлен с задержкой.

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

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

what??????????? Why is it not rated for div-2 competitors?.what is it???

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

I hope you can make it rated for div.2 participants, it can make div.2 participants more interesting, so they can solve the problems better (because all of the participants want to make their rating higher).

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

what's the problem if the contest will be rated for both div. I think if they put each Div in separated rooms ,it will be fair like any contest each div has it's own standing and rooms but this time will be the same problems. I think also some div2 blue coders have ability to compete with div1 thanks

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

It's not a very good decision to make it unrated for the 2nd division. I destroys competitiveness, contest will become usual training.

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

    Do you think CF-admins didn't think about making some slightly different problemset for div.2 competitors? Obviously, there's some problem about it — too much people competing (compare to middle-crowded Codeforces round) or some trouble with native (i mean, Iranian) organizers or so. Don't cry and get ready for Codeforces Round #148 (Div. 2)!!

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

Could you please explain your reasoning for making the contest unrated for div. 2?

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

    Do you really want to hear the answer on your question? Maybe, you won't like it ;-) ... or maybe it's too complicated to understand (and forgive, either) for div.2 competitors:-)

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

      I'll be frank: I don't like it no matter what the reason.

      But I still want to know, because if I do know the reason, it won't make me feel any worse and at least I'll be able to understand better.

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

        I think the problems are too hard for Div 2, so there would be many contestants who solved 0 problems.

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

        I don't get it. It seems to me that your better understanding is the reaction on getting the answer you wanted. But you say, this is the cause. Makes my head go round, really.

        UPD Besides, here you could see some people giving you two good reasons for that: 1) overcrowded server. 2) hard problems.

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

          Why would my better understanding be the reaction on the answer I want? I don't want a specific answer, I wouldn't ask if I did!

          And what I want to know is the responsible ones' reason. If it's like saying "div. 2 guys, this ain't for most of you".

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

Once again — is prewritten code allowed just as in a typical Codeforces round?

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

input/output will be standard or files? I'm sorry, if this is written somewhere, I didn't find it :) thanks

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

Unable to parse markup [type=CF_TEX] I get that when i try to open problem A. What's the problem? ///EDIT : It got fixed atleast for me

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

when i try to open problem A:

Unable to parse markup [type=CF_TEX]

UPD: just fixed

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

in problem C, can i shoot to the edge of mirror? will i give points and will the beam be reflected?

»
14 лет назад, скрыть # |
Rev. 4  
Проголосовать: нравится -15 Проголосовать: не нравится

It seems not a good idea to make it unrated for div-2.it is 2’clock in china..and now it seems a wasting -time night for me..

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

    Don't be all about rating, the main idea is to learn something after all + it would've been quite unfair to make it rated because most of the div2 participants would've get their rating decreased, the tasks are too hard for div2.

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

Не знаю, задумано так или нет. Но за ошибку на первом тесте в задаче G не дается штрафа. А он ведь единственный. С этим ничего делать не планируется?

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

    Это не баг, это фича)

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

    В том коде, который в условии, есть еще какие-то принципиальные баги, кроме глупой константы 300? Если нету, то там довольно сложно пихнуть рэндом.

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

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

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

      Вроде нет. Там конструктивчик. Первый радиус большой, скажем 1000000, следущие 300 равны 300, 299, ..., 1. x[i] для i=2,...,301 подбираем, чтобы все радиусы сработали, а последний 302-й берем (1000000, 1000000). Тогда в S будет 301 элемент и именно на 301 сработает RELAX

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

        Собственно говоря, я так и сделал.

        Мне уже тоже стал интересен ответ от кого-то из админов на вопрос Павла.

        Я вот сначала отправил "немного неправильное решение" (с промежуточными радиусами 1..300, а не 300..1), потом увидел, что минуса в таблице нету, и решил на приколе послать рэндом несколько раз:) И только потом исправил решение.

        Лично для меня начисление/снятие штрафов ничего не меняет. Но если кто-то использовал неначисление штрафов сознательно (как я), и ему навешают тонну штрафов, в результате чего он потеряет поездку на онсайт или хотя бы футболку, то это как-то неправильно.

        А если не менять ничего... С одной стороны, если логично подумать, то о наличии такой лазейки можно догадаться. С другой — а много ли таких людей было, которые догадались до того, как послали первое бревно?

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

    Кстати, действительно серьезная проблема. Если всем дадут штрафные очки по G, я поднимусь мест на 20, и я явно не один такой.

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

    Мда... Ничего исправлять не стали и уже рейтинг пересчитали. Идиотизм какой-то.

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

      По-моему пересчитывать штраф было бы еще большим идиотизмом. Хотя да, весьма странно было, что про такое не подумали. (Подумали, но забили?)

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

      самое хреновое, что такой прокол уже был, правда в тренировке, и все равно не учли это

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

      Если начнут исправлять, то пострадают такие люди, как я. Я когда увидела, что не считается ВА1, начала спокойно засылать различные варианты. А если бы они считались, я бы сделала сабмитов на 20 меньше.

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

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

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

          по правилам не считать ва1, не?

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

          В ЧАВО написано, что

          Все сомнительные вердикты ("Ошибка тестирования" и др.) не учитываются при подведении результатов, равно как и решения, упавшие на тесте 1 (в задачах, где более одного теста).

          Означает ли это, что в этом случае должны были учитываться? Я, по крайней мере, так понимаю написанное.

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

What's test #8 in problem F?

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

Полчаса где-то пытался понять, почему не 110 на втором тесте С (если убрать стену с ценой 120). Печаль...

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

How to solve E?

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

По поводу задачи С — я убил почти час, пытаясь решить такую же задачу, но заменив отверстия "в точках на стенках" на отверстия "от низу стенки до высоты hl/hr". И все удивлялся, что задачу сдают за 0.03 с нолем памяти.

Задача в моей формулировке решается как-то более-менее адекватно? В моей формулировке получается, что луч выпускают из любой точки левой стенки, которая не выше hl, и он долен попасть в любую точку правой стенки, которая не выше hr. Остальное — как в правильном условии.

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

    Она-то решается, только кодить намного больше и сложность больше. Если размножить нашу полоску, то получится O(N2) отрезков в сумме. Рассмотрим множество всех концов отрезков, а также добавим туда концы изначальных вертикальных отрезков. Тогда у нас есть множество из O(N2) точек.

    Понятно, что оптимальная прямая проходит через какие-то 2 точки из этого набора. Получаем решение за O(N6): перебираем пару точек и для пары проверяем все отрезки. Довольно просто это можно ускорить до O(N4·log(N)): переберем точку, затем отсортируем остальные по полярному углу относительно нее и сделаем заметание по углу. Наверное, можно еще ускорить.

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

How to solve problem C?

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

I'm disappointed with Problem F (Races) statement. I may be missing something in the text, but:

First, it is not stated that the shortest path is unique, and if it is not, which of the paths should be considered.

Second, it is not obvious what is the exact position of Old Peykan while he moves between two consecutive blocks for several seconds.

So I had to submit two clarification requests to figure that out.

However, if these are indeed ambiguities in the problem statement (and not my fault of not noticing the answers to the above points), I believe the best judges' action would be to broadcast these answers and not just reply to me.

Well, in the end, I didn't accept the problem, and being unsure whether it's my bug or another statement ambiguity is a bad feeling for a contestant.

Nevertheless, thank you for the contest! I liked the problems.

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

    UPD: I found out the third point I missed in the statement, and I consider it's poorly formulated, too.

    It should be emphasized that we can not pass other junctions when moving between two consecutive junctions from the string. Otherwise, it could be understood the other way: we are given the sequence of junctions, and we should visit these junctions in this sequence; however, it is not prohibited to visit other junctions between the junctions of the required sequence.

    For now, I don't see any direct contradiction with this understanding in the problem statement. If there is indeed no such contradiction, please consider rejudging the problem so that both understandings can pass.

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

      As I think, this condition doesn't really matter, does it? Well, if there is path between junctions that does not pass through others, it's a straight line. So, it's the shortest path and solution which looks for it (without condition) should work perfectly.

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

      If he can pass another junction there are tests like

      c1d
      1#1
      a1b
      

      with multiple solutions when moving from a to d. As there is no sentences like "if there are multiple solutions ...", I thought that the junctions list is full.

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

        If you see the ambiguity, that is, ask yourself "can we visit other junctions while traveling between two consecutive points of the given route?", there are indeed a few hints in the statement that the answer is "No".

        The problematic case is when you see only the "Yes" alternative: there seems to be nothing that contradicts it and forces you to invent that question. I read it like "some points are to be visited in the given order, and the path should be the shortest", and the statement didn't help me to figure out that there are additional restrictions on the path.

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

Problems are interesting, especially the last one (Problem G). I hope someday I can create some problems like this and then make a contest here.

Today I'm a bit luck, my randomized solution passed problem D. (Though I don't know why it can pass.) And then I become red again. :)

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

Great and interesting problems.

But there is a bug in penalty time calculation for problem G.

No matter how many times you WA on G, you got 0 penalty time.

Can we get this fixed?

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

I think there's some people who will give up participating Bayan onsite because of the flight expenses.

Then,I wonder that , invited contestants will be only people whose rank is lower than or equal to 20th, or include some people whose rank is upper than 20th.

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

For Problem D, Gassa's AC code 2482976 make assumption that for n = 63 and every p, there is always a solution for this problem. I just tried the case when the input is just 1, ..., 63 in order, and every prime p ≤ 50000, and the assumption does hold. Anyone know how to prove this?

Edit: Just tried 63, ..., 1, and the assumption holds too.

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

    I just thought that for n = 63 (actually it is 127 in the submitted solution), there are 263 subsets which we can take, something like 263 / 64 of them have zero XOR, and these subsets "behave randomly" modulo p, so the probability of finding the solution is very high.

    If p and 10 (base) are somehow dependent, the randomness assumption can break. The only valid cases are p = 2 and p = 5 but these numbers are too small to break the solution. However, my solution could be wrong for non-prime p such as multiples of 10 000.

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

Hi there, Can anyone tell me what's wrong with this? Thanks in advance ;)

F — Race

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

This is an old Peykan.

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

There are some troubles with the show of problem.Please check it.

UPD:Now it is fixed.

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

"суверирные" поправьте...

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

Has anyone received the T-shirt?