深搜/回溯
递归的一种表现形式。深度优先搜索和回溯法,一般传层数
Honour Van
新款人工智障
展开
-
[pieces] LIS问题的递归写法和二分法
int h[30], k; int dfs(int pre = 0, int cur = 1) { if (cur > k) return 0; return max((h[cur] <= h[pre] || pre <= 0) ? dfs(cur, cur + 1) + 1 : 0, dfs(pre, cur + 1)); } 后记:学弟提问导弹拦截问题(最长不上升子序列)的递归写法。这是个复杂度很高的算法,出于下次抖机灵方便(误)记录于此。 ..原创 2020-11-20 11:32:34 · 102 阅读 · 0 评论 -
洛谷P2196 挖地雷 —— 更新易位的回溯,或dfs函数结构安排
洛谷P2196 挖地雷 通常的回溯问题,代码结构如下: 重点有三组四个结构: - 更新结构 - check结构 - vis-rec结构 这里将给出一个相对不同的结构,并思考回溯法解决问题时回溯函数的架构问题原创 2020-06-14 12:13:52 · 558 阅读 · 0 评论 -
[debug][pieces]洛谷P1518 塔姆沃思牛,P1009 阶乘之和(高精度算法待优化)
P1518 关于效率: 实际上小规模的函数调用,可能因为编译优化而得到更好的效果,同时,通常较大的模块的函数封装意味着更清晰的程序结构。 更能明显降低运行时间的是输入函数的优化。 初试:还有一个将init()和find()封装起来的,耗时相当均在180~200 ms。 #include <iostream> using namespace std; int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1}; int fx, fy, fd, cx, cy,原创 2020-05-18 17:06:09 · 441 阅读 · 0 评论