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

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

Всем привет!

Скоро, 30 января, 19:30 MSK, состоится очередной Codeforces Round #227 для участников Div. 2. Как обычно, Div. 1 участники смогут поучаствовать в этом раунде вне конкурса.

Автором задач являюсь я. Большое спасибо Гере Агапову (Gerald) за помощь в подготовке задач, Марии Беловой (Delinur) за переводы на английский, Михаилу Мирзаянову (MikeMirzayanov) за замечательные системы Codeforces и Polygon.

Главный герой задач этого раунда — кот Георгий.

UPD1: Распределение баллов будет таким: 500, 1000, 1500, 2000, 2500.

UPD2: Соревнование закончилось, поздравляем победителей!

  1. hmm_dream_big
  2. graphis
  3. InternationalGrandmaster
  4. Skedar
  5. mateusz

UPD: Разбор на русском

UPD: Статистика

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

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

It is Chinese Spring Festival tomorrow- a very large and important event, so Happy Spring Festival to everybody:) Tonight is called Chu Xi in Chinese, means that wait for the coming new year( in lunar calendar), and I hope this contest will make this night better. Good luck to everybody.

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

Sorry, a slip of pen. That is Spring Festival, not Spring Festive.

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

As Chinese people,in this coming New Year's Eve。。。Good luck to everybody

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

As Chinese people,in this coming New Year's Eve。。。Good luck to everybody

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

Happy lunar new year!!! I'll see firework at home and practice this round :))

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

Today I wish I go to DIV 1 :)

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

Китайцы переживают, что в новогоднюю ночь придется помогать коту Георгию, а не Синему Коню -)

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

Ah, the contest will take place at 23:30 in China. That's the Chinese New Year's Eve. And I will come to a new year after I finish my first CodeForces Round. I'd like to share some anecdote with you all. It will be Year of Horse ('马' in Chinese), which has the same pronuciation as Code ('码' in Chinese).What a coincidence! Wish everyone good luck today, especially the chinese coders.

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

yeeeeeeeeeeees another <3 gridneeeeeev <3 contest

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

Finally, the main character is a cat! I hope he is fat and orange like Garfield.

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

We hope problems will be normal ;) ...

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

Good luck everyone

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

Registered participants are too many for this contest.(about 3500 till now)

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

good luck everyone

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

Когда уже будет динамическая разбалловка?))

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

Guys, Happy Chinese New Year!!!码年快乐哈。。。。。。

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

some bugs with hacks . When i press F5 i can hack guys from another room.

when i try to hack it gives Apache Error

i think it should be unrated if it's not only my error

sometimes when i press @hack@ nothing happens

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

I'm having trouble opening solutions in my room even though I locked both the relevant problems. And sometimes I get redirected to another room (that I'm not in). Has anyone else experienced this?

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

Very glitchy today! "Room" button does not work very well (puts into random room often) and viewing solutions does not always work even after locking problems.

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

У меня взломы глючат! не показывается текст кода! UPD англоязычные друзья обогнали((

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

I don't want to offend anybody (talking about authors of contests), but this round is really interesting. Thanks a lot, gridnevvvit

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

It's a shame that server problems spoiled an interesting contest. Server was down for much of the contest, room button often redirected into some other room, and hack button rarely worked even if the solutions would finally show up. Very frustrating contest to participate in, but nice problems nonetheless.

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

кто-то может объяснить второй пример из Е

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

    Удаляем 1: берем подпоследовательность 1 2 3 4 5 6 7 8 9 10, получаем 10 колбасок

    Удаляем 3: берем подпоследовательность 3 4 5 6 7 8 9 10, получаем 8 колбасок

    Удаляем 5: берем подпоследовательность 5 6 7 8 9 10, получаем 6 колбасок

    Удаляем 7: берем подпоследовательность 7 8 9 10, получаем 4 колбаски

    Удаляем 9: берем подпоследовательность 9 10, получаем 2 колбаски

    суммируем получаем 30.

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

Надеюсь такие мелочи, как глюки взломов и зависание сервера не повлияют на рейтинговость раунда!

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

Round duration increased for 10 minutes. can you announce us before 15 minutes say , before the end of the contest , I've really stop coding at last 2 minutes . Very good contest thanks :)

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

Most fun contest i ever participated on CF. Best regards to everybody who helped in creating this round. I think I got the idea at E (after spending 15 minutes to properly understand the statement) — You use anything you want to create a vector prot[i] which tells you whether or not i is protected then you use divide-et-impera solve(a,b) = get the answer for interval [a,b]. You will need quick queries for sum (0/1 if a number has already been eliminated) and minimum value. All these can be acomplished by a segment tree. Didn't have enough time to implement this though. Is this the right solution? Anyway thanks for the round, Gerald, gridnevvvit, Delinur and of course MikeMirzayanov. Keep up the good work!

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

Is it me or the "room" is buggy today?

On another note: Thanks for the awesome problem set! :)

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

what a fun bug!! :D

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

one more great contest, with interesting problems and bugs :)

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

