欢迎大家提出意见!这里是暂时的讨论地。

我认为,150 题中应当包含一定的简单算法。

1. 语法基础

范围是简单语法,包括读入、数组、运算、if-else、for、while 等语句。

不包含算法,都是简单模拟。

1.1 读入 & if-else

  1. Hello World!
  2. A+B
  3. T 组 A+B
  4. 计算两点距离
  5. 输出菱形
  6. 绝对值
  7. 分数转 ABCDE 等第
  8. 计算球的体积

1.2 循环 & 数组

这里的题最好有背景,方便后续学习。比如筛素数、求逆元。

  1. 统计给定数组中正、负、零的个数
  2. 计算 Fib 数列
  3. 求水仙花数
  4. 判断素数
  5. 日期是该年的第几天
  6. 给定一个字符串,计算各个字符的出现个数
  7. 判断两个字符串相等
  8. 字符替换
  9. 矩阵回形填数
  10. 字符串区间翻转
  11. 求序列最大与最小的差
  12. 质因数分解
  13. 歌唱比赛
  14. 高精度计算
  15. 并查集(暴力)
  16. O(p)O(p) 的逆元

1.3 函数 & 结构体

简单 DP 其实都是函数题(

  1. 猴子吃桃
  2. 计算给定函数
  3. 雇员管理,结构体移动
  4. 简单记忆化
  5. 数楼梯
  6. 进制转换

1.4 综合

这里可以整一些 HDOJ 的恶心东西。

2. 初入门径

引入算法,课内的东西。

2.0 复杂度

2.1 排序

2.2 搜索

2.3 贪心

2.4 递推初步

2.5 二分

2.6 倍增

2.7 基本数据结构

链表 & 栈 & 队列 & 堆

2.x 前缀和 & 快速幂

150 到此结束。


3. 算法初步

课上学不到的东西。

3.1 基本数学

线性筛 & 根号的质因数分解 & 整除数论初步

3.2 基本数据结构

树状数组 & ST 表

3.3 基本图论

最短路 & 最小生成树 & LCA