pwned's blog

By pwned, 2 weeks ago, In English

Hey everyone! I'll be streaming my informatics training on my PHCuber YouTube channel. Here, I'll practice using ThemeCPs, which are two-hour mock contests with four problems. I've done many such practice contests in the past, and I hope that sharing my problem-solving method from a first-person perspective could benefit your competitive programming journey!

My first stream can be seen here so that you know what you're expecting: https://www.youtube.com/watch?v=Ksj2dwTzLjk&ab_channel=PHCuber

I'll be streaming as time permits, mainly in the evening for GMT+8 (China / Philippine time), which is around noon / early afternoon in GMT.

Once again, I hope you enjoy my streams and find them beneficial! I've noticed a lack of yellow-rated coders on YouTube, and I hope to fill that gap! Perhaps I'll make a blog in the future detailing what ThemeCP is and how it can supplement your informatics training.

See you in my future streams! Don't forget to like and subscribe so you don't miss any of them ^^

Full text and comments »

  • Vote: I like it
  • +70
  • Vote: I do not like it

By pwned, 7 weeks ago, In English

TL;DR: Participants who registered while yellow but who dropped to purple must be official participants.

Dear CF community,

Today was supposed to be a great day. After resting from an hour-long leisurely walk around the city, I went to Codeforces to compete in Codeforces Round 931 (Div. 2). Problems A and B went smoothly, as expected. Then, an "Accepted" submission problem C followed suit. As I glanced at the right side panel of the "Problems" page, the minuscule number of solves accompanied by a two-digit count of C-solvers pushed me to continue this winning streak. To my surprise, I got D1. Then D2.

I was convinced that it would be a good day. After a brief saunter for snacks, I returned to my desk and checked the standings, expecting a top 50 finish, which would be my new personal best for a Div. 2 round.

Ranks 1 to 20 loaded onto my screen. "Hmm, was I in the top 20?" I questioned. Nope, not in the first ten nor the first fifteen. My username was nowhere to be found in the official standings. Puzzled, I checked the full standings. There, I found my username pwned, beautifully purple as it had been for existence until a transient blip of yellow, with one small detail that would change the trajectory of my day -- a tiny asterisk (*), signifying that I was joining out-of-contest.

There, it dawned on me: I registered for the competition as a yellow-rated coder before falling back to purple in the contest merely 24 hours ago (Codeforces Round 930 (Div. 1)). Was my happiness dampened for today? Certainly. Today's round would've been my best performance by a magnitude, nearing a top-20 finish among official participants.

Now, don't you think that Codeforces needs to more adequately verify who exactly are the official participants in a round? Consider the inverse of my scenario -- a purple turning red in a recent round and joining a Div. 2 as an official participant. The community would echo with complaints on injustice. And I believe the community would resonate with me, an eligible participant who just happened to have registered for the Div. 2 round a few hours early.

Consider your fellow competitive programmer who trains hard every day. He enjoys learning new algorithms and building his skills on existing ones, just as you do. He was excited to put his hard work to the test and performed superbly. But his codes were nowhere to be found, lost in the sea of unofficial red participants.

To MikeMirzayanov and the Codeforces developers, I trust that you would intervene in this discrimination against color-shifting participants. I have absolute trust in your leadership, as in this community, fairness always simmers to the surface, regardless of how long it takes, showing its radiance.

To you, voicing your support would push Codeforces toward a fairer future. Change comes from social pressure. It begins with a single blog post and spreads with your constructive comments.

Full text and comments »

  • Vote: I like it
  • +190
  • Vote: I do not like it

By pwned, 14 months ago, In English

Dear MikeMirzayanov,

Although you want the round to be rated, I, pwned, believe the contest should remain unrated.

Making the round rated would be unfair. For instance, participants who blatantly copied the code for F would have a massive advantage. Problem F was worth a staggering 3250 points at the beginning of the round, outweighing the entirety of ABC! Meanwhile, participants who got the first four problems would have their positive delta stolen. At the extreme end, the users who focused on problem F, thinking it is simple, will have an even more pronounced disadvantage. Consider those who skipped D to look at F. These users hastily scribbled on their scratch papers, trying to find a swift solution. They would soon discover that they were attempting a 3100-rated monstrosity!

Codeforces should not use an author's intentions to decide whether a round must be rated. Instead, we must view the situation from a participant's perspective. An unsuspecting participant joins another Codeforces round, believing it would be another high-quality round that CF routinely delivers. Halfway through the contest, something was off — after he finished problems A, B, and C, he found that F had more solves than D! Was the last problem exceedingly simple? Was it copied? Was it stolen? A rule-abiding user would not check the forums. He would never know why so many users had solved F until the round ended.

