piaoyun's blog

By piaoyun, history, 3 days ago, In English

It is the running Round 1094 Div 1 + Div 2 actually.

Every two weeks, I will be sitting in front of my pc and humiliated for three straight hours. I love post-GPT CP so much.

Full text and comments »

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

By piaoyun, history, 7 months ago, In English

Guys, I’ve been trying to come up with a solution that could partially mitigate the impact of GPT cheating. It’s obvious that right now there’s a serious imbalance between the cost of cheating and the cost of anti-cheating measures, and this cannot last forever. My proposal focuses on:

Increasing the cost of cheating.

Increasing the benefits of anti-cheating.

Reducing the impact of cheating.

Before diving in, let me briefly introduce the two major models in the blockchain world: POW and POS. POW was introduced by Bitcoin, relying on something like “computational power voting” to determine the validity of transactions. This requires maintaining more than 51% of the computational power on the side of the honest participants, which comes at a huge cost. POS, on the other hand, introduces validator nodes, each of which must stake a significant amount of tokens. If they are caught producing malicious or false information, their stake is slashed. This makes the cost of malicious actions much higher. At the same time, these stakers need rewards, so POS currencies tend to inflate and distribute newly minted tokens to validators.

Now, let’s propose a Codeforces Token. Player accounts can voluntarily stake a small amount of tokens (say, $10) to enter a “staked” state. We can treat staked players as competing in rated contests. If they are caught cheating, part of their staked tokens will be slashed. Unstaked players can still participate, but they will only get a Virtual Rating. This rating is calculated based on the results of staked players and only affects their virtual rating changes. The results of unstaked players will not affect the ratings of staked players.

This way, we can essentially ignore anti-cheating checks for unstaked players (who are often just mass-created accounts), because they don’t affect fairness. At the same time, we don’t restrict anyone’s right to participate in contests. Additionally, special Codeforces platform rewards (such as CodeTON, 20xx is NEAR, etc.) would only be distributed to staked users.

A user might choose to purchase tokens and stake them for the following reasons:

They want their rating to be officially backed by Codeforces.

They want to support the Codeforces platform.

They want to earn contest rewards.

Regardless of motivation, when a player decides to retire, they can sell their tokens, bearing only the cost of market price fluctuations. Codeforces could even distribute enough tokens for staking to all accounts registered for at least one year, so no one actually has to pay upfront.

The Codeforces Token could also be inflationary. After each contest, new tokens are minted. Staked players can rate the contest: an upvote will direct the newly minted tokens to the contest organizer, while a downvote will burn them. This incentivizes organizers to hold better contests.

What do you think? I truly believe in this idea. If such a token really existed, I personally would buy $1000.

Full text and comments »

  • Vote: I like it
  • -42
  • Vote: I do not like it

By piaoyun, history, 19 months ago, In English

I must say that I have no ideas about the details how OpenAI tested o1 model in IOI and Codeforces contests. This framework may not work or they have tried it.

Here are some facts:

  1. o1 performs relatively poor in IOI with 50 tries each.

  2. o1 achieves IOI Gold Medal with 10000 tries each.

  3. o1 only achieves 1600+ rating (far from IOI Gold Medal) on Codeforces.

  4. According to the survey by community (https://mirror.codeforces.com/blog/entry/133887), o1 can solve very hard problem (2700) but also fail some very easy problems (800)

  5. Codeforces's rule prohibit o1 from having too many tries.

4 and 5 may be the reason why o1 only achieve 1600 on Codeforces. The difference between IOI Gold and 1600 is, that IOI rules provide a no-cost validation so its final score is max(for each try).

I believe, OpenAI didn't pay much attention to how to conquer the submission limitation of Codeforces. They may also independently generate 50 or 10000 codes. Thus the potential of AI cheating is suppressed and can soon threat to higher rating players.

The point is, is there a way to validate each piece of code without submitting it? YE5.

Any well-trained CPers / OIers may easily come up with their practice in some contests where participants can only submit once. They write a pretest generator, a true but slow brute-force solution and their final solution. Keep comparing the results of both until after a bunch of tests there is a difference or not.

Brute-force is always easier to write, some extremely slow brute-force like exponential algorithms can hardly be wrong. Solving problems iteratively is the common experience of us.

So the simple framework works like this:

  1. generate and validate an exponential solution can pass all given pretests.

  2. generate larger pretest and use the exponential solution to validate newly generated n^2 solution.

...

  1. generate total scale pretest and use previous fast solution to validate final solution.

  2. submit

If it's stuck at step 2 for a long time. The exponential solution is wrong, generate a new one and ask for more human-made pretests. The validation process may consume much time and should be accelerated with multi-threads strategy. Also next stage solutions and be generated and validated parallel.

Full text and comments »

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

By piaoyun, history, 3 years ago, In English

I don't mean setting a rating limit like only pupil or higher people can post a blog or send talk . That's discrimination.

But asking who writes comments to participate in at least one Codeforces contest is proper , even they get WA on A and don't pass any problem.

I'm just sad to see many spams and disrespectful comments due to many causes. People want to make spoofs but don't want to get downvoted, so they create another account. Most of them are children under 14. I hope this can help to increase the time cost of it.

No kid would create an account ,wait for another contest, just to look funny in public , I think.

Full text and comments »

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