2015 Summer ACM Training Summary

Source: Internet
Author: User
Tags knowledge base

Summer vacation this year the school routinely carried out the ACM summer camp, different from the past is: this year I as an old player stood on the podium, experience a teacher's feeling, to new players to explain the ACM series of Knowledge.

Before the start of the training, I and a classmate wrote an ACM evaluation system, AH, evaluation system? Up up AH. In fact, the system is not as complex as it is imagined, and can only be easily evaluated in several states of the program:

Compile Error
Runtime Error
Time Limit exceeded
wrong Answer
Accepted

The evaluation system is written, is a line of evaluation system, that can only be handed in the program, and then the evaluation, not linked to the network, can not be submitted through the network program, not as high as POJ, but still able to correctly judge the running state of the program.
The evaluation system is based on the windowns environment, can only be executed under Windows, to be ported to Linux I think it is very easy, just change the script, since writing this evaluation system, suddenly found that the script is very important.
Since we talked about the evaluation system, let's simply say how the evaluation system is evaluated. First get the submitted program. Then try to compile the program, if the compilation error will get "Compile error" and exit the evaluation, if the compilation is successful, run the program, read into the pre-written test input data, and then let the program output the answer and run time, of course, the input and output is through the file operation. If the program runs in the way of access, stack overflow, etc. will get "runtime Error" and exit the evaluation, after the program runs, start the evaluation process, first check whether the time is timed out, if you will get "exceeded" and exit the evaluation, or check whether the answer is correct, if found that the answer is inconsistent with the standard answers, you will get "wrong Answer" and exit the evaluation, if the answer is exactly the same will get "Accepted". This involves the writing of some windowns scripts, the ". bat" program, which is a very simple thing to do simply by checking the data to write a simple Windows scripting program.

The first task of this summer is of course to explain the system knowledge to the new Acmer, the ACM team divides the ACM into two parts: 1. Completely new players (just newly recruited) 2. Not completely new players (come in part of the time). More strictly speaking, there are a part of the old players, haha, unfortunately I am an old player. My job is to give lectures to completely new players occasionally, and occasionally to not entirely new players. As part of the old players, the old players Division of labor, each responsible for a piece of knowledge, we will take the summer vacation to divide into several parts, I divided into the following sections:

For incomplete new players

Graph theory: Minimum spanning tree, shortest path
Advanced Data structure: Dictionary tree, line segment tree
Common techniques: ruler, binary search
Matrix: Matrix multiplication, Matrix fast power, Fibonacci retracement Matrix
Other

For completely new players.

Quick Line
Enumeration
Full arrangement
Deep search Dfs, wide search BFS
Greedy
Other

There is no time to explain the part:

Processing tips: Fast read-in, output, offline processing

As far as there are many advanced content: DP, Balance tree, expand Euclid, Offline processing, etc., there are other people responsible, I am easy, haha.
Overall: lectures are based on the first lecture data structure, and then slowly touch the path of the algorithm. The reference book is the data structure-Min, Wu Weiming, Challenge Program Design contest-Wa Zejun translation.
It seems that the task is not many, I also think the task is very easy, but the lecture is still a lot to do:

1. Early preparation
2. Lectures
3. Arrange your homework and do it yourself
4. Before the next class, there are homework to explain.
5. Other Miscellaneous

In fact, if you're going to lecture that day, it's basically going to take a day or so at least. After all, I have to learn new algorithms to supplement my own knowledge base.

Weekly training Life Is this: from Monday to Thursday the lecture on the lectures on the lecture, Friday on the use of the evaluation system to find relevant topics to practice and comment, Saturday Sunday free arrangement of sheep. The feeling is still quite substantial.

Summarize your summer training gains:
First of all to give you lectures or will be a lot of harvest, previously not quite understand the place you will be familiar with before the lecture, can not say that you must fully master, but you must be very clear that you want to talk about things must be you very clear, this aspect of the preparation of the time on their own still have a great upgrade. In the lecture, you exercise your language skills, communication skills, courage and so on. Now I am not a flustered lecture, even if the following a large, I will not be nervous flustered. After class layout of the topic you will do, to consolidate their knowledge, there is a clear progress is the major OJ AC more, haha, so that there is a little utilitarian it, I think that scholarship should not be mixed utilitarian in the inside.

We also learned some algorithms: max Flow, min cut, binary graph, KMP,DP, extended Euclidean, tree array , etc.

Often in the major OJ do the topic, and sometimes formal online games, such as the Russian Codeforces race, Hangzhou electric Hdu Bestcoder. Recently in the state of Codeforces is very bad, may summer camp a bit tired, sometimes obviously very simple problems will encounter, conversion but, rating even fell several times, with the Chinese stock market has the same law, almost fell to career lowest point. Bestcoder is OK, all is the old appearance, no progress. Training Midway met a called "the garlic Customer" of a game, the server was exploded n times (sorry to find the page to eat bubble noodles), the state of the same strange, alas, sad.

Other knowledge is also learned in the

other spare time. Follow the bird brother learn "bird brother's Linux private Dishes" series, have to sigh bird elder brother is a very humorous and humorous author, he will be rigid knowledge with humorous humorous words to describe, I think very interesting, I also admire Bird elder brother, forget I call him bird God.
watching "Bird Brother's Linux private dishes" at the same time I also follow the online a "nash_su" teacher learning his understanding of Linux, I think he lectures although not humorous humor, but lectures particularly serious and responsible, well-organized, special thanks to "nash_su" teacher. Interested readers can take a look at this video, video link address: http://study.163.com/course/courseMain.htm?courseId=232007
What else did you learn? Is the Tri Yidong of the School of Posts and telecommunications, "the introduction of C + + programming (the next)", this teacher is also I have seen the most humorous teacher, not one, he can be a knowledge point depicting very humorous, feel Tri Yidong teacher must be well read poetry people, on the ancient prose, down through C + +. His "C + + Program Design Primer (Next)" will soon be a lesson, feel the time is fast, but learned a lot of things, I hope Cui teacher out some other classes of the public class video, let us these students benefit AH. Interested readers can take a look at this video, video link address: http://mooc.study.163.com/learn/BUPT-1000005002?tid=1000004006#/learn/announce
Also learned a little Chinese science and Technology University of China Health Teacher's "compiling principle", to tell the truth this lesson no feeling, there is a little bit is involved in a lot of algorithms, what wide search, deep search, finite state automata, and these algorithms is exactly what ACM has learned, I guess that's the only reason I don't feel anything after I've learned this lesson. Interested readers can take a look at this video, video link address: http://mooc.study.163.com/learn/USTC-1000002001?tid=1000003000#/learn/announce

In the blink of an eye for the six-week 2015 summer ACM Training is over, the holiday has 10 days to spend time, feel the time flies quickly, to learn something is very much, away from my goal is still very far, but one thing worthy of certain is: close to my goal a little. I think it's a good thing to be thankful for.
For more than 1 years on the ACM Road, I have been convinced that ACM is the right way.
Finally, we look forward to the ACM, the ancestors to pave the way for us, the younger generation to explore the uneven road, but there is a certain place: ACM slowly embarked on the right track, to achieve a breakthrough is just around the corner.
Yes, forget to tell the reader I am from the * College, as to where it is not necessary to delve into it, what can communicate, and hope to exchange in the comment area, thank you.
August 2015, this memorial.

Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.

2015 Summer ACM Training Summary

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.