当前位置:网站首页>Experience of an acmer
Experience of an acmer
2022-06-30 09:24:00 【Young white horse】
Hard training. I'm going to talk about it a little bit at the end . Mainly speaking of the latter : What is effective training ?
I want to talk about my understanding .
quite a lot ACMer At the beginning , They were told : Do more questions , Do a 500 More than one way is better . Actually , This is neither a sufficient condition 、 Nor is it a necessary condition .
I think generally , For the students in our ordinary schools , There will not be a big gap in abilities in all aspects , under these circumstances , The method of training and learning is particularly important .
Actually ,500 The question is just a sign , And it just means that you do ACM-ICPC Have a certain time ,
What is the purpose of our training ? I think there are four points
1、 Improve the programming ability
2、 Learning algorithms ,( read , Reading papers , Including doing some topic verification )
3、 Be prepared for the challenges that will come ( Familiar with the question type , Adjustment mentality )
4、 Enlighten the mind .
Here are four purposes , From the perspective of training , The importance decreases gradually ; Why? ?
Because the front factors are the foundation of the back . But the purpose behind it , The harder it is to achieve . I think before 3 I can guarantee you ac Drop the questions you can do , Even if the problem is never done , It's fine too ac Drop the moderately difficult questions .
Questions that require a certain degree of difficulty in thinking , It should be based on the former three and belong to the later stage of training , The medium term can only be adjusted occasionally . Of course , My mind is so rotten , I have no say in this , You can despise me .
Here I would like to mainly talk about the following 2 spot .
For algorithms , I find , Many weak schools like ours ACMer The contestants did not focus on learning good algorithms .
The following points , Maybe they are all old-fashioned , But I want to 035 Compare my own example to illustrate .
<1> Algorithm learning is ACM An aspect of the competition to be promoted or promoted
Remember passing by someone blog, It says that he met a dijkstra, He didn't do it , Then comment on ( Carelessness ): I won't take the time to figure it out “ such ” Algorithm . “ such ” Maybe it means : It's not practical , Right , So I don't want to comment ( Another discussion about science and Engineering ). But at least one thing needs to be clear :ACM-ICPC The game is about computer science , Computer science is the science of algorithms , Computer algorithms dijkstra It has important practical and enlightening significance , So the competition must be tested .
You take part in this competition , To win a prize , You have to learn this algorithm . You may think you have a high IQ , but ACM-ICPC The game itself is not an intelligence game , The game is to let you learn these things , therefore , If you don't want to learn , I don't think it's necessary to attend . Say this , Maybe the deviation is a little far away , But I hope the above analysis can draw such a basic conclusion : Don't want to learn algorithms well , There's no need to play .
<2> It is not good to use a template
Now many of our weak schools ACM-ICPC Players rely on templates , Tell the truth , I also rely on , But I know at least one thing , It's not right , In a sense , This is a sign that you don't understand the algorithm . It also seriously affects the coding speed . In what I have seen huicpc035 In the competitions I have participated in , He has never seen a template , All site knocks , Once there was a game with a strong connected component + Shrinkage point + dyeing + What's the problem , I did it in their computer room , I copy the template , The result was a total of 1 One and a half hours , and 035 After defining the algorithm , Para Para , It is estimated that 30 It took more than a minute . Let's gossip about him : Me and kevin When I went to the training team of Huda , Gave him a nickname —— Typing man ( He should not know yet ). Because the sound of his keyboard is very loud and fast , ha-ha .
I don't think he wasted any time typing code , A cow once said : Because every time you knock, there may be different mistakes , So it's a good habit not to use templates . I began to learn dancing link When , I typed out the code , Then the next few questions refer to the previous code , Later, it was basically direct copy. Now? , When people ask me dancing link Algorithms or related topics , I have a blank face .
therefore , It is not good to use a template , Sometimes for some reason you may have used a template , But you must at least know that this is wrong , And have the opportunity to correct .
<3> Need to learn in depth
image ACRush、zzy、ahyangyi... Wait for the talents of the national team , In itself, it is difficult to say that there is any comparability between us and them . But their learning methods should still be worth learning , Of course, we can't teach them by example , But from their papers in the national team training and they finished ACM-ICPC In the future track , Can be reflected . That's it : Learn more .
In fact, this may not be powerful enough for me , Because I am also lacking in this aspect , I try to say what I think .
First , Think ACMer Learning algorithms should not stop at the level of code implementation , We should have a clear understanding of the algorithm , There should also be good logic in the correctness analysis . Because the implementation of the code on the Internet may cover up the simplicity of the algorithm itself 、 Beauty and thought . Therefore, some knowledge of the algorithm as a whole is lost . Also take dijkstra Algorithm analogy , Some algorithms are not based on dijskstra Direct modeling of , Instead, you need to modify the algorithm , If you don't really understand the algorithm , There is nothing to do .
Why do I always say Dijkstra Algorithm , Because many people only know how to use templates , And the template is not good , In what I saw Dijkstra In the implementation , Only czyuan_acm The code is well written . Not that other things are wrong , But there is a problem , Opportunistic .
therefore , Read papers and books , Especially with English books , See its essence . On the other hand , That's the only way , What you learn can be learned in ACM-ICPC outside , Give you some inspiration —— Otherwise you will forget it quickly .
as far as I am concerned ,035 I have read at least dozens of training team papers ,orzorzorz, And cut out the example .
<4> Independent thinking
I am also ashamed of this , Because I also lack independent thinking . If I can't solve many problems, I will search the problem solving report , So instead, my ability to search data has become particularly strong .035 And many big cows have done much better than me in this regard , When they don't know how to solve problems , I won't be in a hurry to work out the topic , Maybe I take it out and think about it again every once in a while , I'll figure it out one day , After that, there is basically no problem with this type of topic .
And I am just “ vanity ”, I won't be reluctant to think about the problem for too long , Just want to be as fast as possible AC, So I was eager to read the problem-solving report , One problem caused by this is that there are some important things that are not mentioned in the problem-solving report , And I ignored them without thinking about it , such , I still can't do . Me and 035 When discussing problems , I don't usually just ask him for the code , But when he doesn't understand , Ask me the general idea at most , And never want code .
In the last year ACM At the end of the division , I find 035 The ability to solve difficult problems has obviously exceeded my level . Look at what he is doing now , It is already quite abnormal , Almost all 100 The following people ac, I have read these topics and basically have no idea , Even worse , I can't find the problem-solving report .035 The current state reminds me of a person , I wonder if everyone knows :wangfangbob, He cut bt The ability to solve problems is also shameful .
<5> Do meaningful questions
1. Don't do water problems , The water title here is defined as : You can tell at a glance , And the midway implementation can be predicted without too many problems .
2. It's about doing topics that reinforce what you've learned recently
3. You won't, but you should .
This is also saying , Some topics that are not very representative can be done less , Because it doesn't help the game .( Of course, my purpose of participating in the competition is very utilitarian , Non utilitarians are another matter ) Just now, , I put me in poj The number on the is compared with his number , He ac And I didn't ac Is basically a problem , I ac He didn't ac It's usually about water , I feel like crying ,5555.
add :ac The large number of people does not necessarily mean the water problem , There are thousands of people ac The subject of , In a live game ac Few people , Such a topic is often a good one with certain thinking difficulty and easy coding , This kind of topic should be done seriously , Some senior said : Classic topic , Only so much , Make a , Just one less .
<6> Estimate the time required for a certain training
I think my study of network flow is an example , I was probably before the division 2 I began to learn network flow in April ,1 Started learning the cost stream months ago , But for me , The network flow thinking cultivated in these two months is still not enough ( Although I have also done a lot of questions ), especially , This kind of problem often appears as a difficult one , I won't let you drink freely , therefore , At that time, the network flow in the Beijing competition area did not come out —— Utilitarianism , Learning network flow has not achieved good results .
therefore , Now let's look at , At that time, I could not engage in network flow . If you want to learn something more difficult , And we must do it well , It should be done earlier , Learn... In an all-round way , Long term training is necessary to cultivate this kind of thinking . For example , If you don't learn calculus at ordinary times , Just one week before the exam, I was crazy about doing questions , I think so 90 It's very difficult to score .
Of course , It depends on the individual situation , My understanding ability should be said to be of medium level , If you are a cow, you can learn it faster .
<7> The degree of training
I sometimes brush all night , I don't know here huicpc035 Do you have this habit , But I didn't see him all night .
I think I brush my body all night , Or do questions for too long , It's not good . Why do we have such enthusiasm to do questions , Because we are interested in ; But one's success does not depend solely on interest , And rely on self-control . This is the same as playing games , Games are so interesting that we often stay up all night ——ICPC The topic is also very interesting , So sometimes all night . And most of the time , Because of a problem AC Do not drop , So I have to settle my anger before I go to bed , Such carelessness , All night .
Actually, I understand , Overnight may not be a good result , It just shows that your interest is high . Staying up all night often disrupts your schedule , Disturb your biological clock , And then affect your short-term or medium-term training plan . and , Do exercises in a tired state , You often only have ac The desire of the topic , And completely lost ac The aura of the title . therefore , I suggest ,ACMer Be sure to arrange your work and rest properly , Self control , This is not just for you ACM-ICPC It's good .
All in all , Effective training is important , Only through effective training can you get what you deserve to participate in this competition .
And that is , except 035 outside , Another thing worth learning is richardxx—— I also admire , I don't think he is a genius , I think he has made all-round efforts to make himself excellent , Look at his blog You can see his learning process .
Finally, let's talk about hard training , I mainly want to say this to our school acm team member :
Objectively speaking , Many famous schools in our school have fallen short of the list ( I'm in water by comparison ). They are really smart , But no matter how clever it is, it can't be compared with ACRush Well ? They are SGU It's all cut up !ACM Not an intelligence test , It's not that you can drop pie without doing anything . Of course, I don't mean to say how many questions must be done , But if you think you can do two things at once , In terms of probability , You are 90% wrong , I'm an engineering student , I believe in probability, not miracles .
I think 035 This aspect is also worth learning , I prefer bullshit , Sometimes when we talk about the topic, we often inadvertently talk about other topics , While studying ,035 It is determined not to talk about messy things , Except for the discussion QQ, According to my observation, I usually train cruelly . Now in retrospect , I have some regrets ,QQ The time spent online and online is spent learning new things , Maybe the result will be better .
ACM-ICPC It is not the whole of college life , It's not all about algorithms , You can spend time doing other research , Do the project , Or take part in student work ( I appreciate those who have a good plan for life and career ACMer); however , If you do ICPC You didn't put in all that time , There it is ACM-ICPC In my life , Will only regret .
边栏推荐
- QT downloading files through URL
- Talk about how the kotlin collaboration process establishes structured concurrency
- Using appbarlayout to realize secondary ceiling function
- Use Huawei performance management service to configure the sampling rate on demand
- Code management related issues
- Abstract factory pattern
- Opencv learning notes-day5 (arithmetic operation of image pixels, add() addition function, subtract() subtraction function, divide() division function, multiply() multiplication function
- ES6 learning path (III) deconstruction assignment
- Resnet50+fpn for mmdet line by line code interpretation
- Mmdet line by line deltaxywhbboxcoder
猜你喜欢

Opencv learning notes -day2 (implemented by the color space conversion function cvtcolar(), and imwrite image saving function imwrite())

ES6 learning path (III) deconstruction assignment

Opencv learning notes-day5 (arithmetic operation of image pixels, add() addition function, subtract() subtraction function, divide() division function, multiply() multiplication function

Opencv learning notes -day10 logical operation of image pixels (usage of rectangle function and rect function and bit related operation in openCV)

Express file download

Tutorial for beginners of small programs day01

Pytorch BERT

Small program learning path 1 - getting to know small programs

5. Messager framework and imessager interface

100 lines of code and a voice conversation assistant
随机推荐
Couldn't load this key (openssh ssh-2 private key (old PEM format))
Based on svelte3 X desktop UI component library svelte UI
How can I get the discount for opening a securities account? Is online account opening safe?
Advanced technology management -- how managers design and build echelons
QT connection to Shentong database
QT downloading files through URL
Torchvision loads the weight of RESNET except the full connection layer
Flink Sql -- toAppendStream doesn‘t support consuming update and delete changes which
Express file upload
Dart basic notes
What kind of experience is it to develop a "grandson" who will call himself "Grandpa"?
About Lombok's @data annotation
Common query and aggregation of ES
What are the SQL add / delete / modify queries?
Deeply understand the working principle of kotlin collaboration suspend (beginners can also understand it)
Opencv learning notes-day9 opencv's own color table operation (colormap coloraptypes enumeration data types and applycolormap() pseudo color function)
Get to know handler again
关于Lombok的@Data注解
100 lines of code and a voice conversation assistant
Rew acoustic test (III): generate test signal