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

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

Добрый день!

18-го октября завершился Четвертьфинал Южного подрегиона NEERC (Northern Eurasia) чемпионата ACM-ICPC. В Саратове встретились 73 команды, многие из которых получили приглашение по результатам квалификационного этапа.

Уже в субботу, 21-го октября в 11:05 (МСК) состоится онлайн-зеркало 2017-2018 ACM-ICPC, NEERC, Южный четвертьфинал (онлайн-трансляция, правила ACM-ICPC, предпочтительно команды).

Приглашаю команды ACM-ICPC к участию и просто индивидуальных участников соревнований Codeforces принять участие!

Конечно, соревнование будет нерейтинговое.

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

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

Опечатка: "многие из которых были получили приглашение".

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

Great opportunity for preparation

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

Is it rated?

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

Is it rated?

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

Will it be more Div1 or Div2 oriented? Asking this because last NEERC round was of Div2 difficulty.

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

One computer for one team?

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

ACM-ICPC Rules,

Is it similar to normal codeforces competition for submission or different. In following terms -

  • Will there system cases apart from pretest.
  • And what's penalty rules.
»
9 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +18 Проголосовать: не нравится
»
9 лет назад, скрыть # |
 
Проголосовать: нравится +13 Проголосовать: не нравится

Are you going to post editorial?

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

In C, I fixed the number of times I used the first package, and based on that calculated the minimum number of times I need to use the second package to satisfy the time constraint.
I got a lot of WAs on test 80 using this. But then I added a single line to swap the two packages if t2 < t1 and got AC.
I am unable to prove why always fixing the cheaper package is correct. Can someone please explain?

Also, how to solve B?

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

Where can we find the onsite results?

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

How to solve J? Was it greedy?

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

    We will always demolish a building as late as possible.
    For each building, find the highest month such that money for that month >= renovation cost of this building.
    Then go in inc order of months and destroy buildings greedily, i.e choose to destroy a building if it costs less than the money you have currently. Additionally, you may choose to "undestroy" a previously destroyed building in favour of a new cheaper building.

    See code for details.
    Code

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

Bitset works much better than FFT!

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

bitset works much better than fft rank 1

FFT works better than bitset rank 20

lol

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

When will the test cases be visible?

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

Why access to the solutions is restricted?

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

How to solve G and K?

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

    G:

    For min:

    Start from dfs from s. In the dfs (let the current vertex be u) if there is an adjacent undirected edge to v direct it like u <- v. Run dfs from the adjacent vertices.

    For max:

    Start from dfs from s. In the dfs (let the current vertex be u) if there is an adjacent undirected edge to v direct it like u -> v. Run dfs from the adjacent vertices.

    Code

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

      Sorry for the stupid question but how do you get the intuition that this greedy is optimal?

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

        For maximum:

        If we are in u and there is an unirected edge to v, there are two options:

        We go through this edge and we visit vertex v (we direct it like u -> v). This way we will increase our dfs tree.

        The other option is to direct the edge like u <- v. This way we will use this edge, only if we go to v from another path, and then visit u, but this won't increase the answer, as we have already visited u.

        From here we conclude that it's always best to direct edges like u -> v.

        For minimum:

        If we are in u and there is an unirected edge to v, there are again two options:

        We go through this edge and we visit vertex v (we direct it like u -> v). This way we will increase our dfs tree. Well we don't want to increase it.

        The other option is again to direct it like u <- v. Well this is optimal because this way we will actually reach only the vertices, reachable from s using the already directed edges.

        From here we conclude that it's always best to direct edges like u <- v.

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

      Thank you. Do you also know the solution for K?

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

Is there any editorial available for this contest?

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

For question E i first took all the possible strings (indices) and then run a loop from 'a 'to 'z' including character only if it is not visited(not unfolded) and frequency of this character in all possible strings is equal to number of strings which means that it is occurring in every possible candidate of hidden string. Hence this character can be counted. But i could not use any data structure efficiently for this. Can someone please suggest some better one !!Thanks in advance :)

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

For problem number H. When I want to copy case number 7 why it copied

45 f3409ufEFU1BQZKqdp2CV3QV5nUEsqSg1ygegLmqRygj

? :(

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

Ответ на клар по задаче L.

В дорешку зашло решение, считающее, что ответ на клар "Нет". C ответом "Да" мы вообще не понимаем, как решать за хоть какую-нибудь разумную асимптотику.

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

what is the idea of problem I ? and are there many ways to implement it ?

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

In question I after fixing the answer how to check wether this answer is possible or not?

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

I really enjoyed this one :) thanks you ^^

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

Why is it that solved problems in this contest do not appear as solved in the UI (that is with green coloring)? Every other contest is fine for me I think.

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

How to solve B,my solution got WA and can not deal with all the situation TnT

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

Hi, in Problem H, for the test "20 qqqoqqoqMoqMMMqqMMqM", my program outputs "4 MMMMM oqoqo qqMqq qqMqq ", and the result is "wrong answer Incorrect cut". I don't know why it is incorrect cut? Can anyone explain this?

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

В любой непонятной ситуации раунд откладывается на 10 минут)))

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

How to solve D and L?

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

Submission

How isn't "qqqqoqqqq" valid?!