辅导了几年的noip,自己平常也刷刷算法,最大的心得就是每一个算法的解法都是曾记无数个小题的集合,所以算法是不能盲目刷,最高效的方法就是按照专题学习,从0开始,查漏补缺,每一个hard题的背后总有无数个easy题的身影。
1.入门基础
知识内容: C/C++ 基础知识,包括但不限于顺序结构,分支结构,循环结构,函数,数组,结构体。
练习题参考信息学奥赛一本通在线测评,只要刷基础部分就可以了,不要刷其他的部分。
网址:信奥赛在线测评
下面是重点题目:
- 1002 输出第二个整数
- 2064 【例2.1】交换值
- 1022 整型与布尔型的转换
- 1023 Hello,World!的大小
- 1031保留12位小数的浮点数
- 1038 苹果和虫子
- 1047:判断能否被3,5,7整除
- 1053:最大数输出
- 循环结构,数组结构,函数结构尽量全刷,里面的一些技巧对以后的学习很有帮助,例如累加,count计数,输入一个数字把它各个位给拆分出来等。。。
2.简单模拟(更新中)
知识内容:简单模拟题,有思路就能写对那种,
3.初识stl(更新中)
知识内容: 只需要会了解各个容器(vector,queue,stack,set,pair,map等),以及algorithm下的一些函数即可
相关文章:
理论:algorithm头文件下的常用函数
理论:原来我一点也不懂vector.size()
4.数学问题(更新中)
知识内容:最大最小公约公倍数(欧几里得算法),分数计算,素数统计,质因数分解,大整数运算(高精度算法),组合数。
理论:欧几里得算法证明,最小公倍数求法证明
1.数学问题–数字黑洞
5.算法初步(更新中)
6.数据结构基础(更新中)
考研时积累的算法题,不涉及实际应用