C language-Make life better

Source: Internet
Author: User
Tags modulus

1. Smart Car

1) Obstacle avoidance vehicle

2) Balance Car

3) WiFi Video car

2. Lori's voice temperature broadcast

3. Perpetual Perpetual Calendar

4. Mining rich car--------------electric racing works-Metal detector car

5. IoT-based home security system-----Nine Gongge unlock (void unlock)

6. Children's keyboard based on psychological therapy

7. Bluetooth Anti-loss device

8. Operating system

9. Water feeder: (the puppy will be dripping when he walks near)

10. Feeder: (puppy will eat when approaching)

Give some examples of programs developed in C.
    • Qq
    • Notepad (notepad), notepad++, notepad2
    • Pidgin (All-platform chat software)
    • Apache, nginx These two server software is almost standard for all Linux servers
You're going to ask. How , here is the dry time
    • How to write Windows program in C language, watch this video, learn in a week, C language write Windows program
    • Advanced article, with VC write screen saver, with vc++6.0 write a complete Windows screen saver
    • Advanced, to the popular pidgin chat software development plug-in, pidgin plug-in introductory tutorial

The Beginner C language learns only the grammar. This condition is not sufficient.
Does not include data structures, algorithms, computer thinking/modeling, excluding object-oriented, not including platform-related knowledge (such as how to write WIN32 programs, message mechanisms, MFC,GDI,OPENGL,DIRECTX, etc.).



