(NOIP) Reference Book of Informatics Olympic Union

As for books, it is recommended to read Liu Rujia's Introduction Classic of Algorithm Competition, and beginners can basically learn according to this book. Of course, when learning a language, you can refer to some language books, such as Introduction to C++, C Traps and Defects, etc. When learning C++, we should pay attention to which grammars can't use NOIP (such as STL). For further study, you can read Introduction to Algorithms, which is a necessary textbook for OI learning.

You also need to do questions when reading. Usaco is the first question bank. When USACO has finished writing, it will be basically no problem. If you have a good understanding, you can even get good grades in NOI. Besides, Vijos is a good question bank with many Chinese questions. Matching topics for the introduction of algorithm competition can also be considered (on UVaOJ). Also pay attention to the original question.

It is enough to do the exam questions over the years in the preliminary round, but the preliminary round ... in fact, it is enough to pass the semi-finals.

I suggest you consult whether your school has relevant training. It will be convenient in the computer room if the school supports it. It is best to have a teacher to guide you (it may be just direction guidance, but it is very useful).

You can refer to the official website of NOI, which has an outline.