补写随机枢轴快排

场景:实验机上 ~/work/pf/rqs.cpp 读入 n 和 n 个整数,用快排排好后输出。挑枢轴那一段还是空的。 任务:补全 choose_pivot:用 mt19937 和 uniform_int_distribution 在 [l

开始练习 →

有序输入别被卡住

场景:~/work/pf/sortbig.cpp 用「总取最右一个当枢轴」的快排排序。随机数据很快,可输入是已经排好序的 10 万个数时,它慢得跑不完。 任务:改写成随机选枢轴(或排序前先 shuffle),让有序输入也能在 2 秒内排完;

开始练习 →

证伪一个看起来对的贪心

场景:~/work/pf/coins.cpp 用贪心找零:每次都拿面值最大、还拿得下的那枚硬币,输出一共用了几枚。面值写在 ~/题目.txt 里,大多数金额它都是对的,但不是所有金额都对。 任务:在 ~/题目.txt 给的金额范围里找一个金

开始练习 →

找出写错的二分

场景:~/work/pf/bs.cpp 想求「第一个不小于 x 的下标」,但它的循环不变式写错了:右边界从 n-1 开始,漏掉了「答案可能是 n」。大多数输入它都对。 任务:构造一组输入让它出错:~/题目.txt 规定了数组长度和取值范围。

开始练习 →

摊还 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】。

开始练习 →