Early:
I. Basic algorithm:
(1) enumeration. (poj1753,poj2965)
(2) Greed (poj1328,poj2109,poj2586)
(3) The method of recursion and division.
(4) recursion.
(5) Construction method. (poj3295)
(6) Simulation method. (poj1068,poj2632,poj1573,poj2993,poj2996)
Two. Graph algorithm:
(1) Depth-first traversal and breadth-first traversal of graphs.
(2) Shortest path algorithm (Dijkstra,bellman-ford,floyd,heap+dijkstra)
(poj1860,poj3259,poj1062,poj2253,poj1125,poj2240)
(3) Minimum spanning tree algorithm (Prim,kruskal)
(poj1789,poj2485,poj1258,poj3026)
(4) Topology sequencing (poj1094)
(5) Maximum matching of binary graphs (Hungarian algorithm) (poj3041,poj3020)
(6) The maximum flow augmented path algorithm (km algorithm). (poj1459,poj3436)
Three. Data structure.
(1) string (poj1035,poj3080,poj1936)
(2) Sorting (fast, merge rows (related to reverse order number), heap rows) (poj2388,poj2299)
(3) Simple and check-set application.
(4) Hash table and binary search Efficient search method (number of hash, string of hash)
(poj3349,poj3274,poj2151,poj1840,poj2002,poj2503)
(5) Huffman tree (poj3253)
(6) Heap
(7) Trie tree (static achievements, dynamic Achievements) (poj2513)
Four. Simple search
(1) Depth-first search (poj2488,poj3083,poj3009,poj1321,poj2251)
(2) Breadth First search (poj3278,poj1426,poj3126,poj3087.poj3414)
(3) Simple search techniques and pruning (poj2531,poj1416,poj2676,1129)
Five. Dynamic planning
(1) knapsack problem. (poj1837,poj1276)
(2) Type of simple DP (refer to LRJ's book page149) as follows:
1.e[j]=opt{d[i]+w (I,J)} (poj3267,poj1836,poj1260,poj2533)
2.e[i,j]=opt{d[i-1,j]+xi,d[i,j-1]+yj,d[i-1][j-1]+zij} (longest common sub-sequence)
(poj3176,poj1080,poj1159)
3.C[I,J]=W[I,J]+OPT{C[I,K-1]+C[K,J]}. (Optimal binary search tree problem)
Six. Mathematics
(1) Combinatorial mathematics:
1. Addition principle and multiplication principle.
2. Arrange the combination.
3. Recursion relationship.
(poj3252,poj1850,poj1019,poj1942)
(2) Number theory.
1. Prime number and division of integers
2. Binary bits.
3. Same comodule operation.
(poj2635, poj3292,poj1845,poj2115)
(3) Calculation method.
1. Two-point method to solve the monotone function related knowledge. (poj3273,poj3258,poj1905,poj3122)
Seven. Computational geometry.
(1) Geometric formula.
(2) The use of cross-product and dot product (such as the determination of intersection of segments, the distance from points to segments, etc.). (poj2031,poj1039)
(3) A multilateral type of simple algorithm (area) and related judgments (points in the multilateral type, whether the multilateral type intersect)
(poj1408,poj1584)
(4) Convex bag. (poj2187,poj1113)
Intermediate:
I. Basic algorithm:
(1) Application of the standard Template Library for C + +. (poj3096,poj3007)
(2) More complex training of simulated questions (poj3393,poj1472,poj3371,poj1027,poj2706)
Two. Graph algorithm:
(1) The establishment and solution of the differential constraint system. (poj1201,poj2983)
(2) Minimum cost maximum flow (poj2516,poj2516,poj2195)
(3) Dual connected components (poj2942)
(4) strongly connected branches and their shrinking points. (poj2186)
(5) Cutting edge and cutting point of the figure (poj3352)
(6) Minimum cut model, Network Flow Protocol (poj3308,)
Three. Data structure.
(1) Segment tree. (poj2528,poj2828,poj2777,poj2886,poj2750)
(2) static binary search tree. (poj2482,poj2352)
(3) Tree Tree Group (poj1195,poj3321)
(4) RMQ. (poj3264,poj3368)
(5) and check the advanced application of the set. (poj1703,2492)
(6) KMP algorithm. (poj1961,poj2406)
Four. Search
(1) Optimization pruning and feasibility pruning
(2) Search techniques and optimizations (poj3411,poj1724)
(3) Memory Search (poj3373,poj1691)

Five. Dynamic planning
(1) more complex dynamic programming (such as dynamic programming to solve the specific problem of the implementation of the business)
(poj1191,poj1054,poj3280,poj2029,poj2948,poj1925,poj3034)
(2) Dynamic planning of recording status. (poj3254,poj2411,poj1185)
(3) Tree-type dynamic programming (poj2057,poj1947,poj2486,poj3140)
Six. Mathematics
(1) Combinatorial mathematics:
1. The principle of repulsion.
2. Drawer principle.
3. Permutation group and Polya theorem (poj1286,poj2409,poj3270,poj1026).
4. Recursion relationship and parent function.

(2) Mathematics.
1. Gaussian elimination method (poj2947,poj1487, poj2065,poj1166,poj1222)
2. Probability problems. (poj3071,poj3440)
3.GCD, extended Euclidean (Chinese remainder theorem) (poj3101)
(3) Calculation method.
1.0/1 fractional planning. (poj2976)
2. The three-point method solves the extremum of single-peak (valley).
3. Matrix Method (poj3150,poj3422,poj3070)
4. Iterative approximation (poj3301)
(4) randomization algorithm (poj3318,poj2454)
(5) Miscellaneous questions.
(poj1870,poj3296,poj3286,poj1095)
Seven. Computational geometry.
(1) discretization of the coordinates.
(2) Scan line algorithm (for example, to find the area and perimeter of a rectangle and often used with a segment tree or heap).
(poj1765,poj1177,poj1151,poj3277,poj2280,poj3004)
(3) The core of the polygon (half-plane intersection) (poj3130,poj3335)
(4) Comprehensive application of geometric tools. (poj1819,poj1066,poj2043,poj3227,poj2165,poj3429)
Senior:
I. Basic algorithm requirements:
(1) Code quickly written, streamlined but without losing style
(poj2525,poj1684,poj1421,poj1048,poj2050,poj3306)
(2) Ensure correctness and efficiency. poj3434
Two. Graph algorithm:
(1) degree limit minimum spanning tree and K-shortest. (poj1639)
(2) Shortest path, minimum spanning tree, binary graph, maximum flow problem related theory (mainly model establishment and solution)
(poj3155, poj2112,poj1966,poj3281,poj1087,poj2289,poj3216,poj2446
(3) optimal ratio spanning tree. (poj2728)
(4) Minimum tree shape (poj3164)
(5) Sub-niche into a tree.
(6) The least ring of the graph and the direction graph
Three. Data structure.
(1) Establishment and application of Trie diagram. (poj2778)
(2) LCA and RMQ Problems (LCA (recent common ancestor issues) have offline algorithms (and check set +dfs) and online algorithms
(Rmq+dfs)). (poj1330)
(3) Double-ended queue and its application (maintain a monotonous queue, often in the dynamic planning to optimize the state transfer
Purpose). (poj2823)
(4) left-leaning tree (can be combined with heap).
(5) suffix tree (very useful data structure, is also the hotspot of the Division examination Questions).
(poj3415,poj3294)
Four. Search
(1) More troublesome Search topic training (poj1069,poj3322,poj1475,poj1924,poj2049,poj3426)
(2) The state optimization of wide search: the use of M-binary number storage state, converted to string hash table weight, the position of compressed storage state, two-way wide search, a * algorithm. (poj1768,poj1184,poj1872,poj1324,poj2046,poj1482)
(3) Deep search optimization: As far as possible to use bit operations, must be added pruning, function parameters as little as possible, the number of layers is not too large, you can consider two-way search or rotation search, ida* algorithm. (poj3131,poj2870,poj2286)
Five. Dynamic planning
(1) Dynamic programming with data structure optimization is required.
(poj2754,poj3378,poj3017)
(2) Quadrilateral inequality theory.
(3) More difficult state DP (POJ3133)
Six. Mathematics
(1) Combinatorial mathematics.
1.MoBius Inversion (poj2888,poj2154)
2. Partial-order relationship theory.
(2) Game theory.
1. Maximum minimum process (poj3317,poj1085)
2.Nim problem.
Seven. Computational geometry.
(1) Semi-planar intersection (poj3384,poj2540)
(2) Establishment of visual image (poj2966)
(3) The minimum circle cover of the point set.
(4) to heel point (poj2079)
Eight. General questions.
(poj3109,poj1478,poj1462,poj2729,poj2048,poj3336,poj3315,poj2148,poj1263)

-----------------------------------------------------

Dynamic planning

DP state design and Equation summary

1. Incomplete status record
<1> Frog River Crossing problem
<2> using interval DP
2. Knapsack problem
<1> 0-1 Backpack, classic questions
<2> Infinity Backpack, classic question
<3> the problem of the judgement knapsack
<4> knapsack problem with affiliated relationship
<5> 1 knapsack problem
<6> double backpack to find the best value
<7> Structure Triangle problem
<8> knapsack problem with upper bound limit (012 backpack)
3. Linear dynamic Programming problems
<1> Bricks Game Issues
<2> Duel (decision-related issues)
Maximum polygon problem for <3> Circle
<4> counting the number of words
<5> Board Segmentation
<6> Scheduling issues
<7> Minimum approximation problem (find out the ratio of two to the sum of a number/two number equal to a certain number, etc.)
<8> Block Elimination game (a range can be eliminated continuously for maximum benefit)
<9> Resource Allocation issues
<10> Digital Triangle problem
<11> Beautiful Printing
<12> Post Office questions and structuring answers
<13> Tallest bricks problem
<14> two-segment continuous and maximum
The power of <15>2 and its problems
<16>n the maximum number of M segments and
<17> Cross Maximum number problem
4. DP (such as division of judgment, determination of accessibility, etc.) of the judgment question
DP for <1> mode K problem
<2> Special modulus k problem, the number of maximum (minimum) modulus K
<3> Transform number issues
5. Dynamic Programming with monotonic optimization
<1>1-sum problems
<2>2-sum problems
<3> Sequence Division problem (monotonic queue optimization)
6. Split problem (polygon split/stone merge/Circle split/Product max)
Triangulation problem of <1> convex polygon
The biggest problem of <2> product
<3> Polygon Game (operator on polygon Edge, vertex right value)
<4> Stone Merging (n^3/n^2/nlogn various optimizations)
7. Greedy Dynamic Planning
<1> Optimal Loading problem
<2> some knapsack problems
<3> Boat Problems
<4> Greedy Strategy
<5> Two-Machine scheduling problem Johnson algorithm
8. Status DP
<1> Cowboy Shooting problem (game class)
<2> state DP for Hamiltonian paths
<3> Two pivot balance problem
<4> the nearest two-part diagram of a forward graph
9. Tree-Type DP
<1> Perfect Server problem (3 states per node)
<2> the question of keeping the palace in small fat
<3> Network Pricing issues
Roaming problems in the <4> tree

C language-) Face object language-) graphic image-game development engine-) game development tools and their applications-game development
The result of the game is the last one, but once you have a problem, you may want to go ahead and find the answer.

C language-Make life better

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.