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

Автор christopherbitti9, история, 4 месяца назад, По-английски

Hi Codeforces! I'm wishing every honest competitor a very fulfilling New Year!

One of my New Year resolutions is to take competitive programming more seriously and aim for master (2100+). One of the things I want to do to try to achieve this is to form a "study group" (a small Discord server) of people in positions similar to my own. This will help motivate me and provide a bit of extra accountability that isn't easy to get when you're mainly doing this alone. We can also share templates, interesting problems, and ideas. I am also open to group solving sessions over Discord's voice chat or something like Microsoft Teams.

When I say people in a position "similar" to my own, I mean the following: 1. You should at least be a high specialist (1500+). 2. You should at least be 17 or 18 years old, preferably 22+. I'm 23, so I don't want to be the designated unc lol. 3. You have ambition for competitive programming and you will participate in contests consistently. 4. It would also be cool if you are in the EST (US Eastern Time) time zone, since that's where I am, but this honestly isn't that important.

If you're interested, you can leave a comment or DM me.

Полный текст и комментарии »

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

Автор christopherbitti9, 4 месяца назад, По-английски

I am a firm believer that the Codeforces and broader competitive programming community is being underutilized in the fight against cheaters. I want to create a platform where people can upload evidence that certain Codeforces users are cheating. Evidence can then be added to those reports by other people to build cases against the suspected cheaters.

This would provide a centralized reporting system for our community and a suspect database for Codeforces admins to look through.

I would also implement a voting feature. Every case file will have a "suspicion score" attached to it based on how many users voted that the person is guilty versus how many voted that they are not. Each vote and user on the platform will have to be tied to a Codeforces account to avoid flooding the platform with new accounts to vote for a cheater's innocence.

If a user has successfully identified a cheater before on the platform, their "investigator score" will increase, which in turn will make their votes count for more than the votes of regular users.

If the suspicion score of a case exceeds a certain threshold, the Codeforces handle of the suspected user will be made public so that Codeforces admins can consider banning them.

What do you guys think of this concept? If you have any objections or ideas, please share them!

If we are to do this, if we are to survive as a competitive community, everyone needs to keep their eyes peeled for verminous cheaters. My recommendation is that after every contest, look at the performances, submissions, and profile trends of the two people ranked ahead of you and the two people ranked below you. If everyone does this, no cheaters will slip through the cracks. They'll eventually slip up and do something weird.

Полный текст и комментарии »

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

Автор christopherbitti9, история, 4 месяца назад, По-английски

Finally hit expert, now my next target is candidate master. I'd love to hear advice from people more skilled and experienced than me. If you have CF Analytics, can you check out my profile and see what I need to start doing to solve Div 2 D consistently? I'm considering working through some key sections in CSES (Sorting and Searching to improve my binary search on answer intuition, Tree Algorithms, Graph Algorithms, DP because I suck at complex DP, and Range Queries to finally learn segment trees).

Maybe I just need to solve more problems as I've only done 230 so far.

I recently graduated from college with a degree in mathematics, but I feel like I'm not exploiting my math knowledge enough. For example, my combinatorial reasoning is good but I rarely come across problems in the Div 2 A-D range that require it. Should I start looking at later problems from competitions for those kinds of problems? I always hear that my math intuition should help me a lot in competitive programming, but so far I haven't felt that honestly.

Полный текст и комментарии »

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

Автор christopherbitti9, история, 4 месяца назад, По-английски

I'm soooo close to Expert. I'm wondering if I'm going to get destroyed by cheaters in Div 3 tomorrow who insta-solve every problem

Полный текст и комментарии »

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

Автор christopherbitti9, история, 4 месяца назад, По-английски

My rating went from 1561 to 1587 for a grand total net gain of +26. I solved A-C and ranked 2665 out of 16287. According to CList, problem C is roughly an 1870 rated problem. The last time I managed to solve a problem in or near Candidate Master territory (Palindrome Flipping), my rating went up more than 140 points! This time, I only gained 26 points. Is this because of cheaters? But even then, after the contest I tried Gemini 3 Pro on problem C and it gave an incorrect solution. Were some of the harder problems AI solvable?

I even asked Gemini 3 Pro how much rating gain I should expect given my rank and the fact that it was a Div 1 + Div 2 round and it said AT LEAST +50. Usually when I ask Gemini to predict my rating change it's pretty accurate. Maybe this round had a much weaker pool of competitors than usual? I don't know man, I kind of feel scammed. I thought I would for sure reach expert this time.

Полный текст и комментарии »

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

Автор christopherbitti9, история, 4 месяца назад, По-английски

