Training Plan provided by experts
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 testingAlgorithmOf
The main time is spent on thinking about algorithms, not writing programs and debugging.
Below is a plan for you to practice:
Phase 1: practice common classical algorithms. Each of the following algorithms is used for 10 to 20 times, and I am also streamlined.Code,
Because it is too common, you don't have to think about it when writing. You can even turn off the monitor within 10-15 minutes.
Come out.
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.
Stage 3: the first two stages are the foundation, and the third stage is the exercise. During the competition, you can quickly create models and think about new algorithms.
. This requires more comprehensive questions at ordinary times.
1. Take a look at the papers on oibh (about several hundred articles, I only read a little bit, haha ).
2. scan the problems on zoj at ordinary times. do not always do things you don't need to think about. (the moderators of ACM often say that I have a simple choice
do:-p)
3. participate in online competitions, feel the competition atmosphere, and evaluate your strength.
4. if you don't need a question, even if you ask someone, you can use a better algorithm.
5. Remember the questions you have done