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

Автор snarknews, 11 лет назад, По-английски

SnarkNews opened special project related to SEERC-2014, which is started at 10:00 Kyiv time in Vinnytsia (Ukraine) and Bucharest (Romania). For now it contains table of standings (main and separately by Vinnytsia and Bucharest sites), standings for Championship of Ukraine, and text translation (at the moment English is very poor).

Upd: standings are updated. Congrats to Lviv NU Penguins!

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

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

Who are in team LNU Penguins? Is it this team ?

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

What is the meaning of Dirt and SE in the scoreboard?

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

    Dirt: number of submits on the all solved problems / number of the solved problems

    SE: "average hardness". Problem, solved by N teams out of M, have hardness (M-N)/M.

    Another special fields:

    Jump — prediction of place after successful submit right now (or when it changes).

    Idle — time after last attempt.

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

Will the problems from SEERC-2014 be used as an OpenCup contest?

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

I think it is good idea always to include last names of participants in team names like SPb SU 4 (Kunyavskiy, Egorov, Suvorov). First, ITMO used it on NEERC and other contests and I really think that it is a great idea.

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

First place: Lviv NU: LNU Penguins (Roman Bilyi, Vitaliy Herasymiv, Bohdan Pryshchenko) 9
Second place: Taras Shevchenko Kiev NU: Flawless (Roman Furko, Dmytro Ignatenko, Andrii Mostovyi) 9
Third place: Taras Shevchenko Kiev NU: Unicon (Maksym Bevza, Sergey Nagin, Yevgen Vasyliv) 9

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

Может кто-нибудь в двух словах написать, что такое SEERC, NEERC. Это полуфиналы ACM ICPC? И кто куда и в каком количестве проходит. В википедии про это ничего не сказано ну и на icpc.baylor.edu мне ничего не ясно((

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

    Да, это полуфиналы ACM ICPC.

    Расскажу про систему отбора в Украине.

    Есть 3 этапа отбора.

    На первом этапе соревнуются команды вузов одной области. Проходит ориентировочно в апреле

    На втором — команды из одного региона (Украина поделена на 5 регионов — Запад, Восток, Юг, Центр, Киев). Проходит ориентировочно в сентябре (один год было в мае)

    На третьем этам уже соревнуются все команды из SEERC (там несколько стран, цитата с официального сайта: Regional Boundaries include the following countries: Albania, Bulgaria, Croatia, Greece, Moldova, Romania, Turkey, Lebanon, Israel, Macedonia, Cyprus, Ukraine, and Serbia). Этап проходит в октябре. Лучшие команды из SEERC выходят на финал. Квота каждый раз разная, окончательно все понятно в начале декабря

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

      большое спасибо! и еще про количество команд:

      • в первом этапе — все желающие
      • второй — не больше 5 команд от вуза
      • третий — не больше 3 команд от вуза
      • финал — не больше 1 команды от вуза

      правильно?

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

Can anyone share the solution for B?

Statement: You have a circular buffer of n ≤ 106 digits. You need to split that buffer somehow into k ≤ n consecutive parts. Out of all splits find the one whose maximum number is minimal.

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

    Public discussion of the problems is bad idea, because they will be used in opencup.

    UPD you can hide your comment by editing it.

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

    Problems from SEERC will not be used at opencup at this year, as i mentioned before.

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

    There is one important thing: we don't have zeros in buffer. So we know the length of answer, it will be LEN = (n + k - 1) / k.

    Let's sort all sort all substring of length LEN (by building a suffix array, for example), and do binary search by answer.

    So we fixed some number S as answer, how to check if we can split our string in such way, that all parts will be not greater than S? We can do it greedily. We need to iterate over start position of the first part, because we have a circular string. And after that try greedily to get a part of length LEN, if it's impossible then we need to take part of length LEN-1.

    The total complexity will be O(nlogn).

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

Дорешивание будет?

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

    1) After each query answer increases at most by 1.

    2) Let current answer be equal to d. After each query we can calculate, how many numbers, that are strictly less then (d+1) are in our array right now. This knowledge helps us to calculate the answer after current query. One should use sqrt decomposition to be able to do all the calculations. O(N*sqrt(N)*log(n)) solution easily passes the system test.

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

      Did you use tree<> from STL to find how many numbers are less than d+1 ?

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

        For O(N * sqrt(N) * log(N)) simple sqrt-decomposition is OK.

        You may set block size to sqrt(N). Now store sorted order for every block. For add query — update leftmost and rightmost block in naive way, and for all blocks between them — just remember that you made +1 over these blocks. And to find how many numbers are less than d — for every block you have to find how many numbers in this block are less than d - X, where X is your counter of +1's over whole given block, it can be done with binary search (for this purpose we are storing sorted blocks).

        Carefully implemented, this solution works in O(N * sqrt(N)). This is the way we decided to do it during contest, and it took some more time :) When rebuilding block, you can merge 2 parts in linear time, instead of simply doing sort; and part with binary search may be improved by storing pointer to median in every block, instead of searching for it every time.

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

Could anyone sketch the solution for problem G and/or problem I ?

Thanks!