I'm going to do a little bit of hard training. Mainly the latter: what is effective training?
I want to say what I understand.
Many Acmer get started, are told: to do more questions, do a more than 500 way to become cattle. In fact, this is neither a sufficient condition nor a necessary condition.
I think that in general, for our ordinary school students, the gap between the various aspects of capacity is not too large, in this case, training and learning methods are particularly important.
In fact, the 500 question is only a sign, and only means that you do acm-icpc have a certain time,
What is the purpose of our training? I think there's four.
1, improve the programming ability
2, Learning Algorithms , (reading, reading papers, including to do some problem verification)
3, ready to face the challenges will come (familiar with the question, adjust mentality)
4, inspire thinking.
Here four purposes, from the point of view of training, the importance of decreasing gradually; why?
Because the previous factor is the basis behind it. But the latter purpose, the more difficult to achieve. I think the top 3 can guarantee you AC off the problem you can do, even if the problem is not always done, you can also AC off the medium-difficult topic.
and need a certain degree of difficulty of the problem, to the previous three-based and belong to the late training, the medium can only be used as an occasional adjustment. Of course, my mind is rotten to death, there is no say in this, you can despise me.
I would like to say the main 2nd.
For the algorithm, I found that many of our weak school Acmer players do not focus on good algorithm learning.
The following points may be very old-fashioned, but I would like to compare my own examples with 035 to explain to you.
<1> Algorithmic learning is one aspect that ACM contests should promote or advocate
Remember once passing someone's blog, said that he played a game when he met a Dijkstra, he did not do it, and then comment to (the effect): I will not take the time to understand the "this" algorithm. "This" might have meant: nothing practical, right, so I don't want to comment (again about science and engineering). But at least one thing needs to be clear: ACM-ICPC Competition on computer science, computer science is the science of algorithms, Dijkstra has an important practical and enlightening significance, so the game must be tested.
You must learn this algorithm when you take part in the competition and get the prize. You may think you have a high IQ, but the ACM-ICPC game itself is not an intelligence game, the game is to let you learn these things, so, if you do not want to learn, I think there is no need to participate. Say this, may tricky a bit far, but hope the above analysis can draw such a basic conclusion: do not want to learn the algorithm, there is no need to play.
<2> templates are bad
Now a lot of our weak school ACM-ICPC players rely on the template, to tell the truth, I am also very dependent, but I know at least a little, this is wrong, in a sense, this is you do not understand the algorithm of a performance. It also severely affects the encoding speed. In the huicpc035 I have seen, he has never seen a template, all the scene knocking, there is a game with a graph strong connected components + points + dyeing + What the problem went, I do in their computer room, I copied the template, the results of a total of 1.5 hours, and 035 clear algorithm, Phala Phala, An estimated more than 30 minutes to knock it off. Here's a little gossip about him: Kevin and I used to go to the Lake training team to play, and gave him a nickname--typing macho (he should not know). Because he hit the keyboard sounds particularly big and fast, hehe.
I think he knocked on the code time is not wasted, a cow once said: Because every time there may be different errors, so no template is a good habit. When I first learned dancing link, I knocked out the code, and then the next few questions were referenced to the previous code, and then basically copied directly. Now, when people ask me dancing link algorithm or related topic, I have been a blank face.
So, using a template is not good, sometimes for some reason you may use a template, but you have to know at least that it is wrong, and have the opportunity to correct.
<3> needs in-depth learning
Like Acrush, Zzy, Ahyangyi ... And so on the national team's genius, it's hard to say that we have anything to do with them. But their learning methods should still be worthy of reference, their learning methods of course, we do not have to learn from each other, but from their national team training in the paper and they finished ACM-ICPC after the trajectory, can be reflected. That's: deep learning.
In fact, I may not be strong enough, because I am also very deficient in this aspect, I try to say what I think.
First of all, think that acmer learning algorithm should not stay in the code to achieve this level, in the algorithm thinking to have a clear understanding of the correctness of the analysis should also have a good logic. Because some of the details on the implementation of online code are likely to obscure the simplicity, beauty and thought of the algorithm itself. Thus lost some understanding of the algorithm as a whole. Also take Dijkstra algorithm analogy, some algorithms are not based on the direct modeling of Dijskstra, but need you to modify the algorithm, then you do not really understand the algorithm, it is helpless.
Why do I always say Dijkstra algorithm, because indeed many people only know to use the template, and the template is not good, in I see the Dijkstra implementation, only CZYUAN_ACM code well written. Not that the other is wrong, but there are problems, opportunistic.
Therefore, to read papers and books, especially with English books, to see its essence. On the other hand, the only way you can learn is to give you some inspiration outside of ACM-ICPC-or you'll quickly forget it.
As far as I know, 035 read at least dozens of training team papers, Orzorzorz, and cut off the examples.
<4> Independent Thinking
I am also ashamed of myself, because I also lack of independent thinking. Many problems I will not go to search the problem-solving report, so instead of my search information ability to become particularly strong. 035 and many Daniel at this point do better than me, they encountered the problem will not be very eager to put the topic, may be taken out every once in a while to think about it, one day figured out, then this type of topic basically there is no problem.
And I just compare "vanity", to do the topic will not be too willing to think too long, want to try to fast AC, so eager to see the problem-solving report, this led to a question is some important things in the report did not mention, and I did not think of them ignored, so I will not do. I and 035 to discuss the problem, I will not generally directly find him to the code, but he does not understand when, at most, ask me the general idea, and absolutely do not want the code.
At the end of the ACM division last year, I found that 035 of the ability to do difficult problems has clearly exceeded my level. See He now do the topic, is already quite perverted, almost 100 people under the AC, these topics I saw basically no idea, more deadly, the problem-solving report can not be searched. 035 Current state reminds me of a person, do not know everybody knows not: Wangfangbob, his ability to cut BT problem is also shameful.
<5> make a meaningful question
1. Do not do water problems, the water problem here is defined as: a glance can see the practice, and halfway through the implementation can be expected not too many problems.
2. Be a subject that strengthens what you have learned recently.
3. You won't but you should be the subject.
At the same time, it is said that some of the more representative topics can be done less, because the game does not help much. (Of course, the purpose of my participation in the competition is very utilitarian, non-utilitarianism) just now, I put my number on the POJ and his number, he AC and I do not AC is basically a problem, I ac he does not AC is the general water problem, see I want to cry, 5555.
To add: The number of people in the AC does not necessarily represent the water problem, some thousands of people AC, there are few AC in the field, the topic is often a certain degree of difficulty and coding is not difficult good problem, this topic to be serious, some seniors said: Classic topic Ah, only so much, do one, less together.
<6> estimate the time required for some kind of training
I think I learn the network flow is an example, I began to study the network flow in the 2 months before the approximate tournament, 1 months ago began to study the flow of fees, but for me, these two months of training out of the network flow thinking is not enough (although also did a lot of problems), especially, this topic often as a difficult topic appears, Will not let you casually water, so, the Beijing division of the network flow at that time did not want to come out-utilitarian to say, learning network flow did not get good results.
So, now, in fact, I can not engage in Internet streaming. If you want to learn a more difficult thing, and also must do well, should be early, comprehensive study, must be long-term training to cultivate this thinking. For example, if you do not learn calculus at ordinary times, just a week before the exam crazy to do the topic, I think 90 points is very difficult.
Of course, this depends on the individual situation, my understanding should be said to be medium level, if the cow should be able to learn faster.
<7> about the degree of training
I sometimes brush the body all night, here I do not know huicpc035 have this habit, but I did not see him all night night.
I think it is not good to actually brush the body all night long, or to do the problem too much time. Why do we have the enthusiasm to do the problem, because we are interested, but a person's success is not only dependent on interest, but also rely on self-control. This is a game of play, the game is so interesting that we often all night--ICPC the topic is too interesting, so sometimes all night. And many times is, because a problem ac not off, so the anger must be done to sleep, so carelessly, on the night.
In fact, I understand that the night does not necessarily result in good, it just shows that you are interested in a very high. Staying overnight can disrupt your schedule, disrupt your circadian clock, and affect your short-or medium-term training programs. And, tired of the state to do the problem, you often only the desire to AC topic, and completely lost the aura of the AC topic. Therefore, I suggest that Acmer must reasonably arrange the rest and rest, can self-control, so not only for you to do ACM-ICPC benefits.
In short, effective training is important and only through effective training can you get what you deserve in this game.
There is, in addition to 035, another worthy of everyone to learn is richardxx--I also admire, I do not think he is a genius, I think he to all-round efforts to make his own excellent, we see his blog can see his learning process.
Finally, I would like to say hard training this point, this I mainly want to talk to our school's ACM team:
Objectively speaking, many universities in our school failed to live (I was water in comparison). Really clever, but smarter than Acrush, right? But the SGU are all cut full! ACM is not an intelligence test, you can drop a pie in the sky without doing anything. Of course, I am not saying that the topic must do how many ways, but if you think you can use the two, from the probability, you 90% wrong, I am an engineering student, I believe the probability rather than the miracle.
I think 035 of this is also worth learning, I prefer to talk about the topic sometimes often careless to pull other topics, in the study, 035 is determined not to talk about the mess of things, in addition to the discussion on QQ, usually according to my observation is brutal training. Now in retrospect, I have a little regret, QQ and the online spend time to learn new things, perhaps the result will be better.
ACM-ICPC is not the whole of college life, nor is it all about algorithms, you can spend your time doing other research, doing projects, or taking part in student work (I appreciate the acmer of good planning for life and career); But if you're not involved in the ICPC period, That in ACM-ICPC career, will only regret.
"Turn" the experience of a Acmer