Essential basic Algorithms for learning ACM

Source: Internet
Author: User

I do not know which Daniel wrote, confused reference it!
Participate in the ACM competition generally to achieve 50 lines within the program without debugging, 100 lines within two minutes of the successful commissioning. ACM is mainly the algorithm, the main time is spent on thinking algorithms, not spend on writing programs and debug.
First stage:
Practice classic commonly used algorithms, each of the following algorithms give me 10 to 20 times, while their own thin code, because too common, so to practice to write without thinking, 10-15 minutes to finish, or even turn off the monitor can be the program to play
Come out.
1. Shortest Way (Floyd, Dijstra,bellmanford)
2. Minimum spanning tree (first write a prim, kruscal to use and check set, not write)
3. Large number (high accuracy) subtraction
4. Two points to find. (code can be within five elements)
5. Cross-multiply, sentence line intersection, and then write a convex bag.
6.BFS, DFS, while proficient hash table (to be ripe, to be flexible, code to simplify)
7. Mathematically, there are: the Division of the Division (two lines), the intersection of segments, the multi-angular area formula.
8. Call the system qsort, a lot of tricks, slowly mastered.
9. Conversion between any binary
Phase II:
Practice a bit more complex, but also more commonly used algorithms.
Such as:
1. Two graph matching (Hungary), Minimum path overlay
2. Network flow, minimum cost flow.
3. Segment tree.
4. And check the set.
5. Familiar with the various models of dynamic programming: LCS, maximum increment substring, triangulation, memory DP
6. Game-like algorithms. Game tree, binary method and so on.
7. Maximum group, maximum independent set.
8. Determine the point within the polygon.
9. Differential constraint system.
10. Bidirectional breadth Search, a * algorithm, minimum dissipation priority.
Phase III:
The first two stages are the foundation, the third stage is the exercise in the game can quickly build models, think of new algorithms. This will usually do more comprehensive questions.
1. Take a look at the paper on the Oibh (about hundreds of articles, I only see a little, hehe).
2. Usually sweep the Zoj on the problem, do not always do those who do not think of the problem. (The Moderator of the big ACM often said I picked simple to
Do:-P)
3. Participate in online competitions, feel the atmosphere of the game and evaluate your own strength.
4. Don't cross a question. Even if, ask a person, have a better algorithm also dozen.
5. Remember the questions you have done:-)


Essential basic Algorithms for learning ACM

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.