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

Автор keko37, история, 2 года назад, По-английски

Croatian Open Competition in Informatics — COCI 2021/2022

Internet online contest series

As part of the COCI series, we are hosting an Internet online contest with problems from the Croatian Olympiad in Informatics 2022. The contest is primarily intended for high school contestants, but is open to all interested!

This contest is used in Croatia to select members of the IOI 2022 team. There will be three to five tasks and the contest will be five hours long. The contestants will have full feedback with at most 50 submissions per task.

It will be held on Sunday, May 29, starting at 15:00 (GMT/UTC).

Check out your local times at https://hsin.hr/coci/next_contest.html

You may use Python, Pascal, C, C++ or Java as your programming language of choice.

The two relevant websites are:

https://hsin.hr/coci/ — information about the contest

https://evaluator.hsin.hr/ — judging system

We hope that you will join us or encourage your students to do so!

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

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

Reminder: the contest starts in less than 30 minutes.

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

When upsolving will be available?

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

    The problems have now been added to the judging system.

    You can access them here under Srednje Škole / 2022 / HIO.

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

This contest is used in Croatia to select members of the IOI 2022 team

So there will be no Izborne pripreme 2022?

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

    This contest is added up with the Izborne pripreme, so technically it is used to select the IOI team, but yes there will be Izborne pripreme 2022.

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

My solutions, in case anyone is interested:

A
B
C
D
  • »
    »
    2 года назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    In C I think I proved that each SCC has no odd cycle even if you make edges undirected, so you can paint each SCC as bipartite graph beforehand, then do steps 1 and 2, and if next SCC was not fully painted, paint remaining nodes in it with precalculated colors and continue with regular algorithm.

    Btw, your solution looks natural (steps 1 and 2 are the only way to solve for DAG, for SCC my approach takes advantage that the SCC is bipartite, but your approach is more or less the same).

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

      In C I think I proved that each SCC has no odd cycle even if you make edges undirected

      I agree.

      if next SCC was not fully painted, paint remaining nodes in it with precalculated colors and continue with regular algorithm.

      I don't think it's quite that simple, because it's not always possible to colour an SCC just according to its bipartite graph. Consider the following graph: 1->2->3->4->5->6->1 (cycle of 6 vertices), plus edges 1->7 and 4->7. The only valid committee is {3, 6, 7}. In this case everything was forced by steps 1 and 2, but I suspect it would be easy enough to find an example where not everything was forced but it was necessary to colour an SCC in a way that doesn't match the bipartite structure.

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

        After applying rules 1 and 2, look at the graph formed by the unpainted vertcies. Every node points to at least one other node, and since the graph is bipartite it always goes to the other "side". Therefore painting one whole "side" of the bipartite graph is enough. So you can apply this process to the SCC which points nowhere and then remove it completely and all nodes from other SCCs which now point to a red node. You can repeat this recursively. This was my solution.

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

        The proof of why my solution works is above. Regarding your example, you actually have an odd cycle on undirected edges (1, 2, 3, 4, 7), which can't exist in SCC.

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

          I'd missed that you only wanted to paint the vertices that weren't already painted. In the example, 7 is one SCC, and 1..6 is another.

»
20 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Sorry for necroposting but where can I find the standings? I did a virtual contest and want to check how well I did