allllekssssa's blog

By allllekssssa, 9 years ago, In English

Hello CF community!

This blog is my way to draw attention and perhaps start an initiative to solve one big problem on Codeforces.

Before every only div 2 round,CF get hundreds of 'new ingenious users' , and they done all problems, have around 5-6 hacks per round and become candidate masters.That means no opportunity for regular div 2 competitors to jump with rating and feel how to be a winner.Maybe this is unsolved problem , but if we try together to stop this , I belive that we will achieve ceratin results.

Now I will write some of my suggestions , I'd love to read your :)

First:

Div 1 competitions are rarely ,but everybody who prepare tasks for only div 2 contest can ask someone with a high rating to help him around the idea of the most difficult problems.This is certainly reduce only div 2 contest.I think that the best users like tourist ,Petr,YuukaKazami... give some advice and help about preparing(Maybe I am wrong ?!).

Second:

Giving price for best 2-3 users in unofficial standings.For Codeforces it wouldn't be a lot of money and number of 'new ingenious users' probably reduce.

Third:

Don't write winners on blog for competiton.A lot of people imagine to be found on it and and don't choose the assets to do so.

Fourth:

Having separated rating graph for div 1 and div 2 contest.How would that work exactly I don't know,but for official competitors it could work as so far , and for div 1 competitors it could be calculated as for big competitions when we have one round for all members.

Fifth:

Change time for div 1 contests.In the previous period I done a small number of div 1 contests.A lot of round was held in unusual time of some working day ( for example tommorow is Monday and in 10 am we have contest ?! ). It's easy to change and fewer people would be hungry for rated contest.

I think that all these things are possible to do , some may have been wrong I love to see your opinion.

Also it would be nice to see suggestion of some important CF guy like MikeMirzayanov and Zlobober...

Thanks for reading and if we are persistent we will surely succeed improve our Codeforces :)

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

»
9 years ago, # |
  Vote: I like it +79 Vote: I do not like it

I hope one day every Div2 round goes along with a Div1 round.

  • »
    »
    9 years ago, # ^ |
    Rev. 2   Vote: I like it +14 Vote: I do not like it

    It sounds better if we use words of Martin Luther King:
    I have a dream that one day Codeforces rounds will pass without lags and delays.
    I have a dream that one day even guys with 10 accounts understand there misbehavior and don't ever use another 9.
    I have a dream today!

»
9 years ago, # |
Rev. 3   Vote: I like it -27 Vote: I do not like it

