I_Still_Love_haiender288's blog

By I_Still_Love_haiender288, 3 months ago, In English

Local terminal IOI addict/enthusiast here.

Last year, a grand total of 0 discussion blogs for the IOI appeared, and around 0 discussions on the tasks were made (despite possibly the most (comparatively) interesting problemset since....2016/2018 or something). For this year, I'd like to take matters into my own hands and open this blog.

Dump things here. Predictions. Links for live scoreboards. Writeup for tasks the way it have been for 20217/2019/2021 or something. Problemsetters coming out (not like that, I mean, the way Pajaraja did in 2021 (for Fountain Parks) or E869120 (for Prisoner Challenge)......or the at least 15 times people have done that. Still think that the lack of discussion of IOI2023 tasks was really sad — actually had to resort to shitty translated Luogu blogs for that.

Contest Schedule & Important Links:

(Time in GMT+3 (Egypt local time), convert that to your local timezone, dummy!)

(A more comprehensive schedule can be found here: https://www.ioi2024.eg/schedule)

- Contest Day 1: 09:00 — 14:00 03/09/2024 (Sept.3, 2024)

- Contest Day 2: 09:00 — 14:00 05/09/2024 (Sept.5, 2024)

- Awards & Closing Ceremony: 19:00 — 21:00 06/09/2024 (Sept.6, 2024)

**Live Scoreboard: https://ranking.ioi2024.eg/ **

The thread from ko_osaga can be found here

You can submit your solutions here:

Day 1 tasks can be found here

Day 2 tasks can be found here

Official Results can be found here

Major update: 2 Chinese contestant got 50% of their points on Day2 taken away + 1 disqualified. Only Zhoukangyang remains.

https://stats.ioinformatics.org/results/2024

Highlight of the year:

Congratulations to hirayuu_cf for winning a Gold-1 in his first IOI.

A bunch of links starts here.

The live recording of the opening ceremony can be found here:

The live recording of the closing ceremony can be found here

The Twitter of the Japanese Delegate Vice President could be found here. You can (obviously) find the corresponding Japanese IOI contestants' Twitter there.

Here's the official Facebook account of the IOI. Follow that for some updates

Here's the album dedicated to Vietnam's IOI24 team.

(more to add in later on. Delegation leaders, chug the link of your country's photos and stuffs here so that I can add in later)

Here's the list of contestants & their corresponding teams. Best of luck.

Here's a recursive function.

Here's the prediction blog.

Here's where you can bet virtual money on the amount of medals European countries will won in IOI24. Practice your better mentality for the upcoming World Cup, starting from NOW!!!!

Here's the Swiss Olympiad in Informatics' blog on IOI24

Here's Errichto's live commentary/stream VOD

Here's Errichto's live commentary VOD for day 2.

Here's a spreadsheet with statistics of all recorded IOI problems.

Here's what to do after you AK the contest in 3 hours. Conggratulations to orzdevinwang for the win on day 1.

.......and day 2, I guess. Congratulations to orzdevinwang on the perfect win. You can rest now.

The list of links ends here

»
3 months ago, # |
Rev. 2   Vote: I like it +14 Vote: I do not like it

ojuz When should the mirror contest be available? I am looking forward to trying the mirror this year. IIRC last year the mirror contest was up after ~3 hours or something

  • »
    »
    3 months ago, # ^ |
      Vote: I like it +8 Vote: I do not like it

    I don't have problem materials, so it seems I can't do that this year? You could use codeforces archive.

»
3 months ago, # |
  Vote: I like it -20 Vote: I do not like it

briX1210 orz. He's not even 14 years old.

»
3 months ago, # |
Rev. 3   Vote: I like it -74 Vote: I do not like it

bump.

Okay, not really though. Some silly predictions:

  • This is entirely assuming that we're working with themed tasks (aka: Tasks that actually fits with the host city/country) here, but some funny things can happen:

  • Alexandria (specifically) and Egypt has a LOT of grounds to work with in cooking up task legends. As I haven't spent 4 days looking at the wikipedia page for Alexandria just yet, the first thing that came into my head was......the Library of Alexandria. Which has a lot of things. And was burned. I'm fairly certain that this year's DS task will be themed around this infamous library. (Or, perhaps, we might get to see another communication task that asks something among the lines of "yes, these books were burned, go recover them" for the first time since IOI2011's Parrots or something. On that topic: It's really weird that we haven't got any (proper, completely) Communications task in recent IOIs, given that those tasks are too common to the point literally every other OI contests have one every other year (at least, JOI has one every year, my national TST has three of them for the past three years, with one being literally reconstructing VK codes or something, ....))

  • One other VERY notable person who was born in Alexandria: Ptolemy. Those who are former MO people (literally 99% OI-ers lmao who am I kidding, the venn diagram between OIers and MOers are nearly a complete circle) would've heard about some crazy geometry bullshit created by none other than Ptolemy..... so there might be one or several dreaded geometry tasks here. Everyone knows how unfun geometry questions could be. Furthermore, most of Ptolemy's contribution is on the field of Astrology (stars and constellations and stuffs dude singlehandedly named half of them or something)...........which is clear major grounds for some funny graph thing.

  • But.....why Ptolemy in particular? Well, upon reading the IOI meetings records or something (yes, this guy have read pretty much every single IOI meetings transcripts last year or something) for IOI19 or IOI20 (can't remember exactly), IOI23 was set in Hungary as 2023 was the 130th anniversary of Jon von Neumann's birth — it'd be somewhat reasonable to think that when picking Alexandria as the location for IOI24, the ISC might have something in mind. (And, on that, IOI23's Robot Contest was literally "construct a cellular automata that solves a maze and deletes everything but the solution"....... in the IOI that was mostly there for the celebration of the person who came up with cellular automata in the first place......so there's that. While it's probably a moment of coincidental genius, this might've been the initial idea?)

(totally unrelated to the things above: ahihi1234 was the first 10th grader in Vietnam to ever made it to our national IOI team (after winning the national TST by a landslide and solving Magic Shitshow from APIO24), which is.....notable enough.

As a reference for how impressive this is:

1) Until now, he was the 3rd 10th grader to EVER made it to Vietnam's International Olympiad teams. The other two (former) 10th grader won a gold medal in their first attempt — so there's that. (may kieu j cung top bac hoac bottom-middle gold ay)

2) 10th grader making it to APIO in Vietnam is rare enough (there were only 2 such cases in the past, AFAIK). The two cases were...........

  • fexivity thenymphsofdelphi, only CPer who've collected 5 different Regional/International Olympiad medals. His standing in Vietnamese TST 2021 was (actually I forgot but he definitely didn't won the contest by a landslide and got a silver in APIO2021, so there's that)

  • user202729_, perfect score in APIO2020, gold medal in IOI19/20. In 10th grade, he made it to #8 in Vietnamese TST. Once again, not winning by a landslide

(yes, this is an intense praising post. Please gimme a printout of the Day1 and Day2 problemset as souvernir)

  • »
    »
    3 months ago, # ^ |
    Rev. 2   Vote: I like it -93 Vote: I do not like it

    Oh, another thing: I did submit one silly output-only task for this year's IOI, which gets rejected immediately. The task in question actually requires several minor observation and functional graph construction to "solve" the bruteforce subtasks — which makes it immediately 1000x better than the god-forsaken Nowruz, so at least contestants could be assured that this year's problemset won't be NEARLY as horrible as IOI2017 was. (DO note that IOI2017 consists of the following:

    • THE meme IOI problem (xuanquang1999, what's the name of that Persian New Years festival again)

    • A problem that was used in regional training in 2007, has a harder version in a then-recent USACO contest, has a research paper detailing its solution already, AND a written solution by former IOI winner. Very original, yes

    • O(NM) bruteforce that 4 people solved and hardly anyone got any points at all

    • Ok actually decent problem (xuanquang1999, what made a non-adaptive interactor different from an adaptive interactor again)

    • Ok actually pretty cool problem

    • Someone's Master Degree problem (that was reserved from IOI2016. God forbid what IOI2017 would've been had IOI16 wasn't filled with bangers, which led to this task being reserved for IOI17, considering that Nowruz got in)

    (Yet another unrelated side note regarding the tasks: If I recall correctly, Michael Forisek (misof) said in some Quora article from 10 years ago that IOI2008's Pyramid Base was added in solely because the HSC from Egypt didn't want anyone to full AK the contest too early. Things might've changed after 16 years, but maybe we might get yet another Archery anti-AC once more?)

    • »
      »
      »
      3 months ago, # ^ |
        Vote: I like it +76 Vote: I do not like it

      Im also in Vietnamese Team, and he sucks. No need to yap anymore.

    • »
      »
      »
      3 months ago, # ^ |
        Vote: I like it +34 Vote: I do not like it

      Or maybe, I think this might be crazy but stay with me here. Maybe, your problem suck balls

  • »
    »
    3 months ago, # ^ |
    Rev. 2   Vote: I like it -56 Vote: I do not like it

    No one cares, he might be strong to you but is ways too weak compared to the top contestants we're having eyes on. No gold for Vietnam this year, they would get silver at most. Btw, nobody wants to read a paragraph of random bullshit, keep it short, just give your main points.

    • »
      »
      »
      3 months ago, # ^ |
        Vote: I like it +20 Vote: I do not like it

      You cared enough to comment tho, bozo

    • »
      »
      »
      3 months ago, # ^ |
        Vote: I like it +22 Vote: I do not like it

      your opinion doesn't exist, here's why:
      - Vietnam got 2 golds this year
      - You cared to give a comment

    • »
      »
      »
      3 months ago, # ^ |
        Vote: I like it +4 Vote: I do not like it

      tell me while my country is 4th-ranked, where is your country? i said my country has never been and will never be weak, remember it btch !!!

  • »
    »
    3 months ago, # ^ |
    Rev. 3   Vote: I like it 0 Vote: I do not like it

    .

    • »
      »
      »
      3 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Cool enough. Now that we had pretty much exactly 1 10th grader who made it to each ISO, it's about time we got one for IBO

  • »
    »
    3 months ago, # ^ |
      Vote: I like it +61 Vote: I do not like it

    what an incoherent wall of text I ain't reading all that lil Timmy

»
3 months ago, # |
  Vote: I like it +3 Vote: I do not like it

Do we know whether there is going to be a live scoreboard this year?

  • »
    »
    3 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I suppose there should be — there have been one for......pretty much every other year since 2018 or something. Contestants still won't be able to view their live ranking though

»
3 months ago, # |
  Vote: I like it +41 Vote: I do not like it

What's that? The scoreboard? https://ranking.ioi2024.eg/

»
3 months ago, # |
  Vote: I like it +10 Vote: I do not like it

What's the IOI3 team?

»
3 months ago, # |
Rev. 2   Vote: I like it +57 Vote: I do not like it

I'm doing some commentary while watching the leaderboard https://www.twitch.tv/errichto

recording: https://www.youtube.com/live/YMXdOl2Ets8?si=udg3jmWXAqc8Qfv1
see you on day 2

»
3 months ago, # |
Rev. 2   Vote: I like it +48 Vote: I do not like it

orzdevinwang : sleep time

»
3 months ago, # |
Rev. 3   Vote: I like it +55 Vote: I do not like it

orzdevinwang All Kill IOI Day1!!!

»
3 months ago, # |
Rev. 2   Vote: I like it +17 Vote: I do not like it

Congrats orzdevinwang, just 3 hours pass and he already AK IOI day 1.

»
3 months ago, # |
  Vote: I like it +9 Vote: I do not like it

orzdevinwang bosssss

»
3 months ago, # |
Rev. 2   Vote: I like it +12 Vote: I do not like it

orzdevinwang AK IOI DAY1!

»
3 months ago, # |
  Vote: I like it +59 Vote: I do not like it

orzdevinwang is so hurried to eat lunch that he AK in 3 hrs

»
3 months ago, # |
  Vote: I like it -11 Vote: I do not like it

wow, you're still love haiender288 since I last seen TLEOJ team :penguin:

»
3 months ago, # |
Rev. 3   Vote: I like it +52 Vote: I do not like it

IOI 2024 day 1 tasks: https://jonathanirvin.gs/files/ioi2024/

These are the v0 version of the English task statements distributed at the start of the translation night. I forgot to re-download the tasks after all of the modifications. But there isn't any significant change.

EDIT: Deleted the day 1 tasks on my server. Refer to https://www.ioi2024.eg/competition-tasks instead.

»
3 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Tried offline mirror yesterday. What I could currently think of:

Nile: implement wrong/50% to correct solution for 3 hours — sort the list, then start DSU-ing to calculate the answer. What I thought was "for each component, keep 4 cases of "both ends are free","left end is free" "right end is free" and "no end is free", then merge the answer accordingly " (which failed the sample testcase). From what I've heard the actual solution is not that far off: when merging 2 components, we keep track of the first and last 2 elements instead (as we can observe that an artifact at pos i should only ever be matched with i+-2, since if i can be matched with i+-3 onwards, there exists a way to rewire the matching such that all matches to i+-2 or not. Still can't understand the massive amount of AC on this, this actually seems harder than most P1s in recent years (Beech Tree is excluded).

Message: cannot think of anything, absolute witchery. The fact that the lowerbound is 66 queries and simply transporting 16 bit at a time requires 64 messages means that either we'll have to determine the 15 bits in 2 queries (what?) or transmit in a way such that even the scam bits can convey infomation (HOW?). Absolute witchery.

Tree: can't even re-formulate the statement to come up with a way to solve subtask 1. Too hard.

Any thoughts/ideas on the tasks?

  • »
    »
    3 months ago, # ^ |
      Vote: I like it -9 Vote: I do not like it

    Update: Subtask 1 of Tree seems to be simple greedy, just assign lowest possible value to each node on a toposortnorrder. Still can't think of anything else for the later subtasks

  • »
    »
    3 months ago, # ^ |
      Vote: I like it +15 Vote: I do not like it

    For message: - 30pts (95/31+64) calls is very easy: Notice that as exactly 15 of the bits are corrupted, a majority of the bits aren't. Send array C and its 30 cyclic shift to find out the 15 bits, then simply send the entirely of S - Can't think of anything else (still, at least 30pts is somewhat acceptable), but it seems that one can spam the majority thing several more times to get more things.

  • »
    »
    3 months ago, # ^ |
    Rev. 2   Vote: I like it +30 Vote: I do not like it

    Why is this getting downvoted? Are we not allowed to talk about solutions yet? I think it’s quite interesting to see the thought process of solving the questions.

    • »
      »
      »
      3 months ago, # ^ |
      Rev. 2   Vote: I like it +7 Vote: I do not like it

      A competitive ratist simply cannot comprehend a person trying to do their best despite receiving nothing

      • »
        »
        »
        »
        3 months ago, # ^ |
          Vote: I like it -37 Vote: I do not like it

        no i just think you're stupid

        • »
          »
          »
          »
          »
          3 months ago, # ^ |
            Vote: I like it +8 Vote: I do not like it

          why the agression (2)

          • »
            »
            »
            »
            »
            »
            3 months ago, # ^ |
              Vote: I like it -26 Vote: I do not like it

            you say x cant solve this, y cant solve that, but u cant solve shit not even "a simple dsu problem" (in your words), go cry to ur mama

            • »
              »
              »
              »
              »
              »
              »
              3 months ago, # ^ |
                Vote: I like it +18 Vote: I do not like it

              What? Didn 't I clearly say that even the "wrong" version (where merging 2 components only connects their first/last elements instead of first 2/last 2) is already difficult implementation + casework (again, for me). At no point did I imply that the full solution to P1 and anything that wasn't 30pts in P2 easy (this was made painfully obvious right off the bat, had you paid more attention).

              Even if one ignore all of that mess, it's not well-spirited (or, in more serious terms, against the IOI code of conduct) to shit on people who are genuinely trying to get to understand the tasks. Stop with the agression and at least use one of your main 3 accounts instead of 2 alts, smh.

              • »
                »
                »
                »
                »
                »
                »
                »
                3 months ago, # ^ |
                  Vote: I like it -14 Vote: I do not like it

                i do not give a flying fuck about the ioi code of conduct, try solving problems on your level before judging problems that was made to be solved by people who actually studied cp properly

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  3 months ago, # ^ |
                    Vote: I like it +20 Vote: I do not like it

                  ...how difficult is it to NOT shit on a struggling person? Come on, man. Blud has a borderline Master account znd chose to use fodder unrated alt instead, smhmj

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  3 months ago, # ^ |
                    Vote: I like it -18 Vote: I do not like it

                  you have no issues shitting on others' (Vietnam team specifically) efforts to solving problems in the IOI, and then proceeds to call the problems "silly", "dumb", yet you can't solve any of them, not even ONE

                  But you're hurt when someone gives you the same treatment?

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  3 months ago, # ^ |
                    Vote: I like it +15 Vote: I do not like it

                  .......when a problem have an average score of 60+ with 150 people getting 78pts or more, not getting that much is genuinely skill/luck/nerves issue.

                  As for the "hurt" part, if you are indeed the person I thought you were, you definitely should've understood how anđ why would I be hurted so terribly continuing on to the next day becomes an absolute mess. It is legitimately hell. Most things you can imagine going wrong, had. I'd assume you haven't been specifically bullied by that many people from that many different fields at the same time. Even moreso getting absolutely, utterly isolated from other human beings. You have friends — enough to be in group chats with, enough to form a banner on OSU with size 6 or something, at least someone who could "get" what even is going on in the first place. Your future is already well set — next year you'll probsbly make it to VNTST, free from university entrance, go study abroad somewhere, have......some sort of a safety net for the future to not be that worried. At least you can try to feel things.

                  I literally do not have the luxury of that, even things as simple as having a single DAY where I wasn't reminded by some less horrible times from a while ago. Nowadays, even in my dreams, I cannot be happy, somewhat happy days a thing from the long past.

                  Silly competitive programming contests don't even hurt me, an authentic (TM) debuff stacking and extended mental torture enough for 5 people to consider driving off a cliff....did. So, there's that.

                  By the way, again, assuming that you're indeed who I think you were.....are you, like, too bad at making names for alt accounts, or specifically chose this thing to give me an extended torture and several extra beatings once again? Because if so, then, uhhhhh.....please, at the very least, don't hurt others the way you accidentially/consciously applied to this mf who recently can hardly refrain from sobbing like an ugly [REDACTED] every other day.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  3 months ago, # ^ |
                    Vote: I like it +6 Vote: I do not like it

                  spend less time online

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  3 months ago, # ^ |
                    Vote: I like it 0 Vote: I do not like it

                  All real life issues though, as if.

                  (at some point, this has stopped being a proper discussion thread, and turned into a bashing thread. Very nice, definitely!)

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  3 months ago, # ^ |
                    Vote: I like it +17 Vote: I do not like it

                  I am not trying to bash you. My advice is based on my own experiences.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  3 months ago, # ^ |
                    Vote: I like it 0 Vote: I do not like it

                  ㅤㅤㅤ

            • »
              »
              »
              »
              »
              »
              »
              3 months ago, # ^ |
                Vote: I like it 0 Vote: I do not like it

              Nile isn't hard. If it was used in CF it'd be div2D at most, and the only reason for that is that it's maybe too much code for div2C.

              Why are you insulting him? Is it because he's low rated? He didn't even say "a simple dsu problem" and recognized that it's harder than usual, did you read his message?

              • »
                »
                »
                »
                »
                »
                »
                »
                3 months ago, # ^ |
                Rev. 2   Vote: I like it +10 Vote: I do not like it

                For what it's worth, out of everyone there is, this guy has every right to bash me to death, though......

                (and, to think that this, out of everything, was the closest I got to even as much as a mere conversation in the past year..... This is simply hopeless, isn't it?)

                On topic and on Nile itself, people suggested that it'd be a good Div1C/Div2E, I still think that the solution proposed by ko_osaga with segtree and stuffs is still a bit above the average Div2D

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  3 months ago, # ^ |
                    Vote: I like it +5 Vote: I do not like it

                  I don't care about what happened between you two, bashing at someone in a personal level in public because of some unrelated reason isn't appropriate.

                  I might underestimate Nile because it's such a standard problem that the seg tree solution comes to mind a few seconds after reading it. In the end, since CF tries do avoid such a standard problem it's hard to know if nowadays it'd be div2D or div2E. The argument that I see for it being div2E is "because it uses some data structure it can't be div2D", which isn't enough imo.

»
3 months ago, # |
  Vote: I like it -18 Vote: I do not like it

Update: Found a written editorial for Message (in Vietnamese) here, which was.....wow. Here's a rough translation (only the non-free parts + some obvious optimizations when possible):

  1. Q=80 (4+1+ 15x5):
  • Use first 4 query to send all 0-1 array to form a bitseq of length 4, denoting thr position of the FIRST good bit (the PP makes it so that there must be a good bit in position 0...15). Call this bit G(0) and the list of 16 good bits G(0..15). These queries are purely fodder, no information of S here

  • Use 1 query to send length of S. Also no info of S here.

  • For the next 15 batches of 5 query: use bit G0 to transmit the bits in a bitseq of length 5 denoting the position of the i-th good bit. In the OTHER 15 good bits, transmit S.

  • After B receives all 80 query, determine the 16 good bits, then read the sequence S accordingly after going through the last 75 query (do remember to stop reading S after the transmitted length has been reached). Can transmit 75 x 15 = 1025 bit (again, just enough, wow)

  1. Q=71 (4+1+30+36)

Same as above, but after the 5th query, use bit G0 to answer "is the i-th bit excluding G0 good or not". Can transmit 30x15 + 36x16 = 1026 bits. Again, wow

3) Q = 66

  • Let d(i) be the positive distance between G(i) and G(i+1) on a circle length 31. Notice that 66 x 16 — 1024 = 32 i.e we only have 32 spare good bits to transmit the good bits, and, most importantly: the sum of all d(i) is PRECISELY THE LENGTH OF THE CIRCLE, 31. We then do the following:

  • For the i-th good bit, we transmit d(i)-1 0, one 1, then start using it to transmit the good bits normally. This way, we'll waste EXACTLY 31 bits.

  • We find the good bits as follows: We look at the first 16 queries, then look for the first 1 sent for each of the 31 bits. Construct a graph where there exists a directed edge between i and (i+id of query where 1st bit 1 in position i was sent). The 16 good bits will form a cycle of length 16 on that graph with 31 edges. It is well known that in a graph with N vertices and N edges, all the components are either a perfect cycle, or a line which then leads to a cycle (if you've spent a decent amount of time working with subtask 3 òd Roller Coaster Railroad, you'd definitely know). As the cycle length 16 takes a majority, it is unique, and we've found the 16 good bits. Done!

My general thoughts:

  • Wow this is so fire.

  • My guess is that this problem was setted by none other than our beloved, trusty Hazem Issa — the author of IOI22's Insects and IOI23's Longest Trip, from the extremely tight bound (FYI, the bound of Rarest Insects is literally exactly N + N/2 +N/4 +.... = 2N, and the bound on Longest Trip is literally 3N/2 + 2logN-1 +1)

  • Communication problems are bound to have some shenaighans happening. Seriously. After you've heard about it the solution for Q=70 just sounds silly AF, yet not many could actually come up with that in-contest (even Rainboy, rip, at least he still have next year to AK IOI).

»
3 months ago, # |
  Vote: I like it +77 Vote: I do not like it

orzdevinwang is not so hungry today so he AK in 4.5 hrs

»
3 months ago, # |
  Vote: I like it +50 Vote: I do not like it

orzdevinwang AKed. Absolute legend of IOI&CP.

»
3 months ago, # |
  Vote: I like it +8 Vote: I do not like it

orzdevinwang AK IOI!!!!!Orz!

»
3 months ago, # |
Rev. 2   Vote: I like it +19 Vote: I do not like it
zky ak ioi
»
3 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Zhou Kangyang has AK IOI!

»
3 months ago, # |
  Vote: I like it +3 Vote: I do not like it

Zhouak has AKed IOI!

»
3 months ago, # |
Rev. 2   Vote: I like it +21 Vote: I do not like it

The results are up: Link One participant from China got disqualified for having his phone turned on while in a contest, and the other two got their scores halved by having a phone, but it was turned off.

  • »
    »
    3 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Congratulations on the Gold

  • »
    »
    3 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    i smell drama

  • »
    »
    3 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    The three contestants from China did not turn on their phones during the competition as you said, but they truely turned them off in their bags and did not use it. Although this may be a violation, we fully believe that the three contestants did not intentionally violate the rules and did not engage in actual cheating behavior. As i see, giving half the score to hlt and gyc is the best result for the Chinese team, it's really a pity! The Chinese team could have won four Au medals originally, emm... At this point, Chinese team can only accept the punishment. Also, congratulations to the contestants who rose in ranking and won the Au medal due to this.

»
3 months ago, # |
  Vote: I like it -26 Vote: I do not like it

Back from the dead here: I've updated the statistic of the IOI tasks spreadsheet.....but messed up REALLY badly, and now the 6 added tasks aren't counted in the sortings. I have 0 experiences working with Excel. Please send help

»
3 months ago, # |
  Vote: I like it +3 Vote: I do not like it

I was shocked when hearing sjy dq and hlt's ans kubic's score devide by two. As a Chinese, I was happy yesterday as zky AKed and China got 4 Au. But now, only 2 Au and 1 Ag. Bad to me.

»
3 months ago, # |
  Vote: I like it 0 Vote: I do not like it

.

»
3 months ago, # |
  Vote: I like it +62 Vote: I do not like it

(at some point, this has stopped being a proper discussion thread, and turned into a bashing thread. Very nice, definitely!)

Given this comment and stuffs that happened in the Vietnamese community, I want to say a few words.

  1. First of all to make it clear, I don't have anything against you. I'm very supportive of people of all ratings to talk about / discuss / learn from IOI problems (they are usually very fun and educational) — precisely why I wrote some IOI editorials in ways such that anyone can understand.

  2. Most people are upset with you bad-mouthing Vietnamese IOIers (including messages from last year + comment this year where you tag xuanquang1999). I give you the benefit of the doubt and attributed at least some of these to your lack of ability to communicate properly (also note I already forgot what happened last year and I also don't fully understand the situation with xuanquang1999). However you need to learn from this and communicate better. (Do note that some of the Vietnamese CPers have the habit of saying things like "X code ngu" or similar, myself included. These are usually said jokingly or tactfully, between friends or people who know each other well. Even then I need to be aware that people might be angry / offended if I say such things).

  3. Some people gave you good advice. Re-read everything that MofK told you in the Discord server a few times. Many others indeed bullied you or had shitty behaviour. My advice is to give up talking to them, as it seems indeed impossible for you to improve your image in their mind. Again, learn to communicate better in future.

  4. In general, you can't have good opinion on problems unless you have either solved it or previously solved thousands of problems in Competitive Programming. Reading your comments, some are good and some are very stupid. My advice would be: don't say anything about the problem before you AC it. And also solve more problems.

  • »
    »
    3 months ago, # ^ |
      Vote: I like it +2 Vote: I do not like it

    I don't agree with 4. It's better to be daring when facing any problem and you can talk about your opinions all you want, just be ready to look stupid sometimes and recognize when it happens. The comments didn't look stupid to me because no comment that wasn't about Nile and in the Nile comments it's clear that there's no solution because it failed in samples. It's clear that it's just a comment on that person's thoughts about the problems, not meant to be an editorial or anything.

    • »
      »
      »
      3 months ago, # ^ |
        Vote: I like it +17 Vote: I do not like it

      First, I agree with your opinion.

      Second, the problem with him (in our discord server) is that he didn't recognize each time he looked stupid. We were willing to correct and help him, but he just continued with his (mostly) stupid takes. We are just advising him to slow down and have a detailed solution (and implement it sometimes), instead of oversimplifying the solution to "just do this, just do that" and call it easy (and calling out IOI-ers for not being able to solve it). This way of thinking have not lead him to good results in the competitions that he participated, and we are just pointing that out for him.

      • »
        »
        »
        »
        3 months ago, # ^ |
          Vote: I like it +3 Vote: I do not like it

        "if it's so easy then why can't you solve it" just say that and it's over.

        "no i just think you're stupid" and "go cry to ur mama" isn't what someone with good intentions would say.

        • »
          »
          »
          »
          »
          3 months ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          Those are trolls, sorry about that.

          "if it's so easy then why can't you solve it" was what we had always said. We are not even sure if he is actually being serious or not.

      • »
        »
        »
        »
        3 months ago, # ^ |
        Rev. 4   Vote: I like it 0 Vote: I do not like it

        It's not hard to see why so many have been sending hate towards him (including me). First off, we're here for the new updates from the contest and some hints for the hard part of the problems. We're not interested in watching him struggle and reading his stupid solution. Secondly, why does he always have to type a wall of uninformative text, it's really annoying when I have to keep scrolling down to get pass his stupid comments. Final point, I dont think he should do IOI problems at his level, what's the point of a 1st grade student trying to solve an integeral problem ? He's better off go learn and practice binary search. It amazes me that just in this blog, I have seen two 1200- rating users from your country talking about things like slope trick and Segmen Tree. How on earth a 1200 rating user should know these topics ? You could argue it's their alt account, but judging by the past performance and the last time they competed, I suppose that's not the case here.

        • »
          »
          »
          »
          »
          3 months ago, # ^ |
            Vote: I like it -52 Vote: I do not like it

          ..then you haven't heard about the guy who wrote the tutorial for li-chao tree, and the pupil who knew a little bit too much about link-cut tres, then.

          I much prefer to solve IOI questions (slightly over other major OIs, and MUCH over regular Codeforces contests), because:

          • For one, a LOT of the subtasks are not that far out of reach for people with rank <1600, AND helps to nudge people into the right direction. When a task is essentially 5 different questions, solving one improves problem-solving skills, regardless.

          • You should ALSO know that the IOI is generally a collection of GOOD and INTERESTING questions, not HARD ones. The task requires creative approaches and coming up with ways to reformulate the problem into more solvable ones. Had you ACTUALLY tried ANY IOI tasks whatever, you'd know that the actual knowledge ceiling for IOI tasks are usually not high at all (to the point of LITERALLY requires nothing more than basic knowledge of BFS/DFS like last yeae's Robot Contest, and even then no one AC'd it and even the ISC didn't come up with the Z = 5 solutions).

          And before you start bitching even more, DO realize that: most of the tasks in Informatics are quite similar in difficulty, the difference was whether it's an entirely new thing or something beaten to death. Had they not been popular, the solution to the "classic" 2-Sat (and its prequisites, the SCC decomposition algo) would've made for a good IOI task.

          Even more about the ratings: If you were asking that "Why do this person with [low rating X] even try to do this problem", I can immediately points at enough GM, IGM, even LGMs who choked to absolute hell in the IOI to the point of performing worse than your next-door Expert (one of the winners of IOI14 was an expert, at least). Ratings (in ALL competitife programming platform, mind you) doesn't matter at all when it comes to getting thrown at the equivalent of a wildland where past experiences don't help much. DO note that most CP-ers are only seemingly good at solving problems after grinding a ton of them, and eventually narrowed the search space down to this thing where they SHOULD be expected to find the solution to a "standard" problem. The moment they encounter some "new" things......they are literally as good as the average Specialist — getting blindsided without knowing how to do ANYTHING. That kind of thing have happened literally every other year in the Vietnamese TST....so there's that.

          Obviously, I'm not trying to convince you — random shitter couldn't care less about those actual discussions, but, as much as everything else in this thread, I hope that those writeups could and would be of value to someone who'd like to read up on things in the future

          • »
            »
            »
            »
            »
            »
            3 months ago, # ^ |
            Rev. 2   Vote: I like it +23 Vote: I do not like it

            You have too much of a romantic view of IOI. I have many reasons to believe good contestants (the ones fighting for around top10) study things that are outside of the IOI syllabus because they simply practice CP in general. Even though it's not necessary in many problems, knowledge skips gaps that without it I'd think of it being completely impossible to prove in ad-hoc ways.

            Codeforces and longer contests aren't really comparable, especially things like IOI where you have 5 hours for 3 problems. The reason most GM+ that choked choked is most likely due to not being able to see the scoreboard and misjudging problem difficulty. Without information from other contestants, you need to be completely independent when tackling problems, and that's something that doesn't happen in codeforces or most other contests.

            What you say about problems being of similar difficulty is just false. There are different factors contributing to difficulty. Some problems have obfuscated statements so they're hard to read. Other problems require long implementation and/or tricky case handling that can be hard to code. Some other problems have an idea that's hard to come up. There are many examples of a "hard" problem that once you see its solution the problem is trivial to code but the solution is almost impossible to come up. Also many examples of an "easy" problem that the solution is immediately obvious but it's so cancer to code that not many people dare to try it. You have to consider the practical aspect of CP. Maybe if you're as good as you think and you consider the practical aspect of CP more seriously you might even shoot up to div1 easily.

          • »
            »
            »
            »
            »
            »
            3 months ago, # ^ |
              Vote: I like it +13 Vote: I do not like it

            You should ALSO know that the IOI is generally a collection of GOOD and INTERESTING questions, not HARD ones.

            A problem can be interesting and hard at the same time. It might take some maturity and education to see what’s interesting in tough problems.

          • »
            »
            »
            »
            »
            »
            2 months ago, # ^ |
              Vote: I like it 0 Vote: I do not like it

            talk less

»
3 months ago, # |
Rev. 3   Vote: I like it +2 Vote: I do not like it

Essentially mindsolved the question within 2 hours of thinking today. Current ideas:

P4 (UCS): No

P5 (Mosaic):

  • I initially thought that "Okay, this problem is going to be relatively complicated combinatorics contribution counting similar to IOI22's Digital Circuit", and was pretty much stuck without any ideas for 2 minutes. Then I thought that "okay, there should be some pattern here, spent 2 minutes coding a random 28 x 28 board that is valid, runs it several times, and, uhhhh

Basically, it is clear enough that: Aside from the first 2 row/column, every TopLeft-BottomRight diagonals (indexed by their value of x-y, with x being the row and y being the col of each cell) has the same value......so you can simply iterate through all the intersection of each diagonals and the queried submatrix (with a bit of casework for when the first 2 row/cols are touched).....and you're good to go. 78pts, although the casework could be tricky. For 100pts it'd probably require more stuffs, but I've spent a grand total of 15 minutes on this (and would prefer to think about P6 more), so there's that.

More specifically:

  • Subtask 1,2,3,4: Build the entire board and use 2d prefix sums, duh.

  • Subtask 5: Chessboard coloring for col and row 3 onwards. Major hint for "it is similar from col/row 3 onwards". I initially thought that things will already be the same after the first row/col.

  • Subtask 6/7: Simply calculate the value on each diagonal, use a prefix sum on the values of the diagonals (or a prefix sum on the first 2 row of the board if the queried submatrix is in this section isntead).

General thoughts: Bad problem. This is not an output only or a Div2B. This is a fricking IOI problem. IOI contestants would usually expect state-of-the-art problems popularizing some insane tricks (Aliens', Warewolves'), beautiful construction (Parks', Split), or some cool ideas. Not this. Some people were unfortunate enough to NOT think of "just output the entire board", thinking that this was an IOI problem, no way that's supposed to work (it is actually a standard problem stolen from ARC instead), and lose a ton of points. This is kind of in the same vein as the infamous Nowruz, where the "stupid" idea ended up working with little to no novelty and botched the scoreboard to an unimaginable extent, although MUCH less horrible. Still, though, an IOI task KNOWINGLY taken from an online source made it in? Come on, man. (On this, read ko_osaga's thread instead)

  • »
    »
    3 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Idk, in my opinion guessing the solution and using subtasks to confirm it is exactly in the IOI spirit. Someone convinced me that mosaic was especially bad because after guessing the rest is just braindead implementation and I can agree with that.

    • »
      »
      »
      3 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Indeed, using the constrains of previous subtasks as a guide to the full solution IS the IOI spirit (IOI22_towers, where the last 2 subtasks suggested using Persistent Segtree to maintain the binsearch; last year's Sub3 of Longest Trip, ...., the list goes on). Obviously, the IOI spirit is that "problems has multiple long steps where contestants are awarded with scores for solving each individual ones of them" (which is EXACTLY why in the blog discussing the solution to last year's Closing Time, I suggested that it would've been better to add a subtask where the path between the 2 main cities has no branches in order to reward the greedy NlogN solution and lead them to the full solution, instead of capping the greedy at 43pts and lull the contestants into chugging SegTree/SlopeTrick to optimize the 20-line DP solution instead).

      However, the thing that made this.......stolen problem especially horrible is that:

      1) Why using 6 SUBTASKS to hint at something that could've been achieved by just printing out the entire board (they might as well just did the thing in the statement for last year's Beech Tree, like "After printing out the entire board, [person] realized some interesting property and decided to ask you questions")

      2) In the other tasks where subtasks are REALLY GOOD at leading the way for the solution, those subtasks are actually SOMEWHAT difficult to do (refer to subtask 5 of this year's Tree, which, considering ko_osaga's approach, did its job pretty well). For this, the subtasks are just braindead and/or intentionally confusing. Vietnam lost a Silver medal from someone being intimidated by the 8 subtasks, thinking that the first 7 subtasks requires substantial effort to come up with (instead of "yeah, just print the entire board out and guess, lmao, otherwise you should go die from losing 40+ points from this thing everyone and their mother have done")

      • »
        »
        »
        »
        3 months ago, # ^ |
          Vote: I like it -10 Vote: I do not like it

        About the vietnamese person that lost silver medal due to that, tough luck. The person should have better strategy (don't be irrationally afraid of a problem before trying it) or simply better performance in other problems to get silver. I'm pretty sure there were people in silver that did as bad as he/she did. In my experience in such problems (there are tons of problems like that, but with a different operation like xor, and, in the case of the atcoder problem it was mex) the first thing you should do is print out the matrix for some samples and try to find a pattern so maybe it was a lack of experience. You have 5 hours and you choose where to spend them.

        About subtasks, quadratic and "query is only one square" would be already enough, I agree that it looks like a mess.

        I don't agree that problems have multiple long steps, only hard ones. Since mosaic was the easy problem in day 2 that isn't relevant.

»
3 months ago, # |
  Vote: I like it 0 Vote: I do not like it

P6 — Sphinx:

  • Subtask 1: Duh

  • Subtask 2: For each vertex, pick a random adjacent vertex, color all but those 2 vertices with color 0 and iterate through the list of N colors on the 2nd vertex. This will determine the colors of all vertices in N^2 queries.

  • Subtask 3 (checking if adjacent vertices has same color or not): ......iterate through the edge list? No, seriously, it's just as simple as....that. For all of the N-1 edges, set all node not on the 2 ends of this edge to color 0. This will easily determine whether those 2 nodes have the same color or not. Easiest 16.5pts ever existed

  • Subtask 4:

  • Notice that each monochromatic component is also a clique. To decompose the large cliques into multiple cliques, we do the following:

1) Index every vertex from 1.....N. We then find all positions i where i is the index of the SMALLEST appearance of a color in 1...N (or, in other words, determine all positions i that has no other vertices with the same color in range 1....i-1). We can do this by asking N-1 queries, where in the i-th query, we'll keep the color of all vertices in range 1...i, while setting all other vertices to color 0. The returned value of each query will be (number of different colors in 1..i + 1). If the returned value of the i-th query is different from the i-1th query (more precisely, equal to the returned value of the i-1th query + 1), vertex i is what we'll need to find. Push this into a vector or something, and mark this as "selected"

2) For all unmarked vertices u, we will binary search for its color (which out of the selected vertices at position < u has the same color with u). We set the color of all vertices with index > u and all unmarked vertices at position < u to color 0. Assuming that there are C marked vertices with index < u, the return value of the query function will be C+1. We then binsearch on the prefix of length C of the vector of marked vertices:

  • If we set Mid elements in the prefix length C and the returned value of the query is C + 1 — Mid, this means that the marked vertex with similar color to U isn't in this prefix.

  • Otherwise, if the returned value of the query is C + 1 — Mid — 1, this means that the marked vertex with similar color tu U is in this prefix (of the list of marked vertices).

Doing the same thing for all vertices, we can decompose the big clique into multiple cliques, and get 50% of the points for this subtask

  • After decomposing the graph into multiple cliques, we can determine the color of each sub-clique by doing the following things:

1) We already knew the amount of different colors in the graph (the list of marked vertices), denote it as D. If we "compress" each subclique to a node in a secondary graph, the 2nd graph will also be a clique with no 2 nodes sharing the same color. We simply pick 2 random node in the 2nd graph and iterate through all N colors. If the returned val is D-1, it means that this color exists in the graph.

2) To determine the color of each subclique, do the same thing as what we do in the "subclique decomposition" above once again.

»
3 months ago, # |
  Vote: I like it +5 Vote: I do not like it

What the Chinese team wrote in blood red with their two gold medals:

$$$ {\color{Red}{ CHECK \ YOUR \ ELECTRONIC \ DEVICES}} $$$