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

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

Всем привет! :{

Мы очень рады пригласить Вас поучаствовать в очередном Codeforces Round #173, который был подготовлен A.K.Goharshady, LGM и мной (havaliza). Я хочу традиционно поблагодарить Gerald, MikeMirzayanov и Delinur за помощь в подготовке раунда. Также большое спасибо dani1373, hhoomn, mruxim, MMJ и xorfire. Они тестировали задачи и в целом очень сильно нам помогли.

Кстати, сегодня день рождения у LGM's, а вчера был у gpac's. Давайте поздравим с днем рождения этих ребят! ^.^

Я надеюсь вам понравится сегодняшний раунд, и вы получите от него много фана! :)

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

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

Happy Birthday!!!

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

Hi. And tomorrow is my birthday. Hope to have a good contest to enjoy my birthday much more. :D

And Happy Birthday you guys. Glad to know it. Wish you bests in whole LIFE.

HF & GL!

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

I want to participate,but I'm too tired:(

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

Happy birthday to you guys(LGM,gpac,S.HASHEMI)!!! ^.^ and also Congratulations to havaliza,keivan,fab,dani1373 ,because of being selected for IOI team of IRAN for next year!!! hope you win 4 gold medals for IRAN!!!

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

Your prev contest was great! (at least for me!) I hope it will be like the prev! How is score distribution?

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

I was surprised a lot! thank you havaliza :)

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

happy birthday boys <:-P And special thanks for preparing the contest :-)

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

A bunch of Problemsetters from IRAN :D

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

Happy Birthday

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

Happy Birthday guys :) god bless you !!

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

wow! More than 3000 registered users :D .

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

please tell us about score distribution ?

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

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

Вот так наркомания...

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

Срочно задача С: тест два — там опечатка или нет?

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

...d

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

Problem B: jury solution for test 3 1000 0 998 2 503 497

is "222". W T F???

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

Who solved D and how?

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

How to solve E?

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

I notice a code will get TLE so I make generation to this testcase

string a="";
for (int i = 0; i < 1000000; ++i){
  a+='1';
}
cout<<a<<endl;
cout<<a;

so what's wrong he till me Invalid Input

FAIL Input can't contain two or more consecutive spaces, but line 31 (1-based) contains [validator wfval.exe returns exit code 3]

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

It is really hard to solve problems in Java, and Petr is really great, because he uses Java and he is the fastest coder.

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

Problem C was very interesting....a lot of people's solutions ( and also my solution!! ) has been hacked

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

нет, ребята, так пить нельзя. Только решая Е вспомнил что такое на самом деле xor и переделал С) в результате сдал одну задачу через 3 минуты после начала и одну за 3 минуты до конца. Пора менять систему подготовки к раунду

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

I'm waiting system testing, for lunch!!! Please, hurry up... :D

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

Deleted.

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

И пусть этот момент длится вечно :D

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

XOR — фишка контестов на Codeforces:)

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

Testcase for problem C is to much (about 100 test). Systest will run very low.

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

Great Contest! I realy Liked problems D and E even though i didn't solve them

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

А возможно ли глянуть тест, на котором свалился?

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

Today during the contest I got two messages from MIT_1996 who was in my room, asking for help in problem B with algorithm. Where should I report ??

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

thx! very nice contest:)

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

Появился вопрос. Отправил решение С. WA3.
3303367

Забыл дать начальное объявление переменным f, g. Задал. AC.
3304751

Вопрос: По какому принципу в с++ задается начальное значение переменным?

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

    Вроде бы случайным образом.

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

      То есть если не задать начальное значение, то на одном тесте можно получить несколько ответов?

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

        Конечно, странно что с таким опытом соревнований, Вы еще этого не заметили о_о

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

        Даже хуже: в Visual Studio ответ будет зависеть от режима компиляции -- Debug или Release. В Debug значение хоть и будет мусорным, но стабильно одним и тем же, что может создать иллюзию правильности работы программы, а в Release раз от раза разным. Соответственно, если контестер проверяет решение, скомпилировав его в Realease, то ответ в контестере и локально может быть разным. (Навеяно недавним опытом по поиску ошибки в решении одного из моих олимпиадников. Решение проходило все наши тесты, а на контестере ловило огромное количество WA. Помог анализ кода и соображалка -- дело оказалось в значениях по-умолчанию. См. выше.)

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

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

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

            Всё верно. Лично я так делаю давно и подобных ошибок не получаю. И постоянно на эту тему делаю замечания. Но что делать тем кто учится по дурацким учебникам C++ или кого так учат...

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

              Да учитель ништяковый, просто обычно объявляю в глобальной, а там таких проблем нет.

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

    Все глобальные переменные изначально инициализируются нулями(это верно для g++, про VS ничего не могу сказать). Если переменная локальная, то, вроде бы, радномно

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

    Глобальные переменные обнуляются, локальные — нет.

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