I managed to make CF show me a standings page full of -1 and -2 where everybody failed all his submissions (even the top 10). A refresh fixed this.

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

Кто решил задачу D, подскажите, пожалуйста, как удалять дуги оптимальным путем?

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

Хороший контест,спасибо автору!)

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

As Chinese people,Good luck to everybody。

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

Да, раунд был классный! Но в задаче Е была маленькая опечатка: кота назвали Григорий в последних абзацах, а не Георгием)) А вообще, спасибо автору!

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

This was a nice round. I especially enjoyed solving E. Keep up the good work !

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

Хороший набор задач. Мог прорешать гораздо лучше (долго тупил над задачей С, хорошо, что сдал). Спасибо всем, кто готовил раунд.

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

Can someone please explain the main idea behind problem D? Thank you! I tried to fix my center, delete it from the graph and then see what the solution is (this is the problematic part — I was thinking about maxflow, but n is too large).

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

Не получилось написать раунд. А вот интересно: в D зайдет n запусков Куна для всех возможных центров?

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

How to solve E?

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

    First, a slow (but useful) solution:

    In one step, we can remove the minimum of an interval. That means the smallest number (overall) will be removed whenever it's inside the interval picked. If it's supposed to stay, it's clear that we can't ever include it in our interval, and we can just consider our algorithm running on the parts of the original array to the left and right of it.

    Otherwise, we have to pick it eventually. If we pick it in the k-th operation, we can get a larger answer just by picking swapping the k-th and k - 1-st operation (think why it works), which means we should pick it in the first operation. And why not with as large w as possible — picking the whole array. Further in the algorithm, we just operate on the same subarray without the deleted element, without doing any splitting (like above).

    The slow (O(N2)) solution would now be simulating this algorithm. We can do better, though: we can see that it's all right to remove numbers in increasing order (the order among 2 distinct parts of the array doesn't matter), and we know how much the optimal solution will cost: the number of elements in the subarray on which we're running the algorithm, which haven't been deleted yet.

    Splitting subarrays into even smaller parts and checking which one the current element belongs to can be implemented with map<>, counting deleted elements with a Fenwick tree. The implementation is just straightforward now. Complexity: .

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

Failed submission:5850238 Time: 2000 ms (MS C++)
Accepted submission:5850920 Time : 872 ms ( GNU C++ )
It shows that ios::sync_with_stdio(false) in GNU C++ does a Miracle!!!!

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

rating change reverted after some time... anyone else experiencing it ?

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

Finally reached blue ^_^ !!

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

Violet "Candidate Master" and blue "amirMD" (1741) ! :D

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

hmm_dream_big supposedly solved C in 3 minutes, has different code templates in his solutions and even different tab settings. And yet he is allowed to take first place.

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

Can't find what's wrong, with this code: 5847679.Can someone help me?

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

For the problem B:

10010111

Can somebody tell me how to merge 100,10,1,1,1 into 10010111 ?

I try but fail.

So I think this data's answer is 4 ..