Indeed, the author's conscience plays a part in his judgment by the community. Back in Codeforces Round 810 (Div. 2), Setter zxyoi admitted that he lifted a problem in the Codeforces Round #810 — he was admonished and downvoted to oblivion (rightfully so). Consider a moral dilemma: If I were an author who copied a problem, would I apologize to the community and face backlash, or would I stay in the shadows, waiting for the community's caprice to dissipate?

I am well aware that many among us support the round as rated. Yes, writers unaware of the coincidence are not to blame. Yes, the coordinators, who may not remember all 8500 problems from the archive, are not to blame.

And yes, the people who spilled that similar problem that would make or break a participant's entire performance are to blame. However, there is a solution — disable posting and commenting during the contest. We relegate such unfairness to the shadow realm, the cheating servers, and the QQ groups. But problem 765F, the duplicate of F today, had already been floating around before the blogposts were blocked. Codeforces, we can do better by banning whatever Web 2.0 activities during the round. Then, we would not have to deal with this messy situation in the first place!

Mike, you are the founder of Codeforces. We look up to you. Please listen to us, just as a benevolent dictator would listen to the voices of his citizens. You created the voting system, letting users express their feelings on topics. You enabled polls, allowing our expressions of approval or disapproval. Now, in this crucial moment where the quality of CF contests is on the line, please listen to us. We do not want mediocrity to seep. We do not want a platform where repeated problems are not a cause for concern.

Therefore, my humble opinion on the best course of action is to make this round unrated and have stricter regulations for future contests. Codeforces must ban users from creating posts and comments in the time frame — such posts can wait for the competition to end. This way, we can preserve Codeforces' status as the world's leading informatics platform and protect the integrity of its competition.

Full text and comments »

  • Vote: I like it
  • +395
  • Vote: I do not like it

By pwned, history, 18 months ago, In English

Hi all! What will happen if someone promotes to Div. 1 only (2100+) then joins a Div. 2 contest (< 2100) before ratings are updated? Has anyone experienced this yet?

I'm really wondering what will happen in two days as there will be two consecutive competitions — perhaps we will see by then!

Full text and comments »

  • Vote: I like it
  • +36
  • Vote: I do not like it

By pwned, 20 months ago, In English

Hi everyone! I've noticed that the difficulty of Div2As has slightly increased. In my opinion, this creates a skewed result, as people who intend to join may not be able to solve the first problem. Then, they may end up leaving without submitting anything. As a result, the difficulty rating of Div2As largely depends on the number of fakesolves; i.e. those who fail main tests or end up FSTing.

A harder Div2A also gives a slight disadvantage to those who join and only get A, as the pool of people competing are the ones who are more likely to solve A.

In addition, a hard Div2A scares lower rated coders away from Div2, which shouldn't be the case as the competition is also for them.

Therefore, I humbly suggest problemsetters to make simpler Div2As for more inclusive participation.

Full text and comments »

  • Vote: I like it
  • +429
  • Vote: I do not like it

By pwned, 22 months ago, In English

Good day! Is there a way to find problems containing a certain phrase, such as "easy version" or "hard version"? This would be a great addition, and it doesn't seem to be too difficult :D

Full text and comments »

  • Vote: I like it
  • +8
  • Vote: I do not like it

By pwned, history, 2 years ago, In English

Hi everyone! I noticed a contest called "Go Study Round 1 (Div. 1 + Div. 2)" in the contests page. Does anyone have an idea as to what it is and if it will become a new contest series? I'm hyped for a new contest series :D

EDIT: Seems like they're Putin' it on hold :P

Full text and comments »

  • Vote: I like it
  • +116
  • Vote: I do not like it

By pwned, history, 2 years ago, In English

Hi everyone! What do you think about adding a space to enter the page index in places like the rating standings and previous submissions? Currently, all we have is "1 2 3 ... 499 500", and I think that it would be better if we can have "1 2 3 [input number] 499 500". This feature is found in Discord, and it would be great if it were to be implemented in Codeforces.

If you have any more ideas, comment them down below, and please upvote this post so that MikeMirzayanov can see this!

Full text and comments »

  • Vote: I like it
  • +7
  • Vote: I do not like it

By pwned, history, 2 years ago, In English

Hi everyone! What do you think about adding a "performance rating" after a competition? This feature is implemented in AtCoder. I think that it would be a great idea to be able to see at what level we performed in our previous contests! For example, say that if you have a rating of 2000 before a contest and a rating of 2050 after, then your performance would be at around 2200 :)

If you have any more ideas, comment them down below, and please upvote this post so that MikeMirzayanov can see this!

Full text and comments »

  • Vote: I like it
  • +70
  • Vote: I do not like it

By pwned, history, 3 years ago, In English

Hi everyone! What do you think about adding a percentile metric to the ranking? For example, I think that it would be a great idea for us to be able to see our highest percentile when sorting our previous contests, not just our highest rank :)

If you have any more ideas, comment them down below, and please upvote this post so that MikeMirzayanov can see this!

Full text and comments »

  • Vote: I like it
  • +28
  • Vote: I do not like it