刷题网站:
[洛谷oj](https://www.luogu.com.cn/)
[loj](https://loj.ac/)
模拟练手(简单)
[lg1042](https://www.luogu.com.cn/problem/P1042)
[lg2670](https://www.luogu.com.cn/problem/P2670)
[lg1563](https://www.luogu.com.cn/problem/P1563)
[lg1328](https://www.luogu.com.cn/problem/P1328)
[lg1067](https://www.luogu.com.cn/problem/P1067)
[lg1028](https://www.luogu.com.cn/problem/P1028)
[lg1308](https://www.luogu.com.cn/problem/P1308)
[lg5661](https://www.luogu.com.cn/problem/P5661)
[lg5016](https://www.luogu.com.cn/problem/P5016)
动态规划(入门)
[生动的引入动态规划(建议一读)](https://www.zhihu.com/question/23995189/answer/613096905)
[入门学习博客(必须学)](https://www.cnblogs.com/henry-1202/p/9194066.html)
[入门dp题目(大部分必须做)](https://www.cnblogs.com/henry-1202/p/9211398.html)
[dp模型总结(可以看一下)](https://wenku.baidu.com/view/67f062846529647d2628520c.html)
图论(入门)
[图的遍历题单(适当做一些练手)](https://www.luogu.com.cn/training/116#problems)
[Dijkstra 最短路 学习博客](https://www.cnblogs.com/little-sun0331/p/9484730.html)
[最短路题单(适当做一些)](https://www.luogu.com.cn/training/208#problems)
[并查集(入门) 学习博客](https://blog.youkuaiyun.com/u013546077/article/details/64509038?tdsourcetag=s_pcqq_aiomsg)
[最小生成树(两种算法都要学) 学习博客](https://www.luogu.com.cn/problem/solution/P3366)
树的重心,树的直径 阅读书本学习定义与代码
倍增
自主阅读书籍学习倍增思想。
[倍增引入](https://zhuanlan.zhihu.com/p/122413160)
[倍增学习博客1](https://www.cnblogs.com/yanxiujie/p/11758674.html)
[倍增学习博客2](https://www.cnblogs.com/santiego/p/9737892.html#1349779168)
[倍增应用:ST表 学习博客](https://www.cnblogs.com/shmilky/p/14105785.html)
[倍增应用:LCA 学习博客](https://www.luogu.com.cn/blog/morslin/solution-p3379)
动态规划(初级)
[背包九讲](https://blog.youkuaiyun.com/yandaoqiusheng/article/details/84782655)
[树形dp 学习博客](https://www.cnblogs.com/ifmyt/p/9588872.html)
[基础树形dp题练习](https://www.luogu.com.cn/training/214#problems)
[状压dp 学习博客](https://www.cnblogs.com/Tony-Double-Sky/p/9283254.html)
数据结构(入门)
[树状数组](https://blog.youkuaiyun.com/bestsort/article/details/80796531#%E9%AB%98%E7%BA%A7%E6%93%8D%E4%BD%9C)
[线段树](https://www.luogu.com.cn/blog/pks-LOVING/senior-data-structure-qian-tan-xian-duan-shu-segment-tree)
数学(入门)
下列三栏题单选择较为容易的题完成
[同余题单](https://www.luogu.com.cn/training/216#problems)
[计数题单](https://www.luogu.com.cn/training/217#problems)
[概率题单](https://www.luogu.com.cn/training/218#problems)
字符串
字符串Hash 阅读书本学习原理和代码
进阶
完成上述题目后,熟记以下算法代码(可以选择经常敲,而且要理解式记忆,要理解代码原理)
Dijkstra 最短路 并查集 最小生成树 树的重心,树的直径 倍增应用:ST表 倍增应用:LCA 树状数组 线段树 字符串Hash
这些是你的基本功。
然后针对 <动态规划>、<图论/树论>、<数据结构>、<贪心算法>、<数学> 这五大板块在下列网站大量刷题练习
Codeforce http://codeforces.com/