I was discussing this with a grandmaster, here are some ideas we came up with:

  1. Remove solve counts. Solve counts basically function as a communication method for cheaters during the contest. Once some cheaters realize a problem is solvable by AI, more and more will follow.
  2. Force people to solve problems in order during contests. To unlock problem B, you must solve problem A. To unlock problem C, you must solve problem B. You get the idea. This makes it so that once cheaters hit a problem that cannot be solved by AI, they're doomed for the rest of the competition. This would make it so that the problem committee can set traps. They can engineer one or two problems per contest that break AI (either logically, visually through the use of complex diagrams, or textually by embedding hidden messages designed to derail LLMs) then investigate suspicious or new accounts that failed to get through those problems. This brings me to my third and final point.
  3. More creative problem design; less contests, higher quality problems. Maybe the fact that AI is getting so good, so fast, at competitive programming problems means most problems are too generic. I've seen problems in the past that AI can't solve, and I even came up with my own yesterday. I know it's possible.

What do you think MikeMirzayanov? As I've stated before, I and (most likely) many others would be willing to help with development for new features. The pressure is not all on you to fix things, we are a community.

Полный текст и комментарии »

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

Автор christopherbitti9, история, 5 месяцев назад, По-английски

First, we need to establish the primary motivation for cheating. People cheat to improve their odds in this brutal job market. A high Codeforces rating and strong competitive programming contest results has historically been a strong resume signal. For example, I know a higher rated individual who told me they, now regrettably, sold their Codeforces account to someone for thousands of euros a couple years ago when they were in financial need. Why would anyone pay thousands of euros unless there is a strong chance your investment will be returned?

Given this, I don't think some of the solutions I've seen people propose will work. Getting rid of ratings wouldn't be enough, we'd need to get rid of ranking lists for each contest. If ranking lists persist, there is still an incentive to cheat since cheaters can put strong contest finishes like top 1% or top 5% on their resume. Obviously, that's not desirable.

A better solution is to attach some form of identification to people's accounts. For example, on my account you can see my name, the university I attended, and my university email. If someone like me decides to cheat, at least they'd have to stake their reputation. Preferably, identifying information such as people's names should be verified by government or university IDs. Implementing such verification systems isn't particularly difficult with modern tooling.

Furthermore, reporting the identifying information of cheaters to employers would really hit cheaters where it hurts. An automated system can mass report cheater information to major employers across sectors such as quantitative finance, technology, banking, and more!

If you can't tell, I have the utmost disdain for cheaters. They are desperate dogs, no better. If we take steps such as the ones I've outlined, the cheaters that remain will primarily consist of devious children. Someone else can propose solutions for those kinds of cheaters.

If Codeforces would like help implementing such measures, I, and I'm sure many others, would be willing to help.

UPDATE: Just thought of a nice way to formalize my proposals. We need a two-tiered system, one with ID verified accounts and everyone else. The two types of accounts will be allowed to participate in the same contests, but unverified accounts should not have a field that says "Rating" in their profile, but rather, something like "Unverified Rating". To verify your account, you should provide some combination of your name, government ID verification, university ID verification, a selfie of your face, and your university/work email. There are services out there we can employ for proper ID verification, and all of the data is destroyed after the verification process terminates. Thus, anyone seeking to show off their Codeforces rating on their resume to get a job would be incentivized to go through the verification process, as employers will naturally be more skeptical of an "unverified" rating. Kids should not get verified, as why would a kid care about whether their rating is "verified" or not? This solves the problem of handling minor data, we won't have to.

Полный текст и комментарии »

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

Автор christopherbitti9, история, 6 месяцев назад, По-английски

I'm struggling a lot with these problem Bs. A few weeks ago, I went two contests in a row only solving 1 problem and lost over 100 rating points. I managed to reverse the damage completely and got up to 1477 rating, my peak. Then, these last two competitions hit and the same exact thing happened, now I'm back to low 1300s.

When I am solving problems outside of competitions, I can virtually always solve 1600-1900 rated problems within an hour. Why is it that I am getting tripped up on these seemingly easier lower rated problems?

I am probably going to have to do some targeted training on these kinds of lower rated but tricky problems, but for the time being I think I am going to be skipping problem B because I think I can solve C more often than not and many times D as well.

Полный текст и комментарии »

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

Автор christopherbitti9, история, 6 месяцев назад, По-английски

Does anyone else feel like there was a huge turnout of cheaters in today's (or yesterday's depending on your time zone) competition?

Полный текст и комментарии »

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

Автор christopherbitti9, история, 6 месяцев назад, По-английски

I recently began competitive programming at the ripe age of 23. I was wondering if there is anyone else that began around the same age and has found decent success. By decent success I'm thinking candidate master or better.

Would love to hear some inspirational stories of people who managed it!

Полный текст и комментарии »

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