算法基础课second速刷指南
- 本分享由枝江大学dust bin独家编辑出品,纯粹用于我这种小废物打卡笔记
算法基础课 第一讲基础算法
快速排序与归并排序
属于记忆内容,基本记忆思路可以是递归的位置,如快速排序的代码中在函数的最后进行递归,而归并排序在开始位置递归。在归并排序中,第二题是一个很好的思路,我这种小麻瓜还是要多多学习
二分
在这里二分主要是整数二分,其基本思路我认为凭空去想是比较困难的,举几个生动的实例可以很好的辅助判断采用哪一种模板。y总的模板题很好的整合到了一块,刷刷刷!
高精度加减乘除
其基本框架都是一样的,我们只需要注意每种问题的思路和小细节的变化即可
- 高精度加法,比较基础,特殊步骤是把位数高的数放在前面,因为位数多高决定了循环次数,更加方便,
也要注意最高位的进位。 - 高精度减法,和加法一块记,特殊步骤是定义cmp布尔函数,得出结果的正负,具体减法中注意借位的写法
最后别忘了输出负数要加负号 - 高精度乘法,注意t此时的进位可能很大,结果超出乘数的位数,所以注意循环条件。以及很关键的要消除前导零
- 高精度除法 ,相比增加了参数r表示余数,步骤中在消除前导零前要反转(因为除的过程是从高位到低位)
前缀和
关键是公式
SUM(X ~ Y) = b[y] - b[x-1]
其余无论什么变形都是依照公式来的(可以画图解决) ps:无纸化学习就是谎言!
二维 : s[x2][y2] - s[x1-1][y2] - s[x2][y1-1] + s[x1 - 1][y1 - 1]
二次元,你知道我的下一句是什么