修好写反的循环方向

场景:~/work/dp/dir.cpp 本该算 0/1 背包(每件最多拿一次),可答案总是偏大:样例应该是 20,它却给出 25。 任务:找出并修好这个 bug。make 编译后用 sample.txt 自测,check 会用随机数据对拍

开始练习 →

在 256 MB 里跑容量一百万

场景:~/work/dp/big.cpp 算 0/1 背包,小数据是对的。可 check 的大数据有 80 件物品、容量 1000000,而且只给 256 MB 内存、2 秒——原程序的二维 long long 表约 650 MB,根本开不

开始练习 →

修好状压里的优先级

场景:~/work/dp/tsp.cpp 用状压 DP 求最短回路,样例应该输出 18,它却输出了 1000000000。 任务:代码里有两处运算符优先级写错了。修好它们,make 编译后用 sample.txt 自测。 可操作范围:只在分

开始练习 →

补写编辑距离

场景:~/work/dp/edit.cpp 每行读两个单词,edit 还没写。 任务:补全 edit:把 a 改成 b 最少要几步(插入、删除、替换各算一步)。make 编译后用 sample.txt 自测,样例应该输出 3、5、0。 可操

开始练习 →

图遍历为什么非要 visited

在图上遍历必须记住走过哪些点,因为【0】。

开始练习 →

树遍历为什么不用这一步

第 1 步:从 A 出发,一路往下走 第 2 步:走到 B 第 3 步:走到 C 第 4 步:走到 F 第 5 步:走到 E 第 6 步:走到 D 第 7 步:D 的邻居是 A:又绕回来了 第 8 步:不标记,就会一圈圈转下去 第 9 步:

开始练习 →

visited 一般拿什么存

C++ 里记录「走过哪些点」,通常用【0】。

开始练习 →

一次遍历的结果是什么

在图上做一次完整遍历,得到的是一个【0】。

开始练习 →

什么问题适合用图遍历

下面最适合用图遍历解决的是【0】。

开始练习 →

直接邻居和能走到的

七个点的图,0 号的邻居是 1 和 2。看它的直接邻居有几个、一路能走到几个: #include <algorithm> #include <iostream> #include <queue> #inc

开始练习 →