写数独的可行性检查
场景:~/work/bt/sudoku.cpp 读入一个 9×9 数独局面(0 表示空格)和若干询问「r c d」,回答数字 d 能不能填进第 r 行第 c 列。can_place 还没写。 任务:补全 can_place:同一行、同一列、
重叠子问题是什么意思
说一个问题有「重叠子问题」,是指【0】。
最优子结构是什么意思
第 1 步:要算 f(4) 第 2 步:拆成 f(3) 和 f(2) 第 3 步:再往下拆一层 第 4 步:拆到最底 第 5 步:f(2) 被算了两遍 第 6 步:f(1) 更是算了三遍 f4 f3 f2 f2 f1 f1 f0 f1 f0
用 DP 要同时满足哪两条
一个问题能用动态规划,要同时具备【0】。
自顶向下和自底向上差在哪
DP 的两种写法,区别是【0】。
用 DP 要付什么代价
动态规划省下了重复计算,代价是【0】。
爬十级楼梯有几种走法
每次能上 1 级或 2 级,爬到第 10 级一共有几种走法? 运行下面这段程序: #include <algorithm> #include <iostream> #include <string> #i
朴素递归的 fib 慢在哪
第 1 步:f(4) 的整棵递归树 第 2 步:按调用顺序数到第 3 次 第 3 步:按调用顺序数到第 6 次 第 4 步:按调用顺序数到第 9 次 第 5 步:一共 9 次,好几次是重复 f4 f3 f2 f2 f1 f1 f0 f1 f
递归树上的重复怎么来的
递归树上出现重复的子问题,是因为【0】。
朴素 fib 的调用次数怎么长(C++)
n 每加一,朴素 fib 的调用次数大致【0】。