摊还 O(1) 的动态数组
场景:~/work/pf/dyn.cpp 手写了一个动态数组,按指令 push / pop / get 操作。它每次满了只多开一格,push 一多就慢得不行。 任务:改成容量翻倍,让随机的 30 万条指令在 2 秒内跑完;输出格式不变。ma
修好近似比的检查
场景:~/work/pf/cover.cpp 对每张小图算出贪心顶点覆盖和暴力最优,再输出近似比(放大 100 倍)。可输出的比值不对,而且有的图上贪心收的点明显太多。 任务:修好 cover.cpp 里的两个 bug,让每张图输出正确的「
取模是什么
第 1 步:7 个东西,每 3 个分一组 第 2 步:分出第一组 第 3 步:再分出第二组 第 4 步:剩下凑不满一组的:余数 表达式 a % b 求的是【0】。
数论研究什么(C++)
数论主要研究的是【0】。
整除是什么意思(C++)
若 a % b == 0,说明【0】。
为什么算法题爱用取模(C++)
算法题常要求「结果对某个数取模」,最主要是为了【0】。
算一下 7 % 3(C++)
7 % 3 等于【0】。
17 除以 5 余几
运行下面这段程序: #include <iostream> #include <string> #include <vector> using namespace std; int main() {
欧几里得算法求什么
第 1 步:a=48,b=18 第 2 步:换成 (b, a%b) = (18, 12) 第 3 步:换成 (b, a%b) = (12, 6) 第 4 步:换成 (b, a%b) = (6, 0) 第 5 步:b 变成 0,a 就是答案
辗转相除的核心一步
辗转相除里 gcd(a, b) 等于 gcd(【0】)。 本节模型:my_gcd(a, b) 辗转相除求最大公约数,my_lcm(a, b) = a / gcd * b 求最小公倍数。