Правильно ли я понял, что тут http://www.codeforces.ru/blog/entry/6954#comment-125915 человек выложил решение задачи E до конца контеста?

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

    Но зачем?

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

      Это загадка.

      Кстати нашел некоторых, кто воспользовался этим. Интересно, как на это смотрит жюри? Ведь тот кто скопирвал не виноват, в том что просто увидел решение и решил проверить.

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

        Те, кто скопировал, виноваты ровно на столько же, сколь и тот, кто заспойлил решение. Мы тут занимаемся спортивным программированием, а в спорте есть такое понятие — fairplay. Ну и совесть, конечно же.

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

That was a nice contest, thanks to havaliza and happy birthday to LGM and gpac...

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

I cant't exactly understand the meaning of problem E ! We are asked to find the maximum of what ? (BitHaval and BitAryo) what does 'and' mean here?

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

very good contest but I think test 26 from problem D should be in pretest , so many person got WA due to this test , thanks.

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

that was a nice contest thanks to havaliza but why Bitlandians are weird they are amazing

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

Thats funny. I solved my solution using Delphi compiler: http://mirror.codeforces.com/contest/282/submission/3302945 The same code, using FPC: http://mirror.codeforces.com/contest/282/submission/3311282

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

.

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

When will the plus and minuses appear on the graph???

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

painting eggs is a very ancient and attractive custom in Iran and the children still do this

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

Very nice problems. Thanks to authors!

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

Люди, во многих решениях задачи D я для случая n=3 видел выражение a[0]^a[1]^a[2]. Выходит, в этом случае игра превращается в обычный ним. Но плиз, объясните, почему.

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

    Черт, во время контеста разобрал случай для н=2. Надо было для 3х послать ним. Ждем разбора, чтоб узнать, почему это работает.

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

    Например, это можно доказать вот так.

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

    Из тройки с ненулевым XOR-ом можно попасть в тройку с нулевым также, как в случае нима.

    Из тройки с нулевым XOR-ом можно пойти или как в ниме, то есть в ненулевой XOR, либо из тройки a, b, c (a xor b xor c = 0) в тройку a — x, b — x, c — x (x > 0).

    Предположим, что (a — x) xor (b — x) xor (c — x) = 0. Так как a xor b xor c = 0, то последние биты a, b, c либо две единицы и ноль, либо три нуля. Аналогично c (a — x), (b — x), (c — x). Отсюда легко понять, что последний бит x нулевой. Аналогично второй с конца бит x нулевой и так далее.

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

Да конечно контест был довольно интересен но будет ли рейтинг обновлен?

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

Happy birthday to all of you guys (gpac, LGM and S.HASHEMI)!!! and I hope that we get 4 Gold medals from havaliza, dani1373, fab and keivan!

The contest was very cool! Thank you for problems.

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

This is now 4 hours after contest but ratings had not changed yet... when does it want to change?? And I am right here in the site since the contest started... :D

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

Has anyone solved problem 'E' without a trie or with a easier solution to implement ?

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

i think this my solution still wrong, but get accepted http://mirror.codeforces.com/contest/282/submission/3309655

because 'is' never change,

and did this solution true after i add is++? http://mirror.codeforces.com/contest/282/submission/3312416

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

Problem D was a nice DP problem. I calculated the losing scenarios offline and found a formula for it. Then just applied the formula and solve the problem in O(1). It was very fun. Problem E was a very nice problem too. I scratched my head for a little while to make it run in time, until I thought of building a trie, and I really like building tries :)

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

Thanks for really interesting problems! But what mean's verdict Skipped? My solve of problem C — XOR and OR received Accepted in final tests. I see Skipped and only two solved problems today.

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

I was actually shocked that problem B had a greedy solution to it. I was trying so hard to partition the numbers :P. But after end of competition when i saw some solutions which had got accepted i was surprised and confused. But then i came up with an inductive proof for the greedy method. Had fun. Will have to improve myself.

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

I love this contest.