Generally, less than 50 rows are required.ProgramDebugging is successful within two minutes without debugging and less than 100 lines. ACM is mainly used for testingAlgorithmThe main time is spent on thinking about algorithms, not writing programs and debugging.
Below is a plan:
Stage 1: practice common classic algorithms. Each of the following algorithms is classified as 10 to 20 times, and streamlined at the same time.Code. Because it is too common, you don't have to think about it when writing it. You can even open the program after you finish it in 10-15 minutes or even turn off the monitor.
1. Transient (Floyd, dijstra, bellmanford)
2. minimal spanning tree (write a prim first, and kruscal should use and query the set, which is hard to write)
3. Large numbers (High Precision) addition, subtraction, multiplication, and Division
4. Binary Search. (the code can be less than five lines)
5. Perform cross multiplication, determine the intersection of line segments, and then write a convex hull.
6. BFs, DFS, and skilled hash tables (be familiar, flexible, and concise)
7. mathematical formulas include: Moving and Division (within two rows), line segment intersection, and multi-angle area.
8. There are many tips for calling the system qsort.
9. Conversion between any binary systems
Stage 2: Exercise is a bit more complex, but it is also commonly used.
For example:
1. Bipartite Graph Matching (Hungary), minimum path Overwrite
2. network flow, minimum charge flow.
3. Line Segment tree.
4. Check the set.
5. Familiar with various typical dynamic planning models: LCs, longest incrementing substrings, triangle partitioning, and memory DP
6. classification algorithms. Game tree and binary method.
7. The largest group and the largest independent set.
8. points are located within the polygon.
9. Differential constraint system.
10. Bidirectional breadth search, A * algorithm, minimum dissipation first.
Give the algorithm learner some advice on buying books. It is hoped that Chinese computer and software students will pay more attention to algorithm learning.
1. <The Art of computer programming> the bible of knuth's masterpiece in computer algorithm Science
2. <Introduction to algorithm>
3. <concrete mathematics> knuth's classic understanding of computer mathematics
4. <introductory combinatorics> required courses for graduate students in Computer Science
5. <computational geometry in C> computational ry
6. <discrete mathematics and Its Applications> typical Discrete Mathematics Textbooks
7. <data structures, algorithms, and applications in C ++> fairly classic data structures and algorithms
8. <algorithm art and informatics competition> Liu rujia's masterpiece guides the development of informatics Competition
9. <analysis and programming of practical algorithms> the legendary Black Book.
10. <algorithm design and analysis> This is a masterpiece of Wang Xiaodong, a Chinese cool-man. It is a very good algorithm book.
11. <examples of International College Students' programming competitions> A book just published by Sun Yat-sen University (number theory, computational ry, search and exercises)
12. <guide series of informatics Olympics competition> graph theory and composite mathematics
13. <network algorithm and complexity theory> author: Xie Zheng Press: National University of Defense Technology Press ISBN: 7-81024-330-6
14. <game theory> A classic ebook-a legend of Game Theory
15. Papers of Noi national training team each year in various classical mathematics brochures
ArticleBlog from the stars and nights