My opinion:

  1. Every new registered user must wait, let's say 7 days before he can participate in first contest. That should reduce huge amount of unrated accounts in Div2 contests.
  2. Please, make difference in problems and estimate their difficulty. (2 easy and 3 unsolvable problems for most Div2 participants where fast coding is the most important thing isn't good in my opinion).
  3. (suggestion) Why is there no activity penalty? All of these ,,one-contest-CM'' accounts should be deleted after some time of their inactivity. That would keep balance for entering Div1.
  • »
    »
    9 years ago, # ^ |
    Rev. 2   Vote: I like it +41 Vote: I do not like it

    I disagree with all of your ideas.

    1. Your first idea prevents Codeforces from welcoming new comers. It is really annoying.

    2. I think that such difference has appeared in every contests already. Maybe I haven't understood your idea well.

    3. Your last idea does not help anything. In my honest opinion, your last idea is very useless. It doesn't prevent Div 1 users from creating new account.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I agree with second thing.Many contest aren't ' balanced ' .The first three problems are very easy , after that for 95 % div 2 users D and E task are unsolvable.

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

    And also, 1: the users can just register few accounts for the future, which would solve this issue for div. 1 users.

  • »
    »
    9 years ago, # ^ |
    Rev. 2   Vote: I like it -11 Vote: I do not like it

    Your ideas are not too bad, we can adjust a little to make it right! Here come my opinion:

    1. Instead of wait 7 days, they have to get accepted in at least 1 problemset (or more) to register a contest ( there is no point in participating a contest when you cant get accepted in any problem), it will significantly reduce fake accounts.

    2. These problems' difficulty are visibly different, may be there 2 easy and 3 unsolvable problems for most Div2 participants because if they constantly solve C and D problems, they will become Div1 participants.

    3. If those accounts are inactive, why should we delete them?

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it
      1. It wont be hard for a Div1 user to copy some solutions from his main account to be able to participate.
      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it -8 Vote: I do not like it

        Of course, even new codeforcers can copy code to submit. This rule will not TOTALLY remove fake accounts but significantly reduce it ( it will be annoying when you need to do something that take time and not interesting). Fake accounts still appear but i think normal coder will not create as many accounts as they did

»
9 years ago, # |
  Vote: I like it -6 Vote: I do not like it

I think a good step would be ban users who have multiple accounts from the same IP.

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

    Especially if several people share one computer / network with small IP range, right?

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

    This can't be done, as lots of organizations have shared networks.

    My whole university has only a few IP addresses

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

In the last div2 round, there were just 47 new users in the top 300, so they don't affect div1 advancements nearly as much as you think. Fake new users are a problem, but they don't affect rating increases nearly as much as they affect the winners' list.

You don't understand why there are more div2 rounds: in each div1 round, people drop from div1 to div2, and if there are many new users, you need more div2 rounds to let them go to div1. More div1 rounds aren't a solution to the problem you mention, they only make it worse.

>Don't write winners on blog for competiton.A lot of people imagine to be found on it and and don't choose the assets to do so.

I don't think a lot of people expect to be in top 5. And I really don't understand what you mean by the assets thing.

I don't see what's bad about having contests at 10PM. Did you by any chance mean 10AM? :D

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

    If you recall the blog post of a red user admitting creating div 2 account, you'll see one of his reasons was to be in top 5. I expect a lot of others to think the same.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Hmm, maybe. Still, I don't think not mentioning winners in announcements would affect it much.

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

      The only thing I don't get here is what's the point of having some name in top 5 if that's not YOUR name? You can't share you victory with the community, maybe only mention it to your girlfriend ("hey, I've beaten the Div. 2, how cool am I?"). Anyway, I'd prefer to see myself in the standings among the red coders (even with no rating update) rather than fighting with Div.2 and anonymous Div.1 users "officially".

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

        My girlfriend is easily bored when talking to how well I perform in contests (even though she competes sometimes) :)).

        Without fully understanding of people motives, I don't think we can be sure whether being in top 5 was reason for fake accounts or not:

        • I can recognize some real names in fake accounts.
        • Maybe just self-satisfaction is enough (no need for mentioning to anyone).
        • Some people may never win at anything, and here they have a chance to take back their confidence.
        • »
          »
          »
          »
          »
          9 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          I think the motive is to have some fun hacking around and solving easier problems.

  • »
    »
    9 years ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    My fault about time :)

    I have bigger mistake , luckily you didn't see it :D

    47 new users in top 300,whether it is a small ?

    About more div 1 + div 2 rounds we have different opinion , I don't see how it make things worse..Than we will have more people with regular rating in div 2 and normally that mean smaller number of new accounts.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      No, that will mean as many new accounts in div2 only contests, many many many people in div2 and not so many people in div1.

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

Giving price for best 2-3 users in unofficial standings.For Codeforces it wouldn't be a lot of money and number of 'new ingenious users' probably reduce.

That's probably the worst suggestion here. Due to many reasons:

  1. You're proposing to actually REWARD those who are cheating.

  2. You're motivating them to create MORE accounts (with two accounts sending the similar code they can win more).

  3. You're trying to spend somebody's money, not yours. CF has to run a campaign to increase the salary paid to the problem setters and you're proposing to give away money to Div.1 contestants who go to Div.2 because they can win there? You should prepare a round to understand how much time you need to spend preparing the round comparing to 2 hours which you need to solve them.

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

    You're proposing to actually REWARD those who are cheating.

    No, he means reward for unofficial participants — those, who appear only after you check 'show unofficial'. Therefore, there is no point in hiding one's name and creating new account — because you can just go for reward from your 'main'.

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

      Those who are not cheating are there already, you can see a lot of people in unofficial standings. Topic starter is proposing to give money especially to get attention of those who use fake accounts, so that's kind of a reward for cheaters.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I give some suggestions , I don't say iy is correct :D

    The prices need not be a large.15 dollars for 3 prices aren't a lot.About similar codes,I say that only div 1 users can get a price,if we can't check codes of first 3 users than ok , and also codeforces disqualify people with the same codes.

    My friend and I prepare one div 2 round, and spent a lot of time.I hope that will be organized soon ( we sent problems with solutions 2 months ago).

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Do you take shipping costs into account? Do you realise such rewards would often take months to arrive? And why should CF staff dedicate non-zero time, effort and money on an extremely roundabout way to approach the cheater problem, anyway?

      If it's so simple, then you do it. Make a kickstarter campaign, get money from people who'd like this to happen and do it.

