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

Автор purplesyringa, история, 5 часов назад, По-английски

I haven't slept for 20 hours and I can't fall asleep. I've been reading others' topics on AI, and I had a sort of epiphany. These ideas have been brewing inside me for many years, and I thought it might be time to share them with the community.


There were times when I was a "competitive programmer" at the core. I spent many years doing that exclusively. I've never been to IOI, but I like to think that I've reached some good heights.

Two years ago, I stopped writing online competitions. I've written a few offline competitions after that, but eventually, I decided to stop that too.

Yet somehow Codeforces still attracts me. I don't want to solve problems, but I keep typing codeforces.com into the address bar. Why? Just yesterday, I didn't have an answer.


Imagine a layperson asking you what competitive programming is. What are you going to say? My answer has always been "Oh, we solve interesting algorithmic problems with time constraints and other limits". Many of you likely do the same.

Yet we keep calling what we do "competitive programming". Why does the explanation lack the word "compete" then?

Barring Codeforces-specific hacks, all participants solve problems independently. It's not like chess, where one competes against someone else. It's asymmetrical. So why did we add PvP? Because it's fun.

But why is it fun to me specifically? I'm in the minority here, but I hate writing rounds. I know my limits, I know what I can and can't achieve with my limited time. Seeing my rating dance around 2200 is no fun and not a good motivation to keep going. Even if I keep improving, what do I get in return? Unless I get to the top-rated list, it's only fake internet points. Hell, the only reason I use this account is because people trust an orange's posts more than cyan's.

I'm not here for contests. I'm here for the community. I'm here for you all, and for you, the one reading my post right now, in particular.

I like reading about interesting tricks. I like to see people inventing new techniques or uncovering bugs. I like watching people reporting UB as if it was a compiler bug, because sometimes it really is a compiler bug, and I get to chuckle for a minute.

To me, interacting with other people is the best human experience of all. I think many agree with this. There are so many comments on round announcements, so many people helping each other understand the editorial, and so many memes. (Do we have a mascot yet?) We've built quite a subculture.

CP isn't "competitive programming", really. It's not about solving problems faster than others. No, it's about making bets with your friends, achieving something to boast about, and making silly jokes only geeks understand.


This is something AI will never be able to take from us. We'll always have each other.

This is the only thing I ever cared about. I found my first friends in the CP world. We solved problems on a napkin. I never held any lectures, yet I always kept thinking about the easiest way to explain a certain technique. I vividly remember the moment I realized a bottom-up segment tree isn't really a tree and spent the next day telling that to everyone who cared to listen.

We never needed to compete against each other. Looking back, were we given a choice, we'd solve problems in teams more often than not.

So, to hell with the rating system, I'll happily read your article on improving FFT performance instead. Scratch the LGM title, I want to watch you speedrunning a round on Twitch. Hold April fool's contests every two months, no AI is going to help you solve those problems.

I think this is the way forward.


CP hasn't always been about complex algorithms or even difficult ideas. Early problems have been quite simple, yet a community was built around them anyway. We are not united by contests, we're united by problem-solving and a love of programming, mathematics, or both.

The Demoscene community is kinda similar to ours. It's about doing something efficiently with a computer, too, just wider, more practical in some ways, and less practical in others. They have "contests" too, called demo parties. The word choice is important: people come to show off, not to win prizes. It's common practice to talk to participants in breaks to ask them how the hell they did something cool.

What I mean to say is, this scheme works. It's new, it's radical, but it works. If the choice is between CP becoming even more fringe and detached from reality and this, I know what choice to make. And I hope I'm not alone.

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

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

"Yet somehow Codeforces still attracts me. I don't want to solve problems, but I keep typing codeforces.com into the address bar. Why? Just yesterday, I didn't have an answer."

Same pinch bro

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

I don't know, is it really CP going forward?

Loving it or not, competitive programming's core is about us competing against each other in contests and see who will be the best. If you fail, you learn from others and try to improve. To scrap the whole idea out of CP would be challenging. Of course some of the mortals says that AI and cheaters are ruining it, but you just can't save competitive programming by ... making it not competitive anymore?

I really like the idea, a map of the future that you proposed. It's a really bright one, and I do look forward into it. But to get the whole community to be used to it, scrap the whole rating system and just focus on solving problems, and the contest list that is halved by April Fools? I don't know which will work better, since for a community that focuses on problem solving only, I do believe there are other options.

My dumb take: Hold your idea as a whole, just add like 1v1 or 3v3 and calculate the rating based on AI, like chess or so? Scrapping traditional contests feels so hard.

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

    About the 1v1 part:

    The reason we don't do duels normally is because we need new problems to solve or you could come across a problem you already solved from your alt. But let's assume AI actually reached GM level, can it write problems then? Maybe AI would write the problems and we would duel with those, infinite problems!

    Note: AI in it's current state would only write standard problems, but maybe in the future this could change?

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

It's too soon to imply the end. I am an avid user of ChatGPT (not that I use it solve problems during contests). The mini model as of now is not strong enough to even discover basic patterns in problems, let alone think critically. You could think of the model as a friend with a brilliant memory. Someone to have an intellectual conversation with, without expecting too much input, other than getting the basics checked.

I have tested the current thinking models as much as I could, given the prompt limits and my opinion on the strength of the AI model has changed. The model is still good to teach you some basic non critical techniques or theorems very thoroughly.