there exist many people tell me this sentence when i ask for how being good coder but after made some research and practice i found that i saw red coder solve avg with 300 probs and there exist some people here in codeforce solve more 1000 prob and there are blue or above blue and never get to red !! so not only practice makes perfect i want more specific advices to reach red and i know that will take some time and i know that but i want to be on the right way can anyone advice me and small coders ?
First of all I'm not Red. But here are some advice's I got from kind and generous coders on CF.
Practice cannot just measured by the quantity right. The problems you solve should have a quality too. Solving too many easy problems wont make you a good one definitely. That above mentioned 300 problems may contain the hardest problems in CF when that 1000 contain all the easy problems in CF.
After you get to know the how addition operator (+) works, then what is the point in solving 1000 questions that only use the addition operation. go for a new technique that you don't know I would say.....
now i try to solve easy prob to know more ideas about easy prob to solve it fast in real contest and if i want to solve a hard one for me i really found it hard to solve it but i try to solve it by reading the editorial also but in most of this prob i can't solve it and i ask for help so i found that to solve it i must have some knowledge about something that i don't know now so i want to increase my knowledge about C++ but i don't know a good tutorial that increase my knowledge i just go to www.cplusplus.com and read from it
Off-topic: Have you ever heard about punctuation?
no can u explain it to me SealView
I have a clear plan for you.
????
Click
here a quote from the link: the Gnomes illustrate a satire on crazy, unfounded money-making schemes.
I must agree — as a money-making scheme, it's definitely crazy and unfounded :D
4. Arsenal.
6) Manchester United
Brothers Do you know were we can submit IOI question??
If You know please say me! http://codeforces.net/profile/mosholloh
Thank you very much :D.
CodeForces is not the only way to practice! These red coders you say, they might have solved thousands problems outside CF! and more more...
The amount of problems solved isn't the only thing you should focus on. It's the techniques and algorithms you use.
Considering you're a Newbie (1020 rating), a nice starting point would be solving these problems, by order. These are the mostly the A problems from all competitions, something you'll need to be able to solve in a couple of minutes. Once you have experience with understanding the problems and solving them efficiently (let's say sub 15 minutes), note that you won't benefit a lot from solving these easy problems.
Next, you move on to other algorithms/techniques. A list of the more basic ones:
You can find tutorials about these on TopCoder, USACO or anywhere around the internet (Wikipedia for example). Do them one by one, read about an algorithm / technique, then find problems that use it and practice it.
The key is to have patience and not give up. When I was around 15 years old, barely knowing the basics of programming, I had no motivation to learn these algorithms, but after several times of trying and giving up over the course of two years, I finally started learning them ~6 months ago, and it got me a bronze medal at the Macedonian Olympiad in Informatics. Not a lot, but still some kind of a success.
Please message me if you need any additional help. Cheers! :)
i really pleased to see this comment that what i talking about and the link i saw it for the first time
so after solving more probs i can now know what can i do after that learning more about the topic you mention above i really don't know anything about it i just hear these words but don't know more about it
thanks
Here are some tutorials you might find useful:
Once you get around let's say 1300-1400 rating at least (being able to solve Div.2 A without problems, and perhaps Div.2 B), you could start learning from these tutorials. For now on, I'd focus on the problems I gave you in the link of my first comment, see if you can solve about 50 problems.
Do you know that your session id for your USACO account is inside the URLs that you linked, and anyone opens those links will be logged in to your account automatically?
see this picture
Ouch. Didn't know that. Thanks! Although pretty much everyone has them now.
Only until the session ID changes. Which, apparently, it has already.
Also, there's hardly any point to editing the comment to hide them, since all edits are visible :D
Just want to say that I know some guys who solved few thousands problems without submitting them — they think that writing a code is wasting of time, that is all)
Have you at least tried? If you are not one of these guys who "just don't want to write code", and you don't have thousand solved problems on some other online judge — then you don't even tried, according to your cf submissions history. You will definitely never reach red without training.
so this what i talking about how i train to become red i'm begginer and i want train in long term put me in the red area ??
"according to your cf submissions history. You will definitely never reach red without training." can you tell me what about my CF submissions to improve my self ??
I was talking just about amount, not about quality. I mean, you did not solved hundreds or thosands problems there yet.
There are no common view about what way of training is the best one. And I am neither world-class competitor nor world-class trainer to be sure that my views are working good) And even if I would — there will be a lot of guys saying "you are just talented, your rating will increase even if you will watch movie instead of participating in contest":)
Just do stuff that you described in one of your messages — take part in contests, read editorials, upsolve problems which you did not managed to do during contest, learn new algorithms if they are needed to solve some problem. At the very beginning it definitely will work well. Later you may concentrate on some aspects like "well, i am not so good in math" or "damn, i am writing code very slow" or "seems that i have problems with optimizing code to fit into TL"... But now you just have to solve problems:)
To be a good coder (I've never been red, but I'm quite close and I did well on IOI), you need both knowledge of algorithms and techniques, and the skill to code quickly and without lots of bugs. Both are trained by solving a lot of problems. If you learn some new algorithm or technique you simply go and solve some problems that require it so you can understand it better. And coding quickly without bugs is trained only by coding a lot. The rough amount of problems solved isn't so important. For example if you solve 1000 problems that are A or B in div2, or you simply read the editorials before you even read the statement, then it is obvious that solving 1000 problems won't get you close to red. I think that before reading an editorial you should spent some solid time thinking of a solution. And if you can't find one, then you shouldn't just give up on the problem, you should read the editorial. So never give up on a problem, if you can't solve one after lot's of time spent trying, that's good, you'll probably learn something new.
Also solving during a real competition, or maybe virtual, is in my opinion more productive, since when you have a timer you really try to think and code faster. When I'm solving problems simply on practice I easily get distracted or if I'm tired I simply leave them for later, while if you participate in competitions you are quite forced to show your full potential during the time allowed.
Practice alone doesn't make perfect. But deliberate practice does.
You shouldn't just spend a lot of time practicing; you need to identify your weaknesses and train deliberately to overcome them. Also from this it follows that it doesn't help much to solve an unchallenging problem: by solving it, you don't overcome any of your weaknesses. Ideally, a problem you solve should be just above your current skill level: by solving it, you steadily increase your skill.
What does it mean practically:
I have thought of some rules that would encourage solving in endspiel. Suppose we rank authors to number of solved problems first, and authors with same number of solved problems are ranked by their progress (% tests passed) at their best unsolved problem
I wonder why you don't apply that rules to you to increase your rating?
Let's face the truth. You are not going to get ever close to tourist or Petr, no matter how much you practice. At best you'll get like Ferlon (whose blogs are unfortunately in Russian so you can't review his desperate attempts)
Well, let's be honest. Ferlon was not training really hard. He was working on some secret philosophical theory of problem solving and stuff like that, but he was far from training hard. As one if his teammates said, during his last season Ferlon was solving only TC and CF contests and had a full-time job.
That doesn't mean he would have improved much if he had been training harder (or drank less -- ok I might be wrong about that one!). I don't think Petr trains hard to maintain 3700+ rating on TC. He's a gifted person in the first place. But let's get back to mabdelsattar who asked
Can you give a realistic estimate of probability we'll see him red?
I think, that if he will train as hard, as I_love_Tanya_Romanova then the probability we'll see him red = 100%
care to define "train as hard" so your prediction becomes testable?
Well, i would say that he can be red in future with probability ~100%, if he really wants it. If he is average person without some serious health problems, with PC, with Internet access — i bet he can get red:)
Being red is not some great achievement. And it is does not require one to be close to tourist or Petr. My current rating is closer to you than to tourist:) Like somebody said, lot of red coders on TopCoder are even closer to grey than to top1:)
Also you should take into account that red colour is losing in price with time:) Number of red coders increases every year, and if required rating for being red will not be increased in future — we'll probably see more than a thousand red guys in few years.
But the main question is — does he really want to be red? During last few years i worked with 6 or 7 guys from div2 while searching for the team. And all of them said that they want to work extremely hard and become strong ACM-programmers. Most of them even did some training for short time. But noone of those guys are training in ACM right now:)
And I know a guy who was more skilled in problem solving at age 16 than me at 19, and he already knows tons of useful stuff like "how should this work according to C++ standard" — things that i don't know yet:) If there is some "talent" — i would say that he is talented one:) But I am pretty sure that he will never participate in ACM ICPC World Finals — simply because he don't want to. He is more interested in other forms of activity and other achievements.
You aren't betting anything. You are making untestable statements. It's like saying "God will give you everything if you believe deep enough" and after that "Well, nothing happened, but what do you want? You didn't believe deep enough!"
Ok, I'll say it other way. Can you give realistic estimate of probability that this guy would do 40-50 hours of training per week for a year?
Hypocrite. Did you train 40-50 hours per week for a year? I almost reached red on TC (my peak rating was 2147) in 2010 with training about 15 hours per week
I have no idea how much time i spend on it during last week, month or year) I have no fixed schedule. Most probably it is far from numbers that i said:)
Did I said that i am working hard and extremely willing to become top-ranked? Don't think so.
The only thing that I was trying to say is that I'll bet he will increase his level fast and achieve red in future if he will be working realy hard; and Ferlon was a bad example, because he was not training much. Probably some other guy would become ACM ICPC Finalist even with that number of trainings, i don't know. Maybe for 9 out of 10 that amount of training would be enough; maybe only for 1 out of 10. I have no idea at all.
If he will not do much trainings, because he has full time job, lot of work, family, or is lazy, or is not so interested in ACM, or think that it is wasting of time, or any other reason — well, it is his choise:) He may become red even with 3-4 hours of training per week (like 1 TC round + 1 CF round), but it was not a point of discussion.
Good. But invent working-hard-o-meter first.
Proof, please. I didn't find the person with your CF handle on Topcoder.
So if you see my peak rating was 2147, what will change? Why aren't you challenging unsubstantiated claims made by others? Asnwers should be given to those who wish to know the truth.
Here — he is quite close to becoming red in future:)
why do you think I am, contrary to WAS?
Jerk.
Calling someone who cares to explain something you missed, a jerk? Oh, the irony.
"explain"? You took care to find that picture to offend me.
OK I was wrong. Not a "jerk". "A person who made an offensive comment regarding to me".
In that case, you're "a person who takes everything too seriously".
On the Internet, there are mostly 2 types of people:
those who get offended by everything
those who laugh at it
I think it's clear which category we fall into :D
there are many types of people, one of them are idiots, who think that there are two types
That's why I included the word "mostly".
Aside from that, there are 3 types of people: those who can count, and those who can't :D
I don't care about your rating at all but it seems strange to me that blue coder on Codeforces claims that he's almost red on TopCoder.
Challenging all claims in this thread is not my purpose.
From personal experiences to statistics http://codeforces.net/ratings/country/India lists 2393 coders, out of them two are red. Egypt — 1 red out of 504. Russia — 94 reds out of 3254. are you saying that abysmal differences between between these countries are explained that Russians like competing and Egyptians don't?
It's all about awareness. Situations change with time.
Well, everyone can make unsubstantiated claims. Go find some evidence that there is converging trend for Egypt and Russia, in terms of red competitors/total competitors ratio. Also, CF is the home server for Russia. on Topcoder (which isn't home for both of countries) rankings: Russia: 568 members, (and Russia's population is about 150 million) Egypt: 365 members, (of 80 million country). So, in number of Topcoder participants, Topcoder awareness is GREATER for Egypt than Russia. Yet her red coders/total coders is abysmally lower than for Russia. Find facts first, and don't repeat your bullshit please.
Sorry, but it sounds like you are trying to say that you probably should be smarter than some guy from Egypt — just because you are russian.
Or there are no correlation between doing well in ACM and being smart?
Do you have any stats about number of ACM training camps in Egypt? In our region we have Kharkov, Sazanka, Moscow, Petrozavodsk, Izhevsk and other programming schools/camps. They are spendind 6-8 weeks every year participating in such camps, and still can't get out of green/blue rating?
Or do you have stats about average number of problems solved by Egyptians in a year, compared to same stats for Russians? They are working hard but can't get out of grey/green ratings?
Or could you please tell me how many Egyptian teams are doing 3-5 team trainings every week (like teams in Russia are doing)?
Being registred on online judge/contest platform is far from serious acm training.
No, this is not what I'm going to say. You definitely know what probability is, what probability distribution is, average, standard devation etc. So you didn't even have need to ask me about that in the first place.
If you have such statistics -- share it please. Why do you expect me to disprove your empty feelings?
No, I have no such stats. I thought that you should have it, because you looks confident that guys from Egypt are preparing with same intensity as guys from Russia/China/Poland etc., and they just can't become high-level competitors because of, i don't know... "being standard and non talented in problem solving"... Or how would you call it, it does not matter.
Both of us has small amount of data, right? I will ask some contestants from Egypt to tell us details and provide some stats, because I am sure that they know it better than we do:)
There is thing called "burden of proof". If you think that differences are expained solely by differences in training methods, it is you, not me, who has to seek data for it.
No, he's saying that differences in training methods are probably one reason, not the only reason. The burden of proof that it's not lies more with you.
Actually, based on the limited talks I've had with people (from Egypt, too) would suggest that you're more or less right — the amount of training is large even in countries that aren't doing so well. Not as large as for top teams, but that's understandable.
The reason, though, seems to be more in the lack of quality than quantity (of course, many people just give up halfway).
Of course, that's all far from statistically relevant data.
I've been competing for over three and half years, this information is based on my experience during this period
First regarding the camps most of camps target only a small subset of the universities or perhaps a within university camp, there's also a world finals camp that is held for the world finals participants from egypt.
Most of camps last from one to two weeks, only junior training camps however might last up to six weeks.
So if you ask me what I think about camps I think juniors benifit more from camps than those who can lead the scoreboards.
Aside from camps there's also summer trainings which are mostly sessions, and then homework problems or contests then analysis sessions.
As a contestant I've attended only 2 camps, one was 8 days I think and the other one was the WF camp which I could only stay for 3 days because it overlapped with my final exams.
If you are asking why the ACM is bad in egypt my answers would be:-
Education is bad, mathematics doesn't focus on problem solving or analytical thinking, I think I started to learn problem solving when I started to participate in programming competitions.
There's no much motivation, young students have a lot of motivation, but they tend to lose this day after day because there's no one doing great achivements that they might seek after that, also our best record in ICPC for egyptian teams is 3 peoblems, so people seem to become lazy when they qualify for the world finals because they think if they do work hard or don't it's going to be the same outcome.
Most of universities doesn't have a dedicated coach responsible devloping the training, for example in my university I was taught by elder contestants who left after that to continue their education/jobs, then when new contestants come they teach younger students and so on.
People again are lazy, they start motivated and they keep losing motivation as long as they are not performing good in competitions.
I'd say at most 7 teams do 3+ contests per week, this is however for 1 month or 2 months, my team was pretty active before ICPC regional contest, we did a lot of practice contests together, however we only did less than 5 practice contests before ICPC (I mean between regionals and ICPC...).
I don't have any information about what is the average number of problems solved.
The above information is based only my experience, I've also asked a couple of friends to verify it.
5) Islam
beatoriche Seriously? are you going to get religion into this?
FYI, The founder of Algebra is Muḥammad ibn Mūsā al-Khwārizmī, a well-known Muslim mathematician. Oh and he invented the log operator (actually it's named after him). This is just one man, and we can keep doing this for a really long time, but it's just totally off the topic here.
Your comment is by far the most absurd comment I've ever read on CF, you sir, need some EDUCATION.
Khwarizmi lived more than a thousand years ago. It seems that Islam didn't make people dumb instantly, but over centuries. Now, after 1400 years of Islam, countries that were amongst world leading are lagging far behind.
Your point is -still- totally off, and as I said, the list is so long.
Another modern example just to prove that your point is completely wrong is ElGamal encryption (the irony is that he's Egyptian as well lol).
Again, this is just one example and I don't want to spend my time here listing people, and talking about the actual reasons behind the "lagging".
It's like saying "I know a smoker who lived more than 90 years". So what?
I don't think religion matters at all. And I really don't think your Islam knowledge is better than your CF rating.
You're cherrypicking. BTW, Iran is Shia country, not Sunni unlike most of Muslim countries. Maybe Shia Islam doesn't damage brain as much as Sunni does.
As I said, the examples are numerous but we can't spend time mentioning each and every contribution. My examples were to prove that there is no correlation.
The real correlation is with civilization. Nearly 4000 years ago there were the Greeks, they made a lot of contributions to different scientific fields, and then nothing, why? because they became dumb? No, because their civilization came down. Same thing happened with all civilizations, no matter how strong you are, no matter how large you are, the day will come. There were no exceptions in the human history. And yes, almost all Muslim contributions nowadays are made in western countries, which actually proves my point.
Now if you still think that Muslim countries are lagging because of Islam, please tell me why the USSR collapsed? why did Greeks? Persians? Romans? Ancient Egyptians? Chinese? Mayans? etc..
I am not going to provide you with theory of everything. First, a nation can really grow smarter or dumber in few thousand years, Ashkenazi Jews are example or former. Also, there's a big difference between intelligence of individuals and existence political entities. Despite USSR collapse, CF ratings in Russia/Belarus/Ukraine are OK
"And I know a guy who was more skilled in problem solving at age 16 than me at 19, and he already knows tons of useful stuff like "how should this work according to C++ standard" — things that i don't know yet:) If there is some "talent" — i would say that he is talented one:) But I am pretty sure that he will never participate in ACM ICPC World Finals — simply because he don't want to. He is more interested in other forms of activity and other achievements."
I think, you described pretty well andreyv. I was always curious how he's able to know so many stuff about C++ standards, compete very often and have so low rating? Would be more useful to put time into learning algorithms other than C++ stuff that's really unuseful in real life?
Well, maybe he just doesn't want to... It's ok when you write contests for fun only, and find regular practise boring. It's also ok when you are interested in "this C++ stuff" and know a lot about it.
I don't think algorithms are much more useful irl, than deep knowledge of a particular programming language.
Also you can't judge problem solving skills by CF rating only. Being violet is enough to win IOI and beat 2600+ guys.
um... Is being unregistered on CF at all enough to win IOI and beat 2600+ guys?
[user:alliumnskibs]
why u say that they are human so if they can do it so anyone can do it if he follow the right way
so if u said that to me i think that u will never get a high score :)
I don't know why, but I'm not really comfortable with that statement...
So if Usain Bolt can run 100m in 9.6 — anybody can?
ACM is not running, number of people training in it is not so high. And number of people doing it seriously is even less) Probably someone will laugh from today's competitions and competitors level and today's training systems in 15-20 years — because now it is far from being professional sport.
But if you don't think that you can run like Usain Bolt or swim like Ryan Lochte — are you sure that you can solve problems like tourist? It is not simply "being red" it is much higher level, way higher.
lol... I will probably never have rating which I want to. But I understand that main factor for that is outside of my control. I will have to live with that. Never earn many achievements. I will never win a Nobel prize nor help two Koreas peacefully unite into a single state.
Competing is a joy. Are you ready to spend thousands of hours on activity which isn't yours and won't be beneficial for you? Maybe you have talent for something else. I am 29 years old. Looking back at my past contests, I cannot say all time spent was for good. http://community.topcoder.com/tc?module=MemberProfile&cr=22750798
also... that has been already said... you need to improve your English. Your posts are hard to read.
first sorry for my bad english it is my second language
why it isn't mine and why i won't be mine
did u already know me and know how motivated i'm and how i will improve my training in your past contests your peak was so close to red but i think that u said to yourself that u won't not get red and u won't achieve anything in programming competition
i think that the only reason that make u rete decrease with time just be optimistic and our holy messenger mohamed said (the meaning) be optimistic and you will good things
For most people here English is the second language.
I know that your rating is 1020 after seven competitions. I guess you're at least 17 years old since your profile mentions university. That all makes me to estimate your chances of getting red as extremely small. also... do Muslim women get into heavens? What do they get?
Tanks to all of you I really took some more information about reading hard.
jigim isin bn bol
thanks for u all i really benefit from this discussion