»
9 years ago, # |
  Vote: I like it +51 Vote: I do not like it

To me this doesn't really seem to HAVE a good solution — but maybe requiring that a user's first contest be a contest that has both divisions could help? Then there would be less reason to make such an account, as everyone in div 1 would probably much rather compete in div 1 (and then wouldn't make an account just to compete in div 2).

Of course, that also makes it less inviting to new users, so perhaps there are better solutions...

»
9 years ago, # |
  Vote: I like it +47 Vote: I do not like it

How about the following solution?

  1. New users are unrated until they take part in a certain (small) number of contests. This number may be 3, 5 or even 1.
  2. Unrated users can only take part in Div2 contests, unofficially.
  3. Once they took part in a certain number of contests, their rating is calculated based on their results and they are placed in either Div1 or Div2.
  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Ratings don't work this way — if you recalculate the ratings after 1/3/5 contests for one user, you have to recalculate the ratings for the whole division.

    • »
      »
      »
      9 years ago, # ^ |
      Rev. 2   Vote: I like it 0 Vote: I do not like it

      No you don't. Right now when a new user takes part in a contest, his initial rating is considered to be equal to some fixed value. In my proposition his initial rating will depend on his result in qualifying rounds. That's the only change in rating calculations.

»
9 years ago, # |
  Vote: I like it +5 Vote: I do not like it

Can we have a rating criteria such that both div1 and div2 coders are rated in a "combined" contest. I can understand the unrated contest feeling. I do better in these div2 only rounds and continue with the same rating for weeks and after that one div1 round comes and one mistake and I again comeback to div2 then again I have to climb up similarly. So if the contests are rated for everyone, div 1 users can compete for fast(read very fast) coding and div2 users will try as usual. Is there any big drawback I am missing or the idea should be conveyed to CF admins?

  • »
    »
    9 years ago, # ^ |
    Rev. 2   Vote: I like it +1 Vote: I do not like it

    I think that you misunderstand the motivation of fake-account-makers. In my opinion, most div1 users who take part in div2 rounds because they want to compete do it unofficially — competing with other div1 users (even though it's in unofficial part) is much more interesting than competing with div2ers. I think that the users who make fake accounts are the ones that want to win. (also, in some cases they just want to make dreamoon_love_AA not win)

    However, having a separate rating for doing div2 contests when you are a div1 user might still be a cool feature.

»
9 years ago, # |
  Vote: I like it +15 Vote: I do not like it

Lol, first suggestion sounds hilarious. You suggest replcing Div2only rounds with Div1+Div2 (which would be of course very nice), but your reason is not to provide fun for ~1500 people, but to prevent 10 Div1 guys competing in Div2 officialy. It is so incredibly absurd in itself that I think any additional explanation is not needed.

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

    I am from Div 1 and can feel for us for not having a rated contest for long.

»
9 years ago, # |
  Vote: I like it -34 Vote: I do not like it
  1. If you really deserve Div1, you will get there after your first/second contest, no matter if there are 5, 10 or 50 Div1 smurfs. The fact you needed like a year has nothing to do with Div1 users, it's only up to you.
  2. What is that 'potato English' you are trying to use in this post?
  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    >If you really deserve Div1, you will get there after your first/second contest

    >implying people can't take time to learn

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

      That wasn't what he implied. "Deserve div1" in that post means "have a skill level worthy of div1". So he actually said something pretty similar to what you did, he just worded it in a way that makes him sound like a jerk.

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

      Hmh, did I say that someone should become Div1 on his very first contest? No, I meant first time after his skill and knowledge become sufficient for Div1. ffao is completely right, but I really can't see the point of posts like this, absolutely noone is affected by smurfs n stuff, the rating system is totally okay.

  • »
    »
    9 years ago, # ^ |
    Rev. 2   Vote: I like it +9 Vote: I do not like it

    Oh man, certainly I have big problem with English, but your problem is bigger. And yes, fake account doesn't mean that I don't know who are you! (very strange, the same country,the same language and both love programming,but you hate me and I don't know why)

»
9 years ago, # |
  Vote: I like it +10 Vote: I do not like it
»
9 years ago, # |
  Vote: I like it -23 Vote: I do not like it

Idea to have Div2-only contests is pretty outdated. Probably before it served well to the purpose of attracting newcomers to register on the website and compete more often but now Codeforces is already the most popular website for competitive programming so no need in it anymore.

The solution I suggest is to better distribute Div1+Div2 contests. For example, let's take a look at the statistics for last 6 months. Number of rated Div1+Div2 or combined (like Rockethon or Good Bye round) contests starting from September 2014: September — 3, October — 4, November — 2, December — 4, January — 2, February — 3. If one contest from October would be moved to November and one contest from December would be moved to January then we would have pretty uniform schedule and everybody could enjoy enough rated contests in the given month — namely 3. TopCoder has the same number of contests so it's totally fine.

Moreover, one of the reasons to ban Div2-only contests is that they teach newbies to solve easy problems, not the hard ones which is not enough to become a good competitive programmer.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +19 Vote: I do not like it

    You think it would be better to not held a contest at all instead of making a div2 round?

    You can't simply say to div2 problemsetter — now please add few harder problems and make div1+div2 round instead. Some of them will do it, but not all. And also lot of those div2 only problemsets have much lower quality/originality, so they are OK for beginners and div2 rounds, but we should look for something better for div1 contest.

    It is better to have more contests in different time — in such case everyone can pick some of them to participate) With all those div2 only contests — at least div2 users have a lot of contests to choose from (and majority of CF users are from div2). Of course, I would agree to have 6 div1+div2 contests every month instead of div2 only rounds, but seems that div1 rounds aren't held rarely just because we have to make some div2 only rounds sometimes.

    And can you please explain last part (about solving easy problems)? I agree that div2 contests are often easier than div2 parts of div1+div2 rounds, but they are still good for beginners — and after improving and making into div1 they'll have to solve harder problems.

»
9 years ago, # |
  Vote: I like it +10 Vote: I do not like it

I think, the only problem is that the fake accounts hacks the normal accounts. Why we just don't deny hacking for the new users?

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Hack isn't important at all! Actually hacks are useful for programmers, They'll understand that their solution is wrong and try to make it OK (if they didn't lock the problem). Even if fake accounts don't hack anyone, hackable solutions would fail after systest.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it +24 Vote: I do not like it

      And what about real div2 competitors that would've hacked something eventually, but couldn't because of a fake GM in the room?

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

no idea :p

»
9 years ago, # |
  Vote: I like it +10 Vote: I do not like it

What do you think about the idea of eliminating Div2-only contest with the following way?
Div2-only [A B C D E]
=>
Div2 [A B C D E] + Div1 [B C D E]
OR
Div2 [A B C D E] + Div1 [C D E]
The hardest problem in DIV2 round is hard enough for the majority of DIV1 users.
If some GM/IGM has no interest to participate because of DIV1-D/E absence, it's up to him. But the majority of DIV1 still will enjoy the "reduced DIV1 round".
Probably, it can decrease the disgusting FAKE-DIV2-TOPs count.

»
9 years ago, # |
  Vote: I like it +20 Vote: I do not like it

Man, fake accounts in Div2 is the least important problem CF faces, don't try to change something that works fine to deal with that.

I don't think that there is a really huge amount of people doing this and fact that some guy from Div2 earns five pts of rating less is not that big issue to adjust organization of contests or make major changes in Codeforces' software. Assume that Div1 cutoff will be 1800 instead of 1700 and there are no fake accounts participating. I suppose that it will be harder for current Div2 people to get decent positions in contests, but that will be fair, won't it? Cutoff of 1700 is somehow artificial and so are decent positions there. I don't see any particular reason why people with skills at level ~1650 can have nonzero probability of winning their Div contest while people with skills ~1900 or ~1300 don't. Implying, it is not a reason to be very proud of that one won with people from Div2, but it is a reason to be very proud of that one won with problems which were challenging for him. One can always compare himself to all people which are worse than him and he is always the best among them, but is that a reason to be happy? Reason to be happy is improving own skills and eventually fighting with all people, not a conveniently chosen subset.

»
9 years ago, # |
  Vote: I like it +5 Vote: I do not like it

I'm not agree as if you div 2 D/E = div 1 B/C are hard enough for majority of div 1 contestants. So if somebody solves a all problems in div. 2 (or D or E) then he deserves to become candidate master.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Let's take a look to Codeforces Round 295 (Div. 2) winner:
    If he was in DIV1, he solved
    DIV1A in 00:33(+) and DIV1C in 01:57(+1),
    and got
    500 — 33*2 + 1500 — 117*6 — 50 = 1182 And what place could he take in Codeforces Round 295 (Div. 1) with this score?
    Place #177, the place among reds and oranges.
    It's obvious, that DIV2 problems (DIV1 A-C) are hard enough for the majority of DIV1.