Hello Codeforces!
We are glad to invite you to our Codeforces Round Codeforces Round 810 (Div. 1) and Codeforces Round 810 (Div. 2) which will be held on Jul/24/2022 17:35 (Moscow time). This round will be rated for participants of both divisions. Participants in each division will be offered 5 problems and 2 hours to solve them. The two divisions will share 3 problems.
The problems are prepared by me and zxyoi. We hope that everyone will enjoy this round!
We are sincerely thankful for the help provided by:
dario2994 for his marvelous coordination of this round,
wyyxhjth for providing feedback on our early ideas,
flukehn,FairyWinx,Pinkyhead,Vladithur,naman1601,dorijanlendvaj,c337134154,STommydx,LeoRiether,hxu10,Warriors_fsy,idxcalcal,jiaangk_,yakamoto,kiwiHM,Joyemang,forxen for testing our round and giving detailed feedback,
FairyWinx for finding that one of our problems is coincident with a well-known problem (We replaced it),
Vladithur for polishing our statements,
KAN for his great help to our round,
MikeMirzayanov for the amazing Codeforces and Polygon platforms!
We tried our best to have detailed, clear, and short statements. I think that anyone can find some interesting problems in this contest. We suggest to read all the statements.
The score distribution will be announced later.
Wish you good luck and high rating!
UPD
For some reason, we have removed one of our problems. So now participants in each division will be offered 5 problems and 2 hours to solve them.
The score distribution is:
Div2: $$$500-1000-1500-2000-3000$$$
Div1: $$$500-1000-1750-2000-2750$$$
We have some more testers now, let's thank them!
UPD2
We adjusted our score distribution slightly.
UPD3: the Div. 1 part of the round is declared unrated.
UPD4
Sorry for the late editorial.
UPD5
Congratulate to winners:
Div1
Div2
Auto comment: topic has been updated by Rhodoks (previous revision, new revision, compare).
Have a look here before downvoting this blog. I don't think Rhodoks has anything to do with whatever happened with div1 E.
I don't suppose you can differentiate it. Maybe Rhodoks deserves it, maybe he doesn't. That's not the point. The point is the contest is flawed, so it's announce deserves to be down voted.
I think whoever copied the problem already got enough condemnation from codeforces coordinators.
It is sad when someone work with you makes a mistake and drags you down to the water .
A question: Why do contest organizers encourage contestants to read all the statements when a huge part of users can't even have an idea how to solve at least one problem in the contest or even understand it?
The problem is to problem setter what child is to parent. Of course, you are not willing to let some of your children be ignored.
And I am sure you can understand our statements easily :)
Still the vitosevskich's point is valid. For majority of the users reading the hardest problems before solving the easier ones is a bad strategy, and thus majority of the users won't come to the hardest problems.
I guess that «We suggest to read all the statements» may well be replaced with «You don't have to solve the problems in the order they are present in the problemset» (which is only useful for those who is writing their first contest, or for everyone else as a reminder).
So are you a kidnapper?
They were just babysitting the problems! stop blaming them for no reason!
there are also instances where for example D < C generally, but only reading C and getting stuck on it would make your delta way lower than what would've happened if you read D and found it easy, getting AC, and so on
which we have a very clear example recently
It's not only when D<C for everyone. Sometimes, D can be easier than C only for you. For example, I came from an IMO background, so I usually find number theory problems much easier than other problems of the same rating. In particular, in Codeforces Global Round 17, I solved D (number theory) much faster than C, which contributes to my increase in rating.
After solving problems upto my usual comfort level, often I find myself making progress on a problem number that I don't usually solve, but the topic is something I'm strong at compared to others. And whenever I solve it, I feel good that I read that problem.
For eg. if you're very good at geometry than people at your rating (most/all people will likely have such a topic), if you find a geometry problem at E when you can only solve problems till C, then it's a good bet to read all problems.
You should have your answer now XD
Just curious, the number of testers is a bit low? How did you accurately estimate the difficulty value of each problem?
It will increase soon. The testing is in progress and the final score distribution will be decided according to their feedback.
Give contribution please <3
As a loser
Good luck for everyone ❤
Good luck to you too
Changed my mind. Worst round ever
Chinese rounds are always frightening, because of the maths involved.
Can't improve if you shy away from Chinese rounds.
Well, it may not be that many math problems in our round. Just give it a try! :)
the "may not be" is killer xDDD
I also think taking the Chinese round will be a big boost and I feel that good thinking skills in maths are pretty good
w
I think you commented on the wrong blog
I see you're using a macro for "MAX", and you have encountered a well known issue with it. If you expand the macro, you get
meaning you recompute one of the queries, resulting in a TLE, an easy fix would be to use the builtin std::max function. Also next time comment on the appropriate blog :p
Not for nothing I went to math club in 7-th grade
2 hours and 30 minutes... then I have to go to bed later
Wait, when does it turn to 2 hours
They removed one of the problems that's why
Oh thanks, I didn't notice that
are u stupid or something?
He might be new to coding. You don't have to be so rude.
Waiting for tourist Vs jiangly showdown. Will no.1 change in this Chinese round?
I'm also interested but tourist won that round and I think tourist will win this time too.
I'm also interested, I think that the tourist will win
Um_nik also has a chance to become number one after this round, don't forget that.
tourist vs jiangly vs Um_nik
I vote tourist. _____________________________________________________________ and I wish you all great success so that you get more ratings
Very excited!
Don't worry, such a competition becomes too often, and if the rating was taken away from you, then there is something else. You need to believe for the better.
Thank you, but I never said I was worried xD
Give thanks to MikeMirzayanov, for He is good; For His glorious platforms Codeforces and Polygon are everlasting.
so if The two divisions will share 4 problems, can i register for both and solve the common problems and get double rating.
I know this might sounds stupid please don't downvote.
If your rating is below CM you won't even be able to register to a div 1 contest and if your rating is equal or above CM you obviously can't register to div 2 contests given that you are a div 1 contestant.
Edit: Sorry, I think that CM's actually can participate in div 2s, but not when there is a div 1 round going on at the same time.
Auto comment: topic has been updated by Rhodoks (previous revision, new revision, compare).
"We have some more testers now, let's thank them!". Thank you, testers
waiting for your Codeforces Round #1919
My first div1 OuO hope to solve 1 problem :p
Div1A is just a Div2C so I think you can do it easily as you were able to become candidate master. Good luck!
Thank you :)
Now I think I am not lucky.If the round is rated,I will never participate in Chinese rounds if I don't know the author.
Good luck everyone!!!!
Is div1C same as div2E this time? The score looks like it might not.
I don't think so, div2E will probably be div1D
looks more reasonable. So they removed this problem from div2E but kept it as div1C.
Good luck
looking forward to your round
Auto comment: topic has been updated by Rhodoks (previous revision, new revision, compare).
The title description is too bad
What happened to div1 E?
Notorious Coincidence.
oh~MiFaFa, Right
but but……The samples are the same
If jiangly knows problem E like everybody else, it looks like he is going to be the new number one player
Maybe he knows but won't be top1 this way
ToroidalForces
These toroidals made me reread the statement again and again
Sad because if they didn't resort to that terrible formula with mods-that-match-the-extents, I might've stayed with my first/correct read of it. I've worked on stuff with toroidal maps (as an option), it's clear enough to me to simply say that the map/grid wraps around vertically/horizontally/both!
But no... had to wonder why mod was there, so burned time considering possibility of multiple 'neighbors' telescoping out in all 4 directions (because we overwrite common sense with synthetic stuff all the time here!).
It's the same sort of terrible where the setter described rotating an array using mod-of-index... like, it's clear to those who already know what rotating is and are only worried about left/right... but otherwise, weird-pseudocode-in-text-form shouldn't be a substitute for clear/standard definitions.
Don't mind me, just adding a layer of salt to glaze my throne of bricks and clown makeup.
I think it would be easier to understand with mentioning that it is just normal side-neighbours, only with wraparound over borders.
And with labeling neighbours on the picture with "up", "down", "left", "right"
the contribution of this post will be negative.
unratedforces
Great problems!
The topic span is too large. I feel like I'm in prison
Can you please explain the 4th test case in the sample of Div2C? How is the answer yes for that case? I solved B but couldn't even understand this case of problem C.
Other axis, you can use two 2x5 bands.
It's amazing
BruhHHH
Problem B in div.2 is very hard. Actually ,I didn't like this round(MY OPINION)!!
I think the statement was made more complicated than it should have been.
Video Solution for Problem B and Problem C
It is a good problem. The idea is similar to last div4 question in which we think in a manner "what if we terminate at the current point ?"
we can terminate only after removing one odd degree. so following are options
so on.....
I couldn't solve as I constrained myself that I should remove only neighbors of last removed node and complicated things and lost so much time and ended up in runtime error.
Option 2 is redundant. It’s always more optimal to just remove the minimum odd degree so you never want to use operation 2.
Yes Option 3 is reductant. Considering 2 least unhappiness even degree nodes is not benificial than one least unhappiness even degree nodes.
Option 2 of mine is flawed. I constrained myself by deleting only minimum unhapiness even degree node as first node. Actually it can be any even node.
The only two options that need to be considered:
My solution: 165558438
Your solution probably works too, so there are probably many ways to approach this problem.
Assume total degree is odd (otherwise, the answer is trivially 0), there are really only two options:
As for why this works, removing a person with even degree will not change the total degree parity (odd stay odd, even stays even), but it does flip the parity of the deleted person's friends (odd becomes even, even becomes odd). Therefore, in order to make the total degree even, you need to either remove a single initially odd person only, or you first remove an even person in order to remove a friend of theirs who was initially even but now becomes odd. There is no other benefit to removing an even person.
Actually we want total edges to be even according to question If edges are even ==> ans is 0 (trivial case) If edges are odd ==> we need to make it even by deleting vertices.
case 1) so if we remove odd degree node, we removed odd no of edges. since total edges is odd. (odd — odd = even) we are done
case 2) If we remove even degree node V, we remove even no of edges. since total edges is odd (odd -even = odd) we are not yet done since total edges is odd, but neighbor's of deleted even node gets their parity inverted(odd becomes even, even becomes odd).
But there might be improvement to option 1 answer as we have created some new odd degree nodes.` Now you can remove any odd degree node and check if it gives best answer.
There is no need check delete even degree neighbors(after deleting initial even degree we choose) As these are odd degree nodes before deleting the even node V
Because unhappiness of the any even degree node(after deletion of vertex V) connected to vertex 'V' is greater than equal to minimum unhappiness of all odd nodes which is case 1 answer. so there is no point in deleting the even degree(after deletion of vertex V) neighbors. Hence the current even node doesn't give best answer and it is not beneficial.
we do the above process for every even node and this is the best possible answer if we chosen current even vertex as initial vertex
Yeah, basically, there is no benefit to performing case 3 at all. Ultimately, the objective is to remove one odd-degree person.
If an even-degree person X has all of their friends with odd-degree, then there is no benefit to removing X at all. Removing X changes their odd friends to become even, but we're trying to find odd people, not even people.
Here is a different angle that you can look at it:
Let's consider whether the optimal solution involves deleting person i. If person i has odd degree, then removing person i is enough (case 1) and we don't need to get rid of any more people.
But if person i has even degree, then removing person i isn't enough. We need to delete a friend of person i as well, so that person i becomes odd degree. If we delete a friend j with even degree, then delete i and j is enough (case 2). If, instead, we consider deleting a friend j with odd degree, then deleting j alone is enough (and is already covered by case 1), and it's better to delete j alone than to delete both i and j (and maybe even others). So cases 1 and 2 are all we need to consider.
Meanwhile Carrot:
I strongly dislike this round.
B is a graph problem and unsuitably hard. I think it is because they deleted the original problem B and can't come up with a new one.
Unsuitable difficulty. Div.2 D is harder than Div.2 E while Div.1 D is way harder than Div.1 E.
Coincidence. Div.1 E coincides with a well-known problem, which is totally unfair and unexpectable.
I actually hoped that this round will help change the image of Chinese rounds in the community, but in fact, I am wrong.
As a tester (and first time tester), I agree that div1B/div2D is harder than usual, but I think it's a good problem. I solved div1B/div2D in about 80 minutes, and only 3 of the 13 testers (mostly red and orange testers) solved div1B/div2D in the virtual contest. I advised the problem setter add the 4th example of problem D, to give users more hints. (originally it has only first three examples and time limit is 3s). We also increase the time limit of div2B to make it more friendly to python user.
UPD: I apologize the problem 1E (I thought this problem is far beyond my ability so I didn't make any suggestions about this problem, I should have googled it). It's OK to complain and down vote this contest, even my comments, but please don't say something bad to the Rhodoks himself. He is a very nice person and take our testers suggestions very seriously, and he didn't mean to make a bad contest (he is not the author of 1E). It's just a mistake.
But what about the coincidence of problem E and the unsuitable difficulty of B? Like, now Div.1 D have only several solves while E have almost the same of C. What's the explantation?
We apologize for the problem 1E. None of us solved 1E in the virtual test. I thought this problem was far beyond my ability so I didn't make any suggestions about this. Next time as a tester, I should search each problem by google, even if I am not able to solve this problem.
The problem setter Rhodoks is a very nice person. We made many advices and he took our advices very seriously, we even remove one problem because one of our testers find this problem not "original". I should have suggested him to add one easy problem to make the contest more balanced.
I think he wants to make the contest better, not make a bad contest deliberately. We tested this round too late to make adjustments. (like create a new problem) It's pretty sad that he received so many downvotes (even if the notorious div1E is not written by him). My suggestion is that do not down vote his solution post or say something bad to the person himself, it's unfair to him.
But why do you talk about problems here? The contest is running now anyway.
I'm not talking about the solutions, just the problems themselves and stating some facts.
Well, is stating some facts allowed? I think it isn't.
B isn't a graph problem. Simple maths knowledge (about sum of even/odd numbers) can be used to solve the problem.
E for easy, D for difficult I guess.
B is not a graph problem I guess. Hopefully my solution is right and I don't get FST :\
Questions about problems
156039 KroosTheKeenGlint
2022-07-24 18:54:49 Problem E. Two Arrays
(Question)
So should I copy a solution from the comment and paste to solve this problem?
Is it really fair?
(Offical Answer)
Yes
156036 KroosTheKeenGlint
2022-07-24 18:53:22 Problem E. Two Arrays
(Question)
What happened with this problem? I see this is coincidence with some other problems.
Is this contest unrated?
(Offical Answer)
The contest is rated.
where did you find the solution?
see comments above.
this blog will get negative delta contribution after the contest , another unbalanced round -_-
Unbalancedforces
SaikeForces
I participated in Div.2. The difficulty gap between Problem A and Problem B is too large. Also, Problem D and E are a difficult problem for most people to solve. The problems are good, but the problemset is disappointing :(
Why big coordinates in 2D/1B ? It only makes the problem (way) more painful, and I'd rather go kill myself than writing it.
Large coordinates prevent you from writing value-based complexity solutions
Do not discuss such things during the round...
Why did problem E exist before??
What will the authors do regarding this??
Should I copy the code of the problem???
A comment above me asked the authors in clarifications (probably) about this problem, they told him he can copy the code to solve this problem, how is this fair??? and even if it is legal, what about plagiarism check???
Yes, in clarification.
F**k U.Really shiiiiit round!!!UNRATED!!!!!!!!
fku, it should unrated.
Unbalanced Unbalancedforces
...
Please make this round unrated. Problem E is absolutely unfair.
Second.
Always choose justice even when compared to great positive delta!
Is it available to copy on some secret Chinese server? :) I participated in that OpenCup and managed to remember/find the problem and then the editorial, but it still would take some time to implement.
actually, from a blog
A blog open to public.
Someone post the link in the comment during the contest for a long time, so many people may see it, but it is deleted now.
Yes, I copied the code from a Chinese online judge. And I believe many people did so.
Is it possible to just make Div 1 unrated (as problem D1E was publicly available), but keeping Div 2 still rated ?
As for Div 2, the problems were fine, though not balanced.
Why not unrated?
Guys, you discuss the round too much when it is not even finished
Though I take my words back, apparently div1 has real problems /:
Petition to make this contest unrated
https://www.change.org/ to rescue.
Unratedforces
Please make this round unrated
Everyone is posting spoilers, and nobody's taking actions for them?
It's very unfair if this gets rated, since just looking at the comments will give you a great hint to solving the problem.
It's acceptable if the same problem already exists, it happens. I can understand that.
But why do people post that fact here? If you know the problem/solution, just get advantage of it. It's obviously against rules to post them before the round ends.
Serious actions should have been done to delete them as soon as possible, but why did the organizers just leave them be?
EDIT: Okay, the problem is even copied, what a shame.
Really bad round, D and E are absolutely unsolvable for div2 level. It's obvious by the amount of the submissions, 3000 for C and only 50 for D
negative delta :(
Can't wait to see negative votes on this post!
It seems that since several seconds after the contest, the votes have been negative and kept decreasing.lmao.
Please ban whoever decided it's nice idea to link to the problem before the round has ended.
If this round is rated, then God really eats shit.
Didn't you do good?
What's the relation between God and this round ? :|
有原题
Comments in English, please.
I participated in Div.2. There is a dramatical difficulty difference in Div.2 between A/B/C and D/E which made this contest a semi type race. The ranks of people solving three problems are from 60 to 2500 currently so there's the differences between participants are not represented well.
fk this round
Div1 China-sided round
Managed to solve D2D @ hope no one bothered to make anti-python-hash-hacks xD
When the hardest problem is a well-known problem in China:
Because many school in China have used this problem for practice.
So it is well-known.
The 10-th man even wrote a blog for that.
You could see via this link
It is under the G.game, you could click the second block under it and see the code.
I've got the info just now.
Two big mock contest have used this problem, and at least 150 people in China have participate in these two contest.
Chinese reminder theorem.
bruh, D is sqrt decomposition. just no time left to write it
My solution is not sqrt . In fact I'm not sure if it is solvable with sqrt. Large constraints on coordinates seemingly prevent it
oh yea, i should read limits with more attention. sqrt is not going to work (
Could you describe your idea if you think it still holds for small coordinates. Just curious, cannot come up with it even for small ones.
So, if a contestant is reading the comments and thinks this contest will be unrated, so he or she gives up solving the problems (especially for the countries that the time is not usual and they probably need a sleep), and that causes the negative rating change, is it fair???
Well, I'm talking about me myself, but I have also learnt about someone else just like me, including both Div.1 contestants and Div.2 contestants.
哈哈,原题场,down vote!
Since many participants may copy E from the Internet, I don't think it fair and rational to make this div.1 round rated.(Though I get +30 to +40)
Problem E got got 0 solves in the opencup and Suddenly it got 171 AC in the contest.Morever this was informed in the comments as well multiple times.The contest just became finding the right code online in time and should be unrated.
Even Sample are Same?
Please make this round unrated or I will eat shit.
What the fuck?
jls, QAQ ,jls!
Okay, I corrected my E 1 minute after the contest, and 171 people solved it?
人都傻了 直接 woc 171people solved
jls,QAQ
can can need
wochao xuangou
haoduoyinliugou
cancanneed
wochao die
han jin liang yue shao,han jin liang yue duo!
long ge jiu shi long!
China round, (****)!
+
This post will get more negative rating than my negative delta today. B statement was weird. C was more like "You know then ok" Idk if it actually is a good problem. Couldn't solve C this time. :( IDK if it's me or this contest was not as good as usual contests.
Unrate this round
rnm, 退钱!
fxxk, refund!
退钱退钱!!!推rating!!!
The author of this contest only know copy?
me: Annoying so many 114514 ... => Oh, D1C is amazing, I love it! => WTF D1E, why more than 100AC???
lmao what the fuck
jls is going to be angry for 1E.
Fun fact: E's Sample and the Format is the same as a "similar" Problem.
Similar Pro:
E:
Mother of coincidence!!! xD
ko_osaga solved it 8 months ago lol
BIG difficulty gap between D1A & D1B
and FUCK D1E
Ah, a man of culture I see (prof pic)
EDIT: No longer xD
Nothing else but shit.
Unrated, plz.
OK, I know that Div1E is well known and I was implementing it with the help of the editorial, but I couldn't find the code online. How does it come that 171 people solved it? I wouldn't expect that many even if the statement directly said "It's problem G from GP of Bytedance 2019"
https://www.cnblogs.com/Flying2018/p/acmicpc2874.html
Chinese :)
The post was published while contest is in progress??
But aren't you the problemsetter/idea provider of the original problem?
No, problemset is authored by MSU Red Panda
Oh, I see.
If so, why he asked how to solve it in the comment?
Didn't think of that xD
Edited during the contest most probably
Opinion: I don't think that the round must be unrated. I would certainly prefer it to be unrated for selfish reasons, and I was angry that E is copy-able or at least googlable and even left the round midway. But I don't think that having a well-known problem is enough to make a round unrated.
Also I don't understand why did people post the link to the old problem in the comments during the round, it feels like a deliberate attempt to make the round unrated.
Facing a well-known problem and knowing it is really well-known and finding that many cheaters are copying the code can make me annoyed during the contest and get a bad performance.
Well, I personally think it should be unrated in the case that the problem was intentionally copied from the other source.
How do you prove that a problem was intentionally copied?
That's a bit hard, but can you explain these comments? https://codeforces.net/blog/entry/105214?#comment-935685
EDIT: update https://codeforces.net/blog/entry/105221
The person is having a mental breakdown because the whole community is very angry at them. They are really sorry that the problem was well-known and that their co-author got heavily downvoted. Also I don't know Chinese traditions for apologizing, it might be just a custom to be self-deprecating in such a situation.
I can understand the reason: they just misunderstood that the round had already been completely ruined (but actually it hadn't until the link was posted). Of course "deliberate attempt to make the round unrated" might be another reason.
It made the situation even worse that during the contest people posted comments in the article https://codeforces.net/blog/entry/65510 so it appeared in Recent actions. Contestants who try to look for the problem using Codeforces could accidentally notice it.
IMHO the situation is similar to the case where malicious people would have done DDoS or whatever to ruin the contest. People who gave information about the problem need to be punished to some extent, and some people (including me) insist the round should be unrated.
1C= https://blog.csdn.net/qq_35577488/article/details/117813076
That's might not just a coincidence ~
Serious?
Ggs, gonna lose about 10000000 points
thanks for the fast Tutorial on problem E
I see a lot of solutions for it in comments when it's still running ... xD
Trash round and unrate it please.
These problems were way too hard, I underperformed by a long shot.
This is the worst Round I have ever participated in.
The contest should be unrated because Div1.E is an old problem and can be found by https://www.acmicpc.net/problem/23679.
The tutorial was public on China before finishing the contest. https://www.cnblogs.com/Flying2018/p/acmicpc2874.html
Well, it is probably a reason for making div1 unrated (though they could just skip copy-solutions). But it should not affect div2
Over 100 contestants passed problem E, so this contest must be unrated.
I suggest to ban the discussion of original problems during the contest. With this rule ,contests like this will probably still be rated, because only few people know the original problem, and the result can show the skills of contestants.
This contest was very good, my family and I hope you don't play again in the forever!
Is Div2 unrated?
Why would it be?
Because Div1 must be unrated,i don't know what will happen on Div2
It would be stupid to unrate div2 because of problems that concern only div1
You have a great result today, would be unnice to unrate it :/ You might get nicer color.
Yeah, if I'm not hacked and the round is rated, I could get back to violet for the first time in years.
Hacks is a separate story. Since I solved D in python and there is no std::map in python, it can be hacked with some antihash. Knew about it during the round but didn't bother to protect. I just hope that hackers didn't bother about it either
I wanted to write normal round and became CM. And what is it? Speedforces and Div 1E is not new tasks. I hate this round.
Div. 1 E is a total failure. Participating above my average level and then seeing everyone just copying the solution of the hardest problem in the contest from some Chinese server (and thus beating me) completely ruined my day. The round indeed must be unrated. The testing/coordination of the round is done poorly, such coincidences must not happen, it's an abominable situation.
In China,SaiKr Round 2 (Div. 1 + Div. 2, Rated)
There should be atleast one strong Chinese tester in each round.
very balanced div2 lmao
I don't know why this happened, I was in jail for an hour, what a fuck!!!
You can see a bunch of Chinese at the top of div1。funny wow!!!f**k unratedforce
https://blog.csdn.net/qq_35577488/article/details/117813076
Problem 1C also can be found on the internet.
This Blog is published on 2021.8.20,with the problem statements and code.
Well, The restriction differs but doesn't matter
Trash round. I think nearly 90% of people who pass div1. E are looking at the solution. The examples are the same! So trash.
More precisely,99%.
Div 2B looked like a graph problem, not being good at graph found some way to solve it without graphs, passed pretest might fail main test. Wish i had gone for c first, overall i feel this contest was really tough
I'm not expecting this result since you've already removed one problem. :(
PLZ make this round unrated.
By the way, the previous problems (1A, 1B) seems to be good, but problem.E really broke our contest experience.
1B was good? seriously?
Maybe it's a little harder than normal, but since this round is a 5-problem round, I believe that it's at least acceptable.
If the round didn't get unrated then atleast delete problem E from calculations of score, Its unfair for a well-known problem to exist as a new problem!
Just wanna throw in, seeing so many people solve div1E (more than div1B) made me invest all my time in E instead of B. Removing E from calculations won't give this time back and I guess others did so too. Just wanted to point this out.
Either way I agree, I think this round should be unrated [or at least E should be taken out].
I hate this round
Imagine running plagiarism checker on tens of thousands of submissions for hours, when the real plagiarist turns out to be the problemsetter :(
This is the best round I have ever seen, I can hardly imagine a round with a perfect balance and difficulty, the level of the authors is quite high, all levels of coders were able to get a perfect round, I felt physically and mentally happy when I played this game.
The questions in this cf were very interesting and I learned very many meaningful tricks from them, the difficulty slope was very reasonable, the sample coverage was very wide, and I even got a pass on the sample that only made the code pass.
What I admire about the author is that he has the courage to submit this kind of contest for review. If I had come up with such a topic, I would have been ashamed, but the author is open and honest, a real gentleman, he is the best courageous person I have ever met, bar none.
When I clicked on the leaderboard of the contest, I even wondered if I had clicked on the rating list. other low quality contests had purple and grey in the leaderboard, but in this contest, purple, blue, cyan and green were clearly defined, which made me admire the author from the bottom of my heart.
Finally, I wish the problem setter a long life, a happy family, good health and a speedy recovery from the loss of his mother.
by sora1336 https://codeforces.net/blog/entry/93538?#comment-827037
You should not say anything, about someone's mother, RESPECT EVERYONE
o-o I don't think I've ever seen a contest get downvoted so quickly.
CN Round qwq
Div2B, I actually do not get it. Looking at the codes it seems simple, but I do not understand why they work. What observation do I miss?
if number of pairs is even u can call everyone right? if it is odd u will have to remove 1 pair, so it becomes a greedy as for each pair we check whether to not call first one,second one or not call both.sorry for my bad english.
Why does removing 1 or 2 persons garantee that the remaining number of pairs is even?
If the person appears odd number of times, then it is obvious why it works
Now what if there are no such people. It means that if you take a pair, both participants appears in pairs even number of times (but one of them is shared!) so that means that if you remove both, you will remove odd number of pairs
Thanks
If a person has an odd number of friendships, then removing that person removes an odd number of cakes. Therefore, if we started with an odd number of cakes, we now have an even number of cakes.
If you remove a person with an even number of friendships, you will still remain with the same parity of cakes HOWEVER each friend that had an even number of friendships will now have an odd number of friendships for which you still have cakes to make. And then you're back to the first case (one person with an odd number of friendships).
There is no other potential optimal move if the initial number m is odd. If you were to remove one that is initially even and then remove one that was already odd before the removal of the first one, then why did you not remove the odd one and leave it at that? Makes no sense either to remove two that don't have a friendship and are both even-friended.
really appreciate!
Why can't it ever be the case that we remove 3 people?
Because you can always either just remove 1 of those 3 people(if there is one with odd degree) or 2 of those 3 people(if all have even degree and there is an edge between those 2), otherwise you wouldn't be able to remove those 3 people, and removing only some of the 3 people is obviously better than removing all 3.
If M is even, you don't need to delete any node. Else, you either delete a single node having odd degree or 2 nodes having even degree which are neighbours.. Can you explain for Div2c?
If edges count is even, answer is 0. Otherwise, if the optimal solution has an uninvited person with odd adjacency count, it is enough to not invite that person alone. While if all the uninvited persons in a solution have even adjacency count, then at least 2 of them must be adjacent because otherwise the deleted edges count would have been still odd, so it is enough to not invite such 2 persons alone. So the is answer is minimum(minimum unhappiness of a person with odd adjacency count, minimum unhappiness sum of 2 adjacent persons with even adjacency counts).
Hey!
If m is even, the answer is 0, because we can invite everyone and we will have an even number of eaten cakes.
If m is odd, then let's try to invite everyone except some guys. We have two options:
Option 1. Skip one guy:
Let's take a look at the number of friends that each club member has. If we decide to not invite someone who has an odd number of friends, then we can try to not invite him and get an even number of eaten cakes.
Option 2. Skip two guys:
Here we want to remove 2 guys in such a way that after removal there will last an even number of friends invited. Let's consider two friends, such that both of them have an even number of friends. Because both of them have each other as a friend, after the removal of these two guys we'll have an even number of eaten cakes.
Let's choose the best answer.
ABC is solvable, but DE... I think there is a big difference in complexity between C and D.
i understand and agree on the fact that contest was not good because of many reasons,but still the kind of comments that we are posting is not at all healthy from a community point of view,so lets give feedback's but in a constructive way as everyone is a human here.Hope u understand my point:).
Sparky_Master_WCH1226 is about to lose their bottom contributor spot for a totally unexpected reason (for me at least).
Update: Sparky_Master_WCH1226's bottom contributor spot has been overtaken by the round author.
I want to take it back!!! It used to be me!!!
Why is Sparky_Master_WCH1226 contributing so low and what are the reasons?what did he do wrong?
Shame
I attribute this failed attempt to reaching Master to Div1E. So close yet so far.
what's wrong with my solution for C ? i thought that it's always optimal to color the grid either horizontally or vertically but getting WA on test 2 , Here is my code
165577141
You need fill at least two adjacent lines with same color, otherwise you would get only two toroidal neighboors.
Example:
Is not nice picture
isn't filling rows or columns greater than 3 enough to produce a beautiful grid ? or did i misunderstand what toroidal means ?
I dont understand question
I meant that your code would print yes on that example:
Though answer must be no
Is it unrated?
can some 1 now plz explain what were the toroid neighbours ?? i couldn't really fully understand what for a cell (x,y) which cells were supposed to be its neighbours?
If some neighbour is out of the matrix, in that case we pick the neighbour from opposite side, like for n = 5, m = 6, for (1,1) the toroid neighbours will be (1,2),(2,1),(1,6),(5,1).
Sorry, I cannot find the button to downvote this COPY round. Can any one help me? >_<
Was div2B a standard problem? I just couldn't get the idea.
Deleted
Could you link the problem please?
Deleted
Probably you should've asked it before answering "yes", just saying
Grass(cao), I can't finish 2B.
Div. 1 contest should be unrated. But why should Div. 2 contest be unrated?
Yeah, no particular reason (although D2E is a copied problem as well but it didn't influence the overall quality of the problems). I liked the round tbh, just want to know whether my memory-optimized D would pass at this point.
copy round !down vote!
My grandma could make better round than you
Man of culture.
It took me almost 1 hour to understand B.
Why D2B so hard? Well,maybe it is only hard for me.(
This guy's gonna break interlude's record on the most downvoted blog soon
Update: He did it guys
Update 2: Well I actually feel bad for him now after finding out that he's not responsible for that particular problem. Remember to give him an upvote.
Please make this round unrated.
New worst contributor!(
Can anyone explain the problem
Div2.C
? I tried to cover the matrix horizontally and vertically but my solutionfails
at test case 2.maybe consider that each color tile at least covers 2 rows(or columns)?
Have you check if the number of row/column is odd? if any of the number is odd,you should check if 3 consecutive vaild rows/columns can be filled.
did all of what you are saying, I think I am missing some cases during implementation somehow
I think there is a problem in this part:
// calculated the total number of rows that can be colored in groups of 2 for (ll i = 0; i < k; i++) { rows_colored += 2LL * (can_color[i] / 2LL); if (can_color[i] > 2) { if (can_color[i] % 2) odd = true; else even = true; } }
For example,can_color[i]=5,you can color 5 consecutive rows/columns since it is valid instead of 2*(5/2)=4 rows/columns.that is getting managed with the help of
odd=true
assignment.Update: got the mistake, such a stupid mistake :(
you can use this testcase to think about the question: 2 3 10 3 6 9 15 4 10 3 8 12 20 you can fill 2/3/5 columns for both of conditions.In your code,odd and even will be labeled "true".However,when using 'bool by_cols = row_wise(m, n, pigment);'rows_colored=8 and returned false;
Do someone succeed to find div1-E on the internet with your own power?
I want to know the method and searching technique for the future
agreed. I will search each problem first for each next Chinese round.
rank10 wrote/edited a blog during the contest and made it searchable
Maybe I should know more Chinese guy's blog.
I searched "two arrays" in acmicpc.net and then found it. Then google the contest name and the problem name for the solution code.
This is amazing. How come having two arrays is so unique?
it has 352 results and the fifth is the one. https://www.acmicpc.net/search#q=two%20arrays&c=Problems
C(div1) and E(div1) are not original, and C appeared in a contest in China last year.
That is not fair!!!
I think it's the worst round I've ever played
I think the B and C should swap in div2.:(
then also it won't be a reasonable problem for B.
I just discovered new algorithm! It is very efficient and easy to understand. It's name is: Finding solutions online Algorithm.
...
Although I'm so stupid, but I think questioner is stupid too
Extra 5 minutes on A cuz of translation misunderstandings... I only understood the problem after reading it in English... Prolly the worst contest of the recent ones... Plz next time work more on balance + russian translation. You tried your best, but it was not enough. Gl next time!
No offence, btw. Nice lil round, if you consider this being their first round ever. It is already commendable, that you've tried. B was really hard for Div2B, but i was so surprised, that my solution passed, so i liked it :D
Also, was the "We will delete at most 2 vertexes" the observation to be done, in B, i mean? If yes, then i really impressed by my graph knowledge, hahaha
UPD: Can't imagine the author's motivation right now... So much hatred down the comment section... Just summarize all your problems, solve them, and become better problem-setters in the future! Thx for round (I think this will be the only thanks, you recieve for this one...)
UDP1: Sorry for so many UPD's, but is the next observation, that if we delete 2 vertexes, then they will be connected? This makes implementation complexity O(n + m), not O(n * m)
I don't think so. Thanks for the round!
Why?? Just why??
Most downvoted blog in Codeforces history?
(btw ugly implementation-heavy div2D)
Can you give me some hints for Div2D / Div1B
Build the chart (like in the picture of the statement, can be built for O(n))
Then examine conditions a point has to satisfy (you don't need to iterate all points or use sophisticated data structures)
I found out how to build the "chart", but could not find a condition for each point...
Firstly, notice that you only need to check whether there is a rain point with the height > $$$m$$$, not the whole number line.
Calculate the initial height (i.e. the height before any rain point removal) of each point. This can be done by sorting the points by their coordinates, then for each point $$$i$$$ update the heights of the neighbouring points which are affected by point $$$i$$$ (I did binary search + difference arrays).
To see if removing an arbitrary point $$$i$$$ will prevent a flood, you'll need to find the maximum of the heights of the rain points after the removal of point $$$i$$$. Yet again use the sorted array of rain points and calculate how the rain points to the left of $$$i$$$ would be affected and for the ones to the right of $$$i$$$ do the same. I did all of this with some formula trickery, lots of binary search and a data structure allowing for finding the maximum value in a subarray.
(Maybe I did a bit of an overkill, but I couldn't find an easier solution)
But isn’t in the last test case
On point with x 9, rain value will be 12, which is not more than 12, but removing this point will remove flooding, as answer is
100110
Actually the comments available during the contest may be a bigger issue. Even if C is the same problem, a reasonable amount of people solved them; but E gets significantly many solvers because there is a link to the sol during the contest. I really don't think people will search for E explicitly without noticing the comment that this is a duplicate problem.
Out of curiosity, what was the initial placement of the problem that was taken out?
Please do us all a favour and make this round unrated MikeMirzayanov
Why would Div. 2 be unrated? Stolen problems didn't make contest much worse.
The round is unrated for Div1 as conveyed here.
You are demanding this favour because you'll get a delta negative.
Meanwhile, they removed one problem from both the divisions because it was "well-known" to copy-paste another "well-known" problem.
Nice
can't have shit in china
When I think the difficulty of div2 D&E is vertically high, I found that the difficulty of div1 E is also a same verticality (but is "vertically low"). I feel balance in psychology:)
I really like the sentence that is "What the fuck ?" spoken 30 minutes ago from jiangly.(that's a joke hh)
Seems it'll be unrated :D
btw why the comment feature is available during the rounds?
I think both talks and comments should be banned during an official contest.
I think it shouldn't be disabled for those non-participants, but, if so, people can create a new account/use another account to do the same thing.
Why is systesting still pending?
I think sleeping during this round is better than taking parts in this fuck round.
What was so wrong about Div. 2?
the problem 2E has been appeared.
But still not so many people solved.
https://blog.csdn.net/qq_35577488/article/details/117813076. Div2E?
Yeah, just a little different on constraints.
Yes it is nearly the same.
Compared with div1E,it is ____ XD
And it is also just a common digitally DP problem,and the number of solvers is not unjust.
So it is clearly to see how trash the round is that this problem is even not big compared with div1E.
I wasted my 2 hours by joining the round instead of sleeping, now I am here to get free upvotes
What was so wrong about Div. 2?
Give you one for your sleep
sleep well
this contest should be unrated!!!!!!
Its unrated for div1, div2 stay rated, https://codeforces.net/blog/entry/105221
CQXYM & interlude (Round #745): Good problems (except B), bad round.
Rhodoks & zxyoi (Round #810): Bad problems, bad round.
The problemsetters suck.
Is it another water235?
Sure.LOL
what does water235 mean? can you please tell?
water235 is one of the most famous cheater in china.
water235 likes copying problem from Codeforces Gym, just the same as this round.
water235 is a "great" teacher who told the students what problems they would meet in contest before that contest began.
If a submission turns out to be plagiarism, it is skipped.
Similar, if not higher, standard applies to problemsetting. If a problem turns out to be plagiarism, the contest should be gone.
codeforces.com/blog/entry/105221
I would have a good sleep if I wouldn't take part in this round(
It would be fair to make div1 unrated,of course.But div2 was a nice round,why make that unrated? I mean people who participated in div2 really deservesc their rating.
I said that this div1 was very bad. Although I didn't have a chance to play div1, I can fully understand the harm that this kind of cheating or unfairness will bring to those high-end players! Strongly recommend not rating!
I felt that the difficulty of the div2 A~C questions in this one was appropriate, it was the later questions that were too difficult.
I have an idea why this happened:
Earlier in the contest announcement it said 3 problems would be shared Division 1 and 2 and that each contest would have 6 problems each. But then after an update 1 of these shared problems had to be removed. I'm pretty sure what happened is that Problems D and E in this contest were supposed to be Problems E and F before, and there used to be a Problem D in between. But it got removed, and it caused Division 2 to go full speedforces mode with the diff spike from C to D.
Now that I think about it.
Could it be that the removed problem was also deliberately copied...
Paranoia mode on
thank you problem copiers for letting me waste 2 hrs on your shxtty problems.
From now on everyone should try to google problems, not solve them. It's GoogleForces now
This post have more negative rating than my highest rating multiplied by -1. XD
In some time tourist will be able to say this.
Unfortunately, that is not going to happen >:(
I think if you had a couple more chinese testers, things might have been different. Maybe having testers from different parts of the world (mostly where CP is rather advanced), e.g. ensuring diversity, would solve such problem for the future.
Lets make this most downvoted announcement, and my comment as most downvoted comment.
Check my comment
zxyoi !orz
xi jing ping paid them to do this.
In fact, this is not the only round that I can find the same problem that I have done before. In the last round, Education Codeforce Round 132, I found that I have done problem C last year and problem D just this week. So I just use the code that my friend and I have wrote before the contest and the AC code we have see in a blog,(we even have wrote another blog to talk about the problem before the contest!), and get the system message that said it was a violation of the rules since we use the same code. But that was because we have done it before the contest! The rules in http://codeforces.net/blog/entry/8790 said that use the code that have been wrote before the contest is allowed, I comply with the message to plead a miscarriage of justice against me, but no one reply, There was no one to deal with it. So,
the system message:“If you have conclusive evidence that a coincidence has occurred due to the use of a common source published before the competition, write a comment to post about the round with all the details.”
the rule:“Solutions and test generators can only use source code completely written by you, with the following two exceptions: the code was written and published/distributed before the start of the round, the code is generated using tools that were written and published/distributed before the start of the round.”
They look useless!There's no administrator to reverse my misjudgment. no administrator tell me that if I need to Provide more evidence. Even if you insist on misjudging me, please let me know to Provide more evidence to prove that!
http://codeforces.net/blog/entry/8790 http://acm.hdu.edu.cn/showproblem.php?pid=4915 http://t.csdn.cn/5qwDN https://www.acwing.com/file_system/file/content/whole/index/content/6131167/
Let's discuss the problems for a change.
How to prove that it is enough to consider columnar/rowwise coloring in D2C/D1A ?
because u can prove if u want to maintain that toroidal property u need to fill complete row/col and also have atleast 1 more adjacent row/column (respectively)/
each node can only chose a direction to Switch to other color,if a node use a direction to switch to a different color, then for others, they can only choice the direction that Parallel to the others.therefor, it is a problem that only need to think with row or col
Either suppose you can fill the whole matrix with one color or there will be two adjacent cells with different colors. If the one is below the other it results in rowwise coloring, else it results in a columnar coloring (you can see this by drawing two adjacent different cells and trying to fill the blanks).
Yeah, but it is not a proof, it is just some intuition
Sorry if this is rather long, maybe someone can help shorten it :P
Let's consider a binary matrix where the answer must be satisfied for only the cells labelled 1.
Consider a connected component of 0s and more specifically the perimeter of the 1s surrounding it.
In the above image, the 1s are colored blue and the perimeter is colored in green.
Now, imagine you are walking on a perimeter with the 0s on your left. There are 2 types of turns, left turns and right turns. Right turns cause the number of same color neighbours of some 1 to be less than 3, so right turns are banned.
In the diagram below there are 10 left turns and 6 right turns.
The number of left turns minus right turns is known as the turning number of a loop and it only depends on the topology of the loop. Here, we only have 2 types of loops: the ones that can be embedded on the plane and the ones that do not.
The turning number for these loops are 4 and 0 respectively. Because right turns are banned, the only possible valid connected component of 0s that are a rectangle or a band that wraps around the torus.
Now, we have classified the structure of "holes" in the matrix of 1s.
To finish this, we want to show that when we have a connected component of 0s that are a rectangle, there is no way to color the rectangle such that the condition is satisfied, the corner of the rectangle only has 2 neighbours.
Therefore, it is enough to consider columnar/rowwise coloring.
Make these two observations,
If two cells of the same color share one corner then the other two squares in the $$$2 \times 2$$$ grid must have the same colour.
If you have a rectangle of same colour cells, pick some corner then atleast one of the non-rectangle cells adjacent to it have to be of the same colour.
1 says that both the Xs have to be filled in by 1s.
2 says that one of the Bs have to be filled in with 1s.
Now you have to start with a tetris T-shape block of cells of same colour, and from 1. and 2. are repeatedly forced to extend it into a larger rectangle, being able to stop only once an entire row/column is covered by the same colour.
Consider two toroidal-neighbors of different color. They must have exactly 3 neighbors with their color, which is T in some orientation. So, there are two T 'centered' at those cells in opposite orientations. But this leads to two other pairs of toroidal-neighbors of different color, same applies to them. This proves that we should have at least 2 columns (rows) of one color and at least 2 columns (rows) of other color from every two toroidal-neighbors. Then, it's easy to show that rows and columns can not be mixed together using proof by contradiction.
When tutorial???
Only five seconds of reload this blog
can anybody tell me why my code keep getting TLE on test 2 for question C as it is O(k) order so it should pass the test https://codeforces.net/contest/1711/submission/165596272
The order is not O(k). For example, suppose there are only three rows and m columns. Your algorithm would fill up two columns at a time, which is only six cells, so it would take (a_i / 3) steps just to deplete color i. Since a_i could be as high as 10^9, this is not considered to be in O(k).
It would be much faster if you simply performed division to find out how many rows/columns a single color can fill.
thanks for pointing out can you please find what am i doing wrong here in my new solution https://codeforces.net/contest/1711/submission/165598878
I think you reduced the req values to m and n instead of 2m and 2n. You still need to make sure each color you use can cover at least 2 rows or at least 2 columns. Otherwise, even if it fills up 1 row or 1 column, this color can't be used.
Please Don't Down vote this blog. As Rhodoks has no involvement with Div 1 E.. We all should stand by him in this situation. ❤️
Lol this will have -(tourist rating) downvotes
Damn, compare to AOPS community (for math olympiads), the toxicity of this place is just insane
Unbalanced round
How to check whether the colouring is possible in C? I observed that a particular colour strip should be at least of width two but. I wasn't able to figure out the rest of the solution.
solve separate for horizontal/vertical painting
for each color get max width = a_i / {n or m}, sort, go from top to bottom, win if in any moment
sum — cnt <= {m or n} <= sum
where cnt — how much can we erase from max width = sum(a_i — 2) — any color can be narrowed down to 2
Don't have to sort. Just keep a flag for if you are encountering a pigment which can form a strip of width at least 3. This will help in the case you have only one strip of width 1 left uncolored on the board.
it is not necessary to sort, but it seems to me more intuitive and easier to understand
That was actually pretty much it. Just see if you can fill up the rows OR columns while ensuring that each color covers at least 2 rows/columns. You do need to be careful when the number of rows or columns is odd though, since you can't have every color filling up only an even number of rows/columns then.
Given $$$a_i$$$, you can use it to fill rows if $$$a_i \geq 2n$$$, and the number of rows it can cover is $$$\frac{a_i}{n}$$$. You can fill columns similarly. Filling an odd number of rows/columns additionally requires that at least one color can fill an odd number of rows/columns (i.e., that color can fill 3 or more rows/columns).
STOP downvoting this blog , Rhodoks doesn't deserve this
ChineseForces
Hell yeah, back to violet
It's been two years damn
Back then it was a contest with a lot of FST. Now a contest with a notorious coincidence. Lol
You got your color back, and I finally turned purple for the first time) Cool
Thank you for the contest, I finally reached CM!
Congrats !
You go straight from pupil to CM in less than 5 months after a long time in newbie, may I ask how did you practice ?
Well, i cant really know what helped me, but i can recommend you:
PS: Sorry for bad English
PPS: Hmmm, i think i should write blog about it when i will reach 2400+ XD
PPPS: Pls, upvote me if you can
Will there be an editorial?
First time seeing a top ranked guy cheating.
I don't know if he cheated or not and I don't have telegram, but this guy really sucks at cheating... He is a newbie and only solved A and B in this contest. Also, he used his own (somewhat strange) template, the one he's been using for a long time, so it's unlikely that he "directly copied" anything.
a post with -2573? Can we maybe not shoot the messenger? Sucks that the contest was not rated, sucks that some people are dicks, but don't be being angry at the bringer of bad news.
CopyForces
I hate any Chinese Round
lol, the next round is still a chinese round.
Unfortunately
Can't improve if you shy away from Chinese rounds. (from koqo)
I participate in all the competitions
-99:(
In problem Div2C, I cannot understand why I get a
WA
, can anyone provide a sample for me? https://codeforces.net/contest/1711/submission/165612985I have got it, thanks:)
div2B is hard, I don't like this round :((
is the editorial available? Can anyone plz give me hints for Div2D (Rain).
One hint is that if flooding occurs at all then it must occur at some position where a rainfall was centered.
Same here. Actionally there is editorial (once get there, use ctrl+F '1710B — Rain'). But I didn't get some statements there (and feel like a 120% fool). This one (and like):
$$$d^{2}_{x_i+1} \leftarrow d^{2}_{x_i+1}-2$$$
Per my understanding (and following first statement of that original solution):
$$$d^1_{x_i} = a_i - a_{i-1}$$$
$$$d^1_{x_{i+1}} = a_{i+1} - a_i$$$
So
$$$d^2_{x_{i+1}} = d^1_{x_{i+1}} - d^1_{x_i} = a_{i+1} - 2 * a_i + a_{i-1}$$$
If $$${a_i}$$$ was set from 0 to well... $$${a_i}$$$, then change would rather be written like:
$$$d^{2}_{x_i+1} \rightarrow d^{2}_{x_i+1}-2*a_i$$$
What also confuses me, is why this expression is given for $$$x_{i+1}$$$? Shouldn't it be given for $$$x_i$$$ just like it is given in source code section?
As long a intensity of $$$a_i$$$ decreases with increasing distance this looks pretty much correct:
$$$d^{2}_{x_i-p_i+1} \leftarrow d^{2}_{x_i-p_i+1}+1$$$
...for $$${x_i-p_i+1}$$$ is a last cell at left which is affected by $$$a_i$$$. But why leftarrow? Shouldn't it be rightarrow ($$$\rightarrow$$$)?
But. This seems to be wrong again:
$$$d^{2}_{x_i+p_i+1} \leftarrow d^{2}_{x_i+p_i+1}+1$$$
It looks like here we should replace $$$+1$$$ with $$$-1$$$:
$$$d^{2}_{x_i+p_i-1} \leftarrow d^{2}_{x_i+p_i-1}+1$$$
Once editorial is done with $$$d$$$ expression it proceeds to $$$a_i$$$, m and it doesn't link it with $$$d$$$ formulae at all. So out of narrative is not clean why do we mention that $$$d$$$ stuff??
So I feel confused, and beg for something smart to explain, haha :-)
Even I don't understand it. Here is how I solved. I calculated the amount of rain at every point first. Then for checking whether removing a rain will remove the flood or not, I have taken the idea of calculating equivalent points from this problem. Then I am checking whether removing the rain will cover that range or not. You can check my solve function in this submission, It'll be more clear.
A question: Why div2C 5 5 2 12 13 output "No"
Each color must cover at least 2 rows/columns. But if the total number of rows or columns is odd, you need at least one color to cover 3 rows/columns (since it's impossible to cover all rows/columns if each color only covers an even number of rows/columns).
So for m = n = 5, you need at least one color to fill 3 rows/columns, which requires a value of 15. No color has a value of 15, so the result is NO.
Comparing to the mistake of this contest, I only care about the solutions of these problems.
Can the editorial be available as soon as possible? Thanks.
I am stuck at problem Div 2 B and kind of have a solution but having runtime error, cannot find the bug in the solution, can anyone take a look?
Link to the submission
This part of code:
should be after
because you need to input all the data in a test case, or you wouldn't input the right thing in the next case.
Ohh man, I messed up the whole thing...had 10-15mins yesterday to find this one, but didn't find the bug. Thanks buddy!
Hello sir Rhodoks. Here is Botswanna SWAT Team(codename Sparky_Master_WCH1226). Your account has been detected of exceeding the lowest contrib from Sparky_Master_WCH1226. Please get some upvote now, or your account may be blocked from accessing codeforces.com. Thanks for support sir.
Yours sincerely, AccountDeleted
May someone explain why this submission: 165562980 exceeded the memory limit when hacked?
I see they've defined an
int
array with length 3e5+10 and apair<int, int>
array with length 3e5+10. With 4 bytes per integer, That's 900,030 * 4 = 2,700,120 bytes (not even 3 MB). There is amap<pair<int, int>>
which takes only 3 key-value pairs (m = 3 in the hack).Znb-Jfrian I would be thankful if you explain how it worked.
Oh, So sorry for not replying sooner. I hope you got your answer :)
The size of the
map <pair <int, int>>
is not limited to 3. It's true that when you're reading edges, only three entries are added to this map. However, whenever you try to access a key that was not yet added to the map, this key will become added to the map, with a default value (0 forint
).The nested
for
loops examine every pair of $$$i$$$ and $$$j$$$. Out of $$${40000 \choose 2} = 799980000$$$ pairs to be checked, only the last three form edges (which will updateans
in order to break out). Before these last three pairs, all of the other ~$$$8 \times 10^8$$$ pairs will add new map entries when accessingmp[{a[i].second,a[j].second}]
in the secondif
statement. So this map is gonna get really huge.In general, you can avoid this type of
map
blowup by checkingif (mp.count(KEY))
first, but it requires typing more, and the added complication of a new if-else can also sometimes slow down your thought process as well. In this case, however, since the map only takes values of 1, then you could certainly just usemp.count({a[i].second, a[j].second})
directly (without having to actually check anything). I'm not sure if this change will suffice for this particular submission (due to runtime concerns), but it should be helpful to know in the future.On that note, I find that programs with high runtime would sometimes be rejected as memory limit exceeded. Sometimes it's obvious as to why the high runtime results in high memory, but often it's due to some low-level design details that I admittedly don't know too much about. But in general, if you see that the memory limit exceeded, it often implies that the runtime limit would be exceeded as well, which is usually easier to identify. In this case, with nested
for
loops running ~$$$8 \times 10^8$$$ iterations, with each iteration accessing a map whose size increments up to that high as well, it should signal that the runtime would likely break, even if the rejection message is about memory limit.I would guess that the hacker was also intending to try breaking the runtime, as opposed to specifically targeting the memory limit. Of course, either outcome would be considered an equally successful hack, so the hacker doesn't have to worry about such distinctions.
Thanks a lot, this was helpful. It still looks weird how it cleared the third pretest (n = 10e5).
Edit: perhaps it's due to a lucky escape with an early
break
.I thought you designed the nested for loop to break after it sees one edge, in which case, it's quite reasonable for it to pass pretests. The logic of checking only a single edge, specifically the edge with the least unhappiness sum over the two endpoints, would actually be correct for this problem (but idk if you did that, since I don't wanna parse that second line of the nested for loop).
Given how easy it is to check all edges directly (especially since the input format provides an edge list), I'm guessing the pretests weren't expecting submissions that would try to loop through every vertex pair instead of every edge. There might've been a system test to punish that, but the hacker broke it first.
[HELP][DIV2 B] Can someone help me explain for problem B in DIV2 we are removing only a single pair (X,Y) such that both X and Y are present in even no. of pairs and getting the minimum of all such pairs.
How can we prove that if we choose two different pairs (X1,Y1) and (X2, Y2) and remove only either X1 & Y1 OR X1 & Y2 OR X2 & Y1 OR X2 & Y2, we won't get the optimal answers ?
Basically why only choose a single pair and use that to get the minimum value ? Why not choose two different pairs and use them ?
PLEASE HELP !
Rhodoks dario2994 Sir, can you release editorials also for this contest please
What went wrong was Div1E and only a thousand people have participated in Div1, but why does there are more than three thousand downvotes? Please do not follow the crowd.
FYI, I believe the vote weight depends on rank. So for example, if a red coder downvotes, it counts as more than 1 downvote (somebody said it was counted as 10, but I don't know if that's true). Given that the participants of Div 1 usually have higher ranks, we can expect that the downvote count would get quite inflated.
That being said, I do think there are also many people who weren't affected and probably didn't even bother to read the updates on the full story (that Rhodoks was completely innocent), and they just downvoted because that was the popular trend, so I second your request of not following the cloud.
When will upload editorial?
Where is the Editorial?
Personally I am still new to this platform since I am still only a newbie, but when this kind of error happens ,it surely is demotivating to see that people can get answers like from other sources and create unfair competition.
I understand that this can be very demotivating, but please understand that this is actually a very rare occurrence, and that Codeforces strongly condemns this behavior: https://codeforces.net/blog/entry/105221
Note that making the round unrated means it will have no impact on anyone's ratings. While this might give the impression that the effort exerted into the contest is wasted, please don't forget that the general objective in these contests is to practice and gain more experience into attempting new problems. The effort you put in and the experience you gained should have hopefully contributed to your personal growth, even if unfortunate circumstances prevented it from being reflected on your rating.
Participants in Div1: ~1000. Number of down-votes to the post: ~3500.
WTF? why are div2 people, unaffected by div1E controversy, down-voting it?
Div 1 people get more voting power
Hm, I've heard that before. Is there an official source for that statement? The only related thing I could find is this blog post: https://codeforces.net/blog/entry/85990
Also repeated here: https://codeforces.net/blog/entry/105227
But it's all hearsay: "Someone" tested, "IIRC", and similar assertions. Is there some official FAQ or blog post from Mike?
Although there is a copied problem, I like this contest. Problems are intresting and a bit hard for me.
Thanks for the problems(in Div 2).