文章分类 -  算法蒟蒻 / 搜索

摘要:【BFS】题目积累 BFS更适用于扩展性的题目:由几个原始点往外拓展 DFS更适用于遍历性的题目:一条分支走到结束再回头 No Passage 属于题目大意比较难懂的那一类 https://atcoder.jp/contests/abc413/tasks/abc413_f 题目大意 nxm的棋盘,若 阅读全文
posted @ 2025-07-06 20:58 White_ink 阅读(13) 评论(0) 推荐(0)
摘要:【搜索优化】ID/A/IDA 题目积累 Big Banned Grid https://atcoder.jp/contests/abc413/tasks/abc413_g A*板子题 int h,w,k; map<PII,bool> p; struct node{ int x,y,v; bool o 阅读全文
posted @ 2025-07-06 20:42 White_ink 阅读(7) 评论(0) 推荐(0)
摘要:【分层图】 (参考https://www.cnblogs.com/ldyzzz/p/17632253.html) 使用场合 求解特殊最短路 N个点,M条边,允许对K条边进行改变(对权值进行改变:花费/2,花费变0之类的) 板子题 https://www.luogu.com.cn/problem/P4 阅读全文
posted @ 2025-06-26 00:38 White_ink 阅读(28) 评论(0) 推荐(0)
摘要:【和状态有关的搜索】 考虑不重复/不死循环的优化 一般都在1e3这个数据范围内/位运算/状态可压缩->可暴力地设状态 XOR Shortest Walk https://atcoder.jp/contests/abc410/tasks/abc410_d 题目大意 一个有向图,路径有权值 求1到n的所 阅读全文
posted @ 2025-06-14 23:08 White_ink 阅读(17) 评论(0) 推荐(0)
摘要:【记忆化路线】 Spirit of Cola. https://ac.nowcoder.com/acm/contest/110312/J 注意写法积累! (1)vector多维数组 //记最短路 vector dp(c[0] + 1, vector(c[1] + 1, vector<int>(c[2 阅读全文
posted @ 2025-05-18 19:04 White_ink 阅读(15) 评论(0) 推荐(0)
摘要:【0-1BFS】双端队列BFS 适用范围 可转换为边权值的最短路问题 边权值为有/没有 eg 在走迷宫问题中,你可以花 1 个金币走 5 步,也可以不花金币走 1 步 思路 把没有权值的边扩展到的点放到队首,有权值的边扩展到的点放到队尾 ->可保证像普通 BFS 一样整个队列队首到队尾权值单调不下降 阅读全文
posted @ 2025-04-11 13:38 White_ink 阅读(167) 评论(0) 推荐(0)
摘要:搜索剪枝 用于DFS 常见剪枝方法 1.优化搜索顺序 2.排除等效冗余 3.可行性剪枝:上下界剪枝 4.最优性剪枝:当前已经超过了最优解 5.记忆化搜索:重复遍历一个状态时直接检索并返回 【例题】 木棒 https://www.acwing.com/problem/content/descripti 阅读全文
posted @ 2024-12-07 14:53 White_ink 阅读(37) 评论(0) 推荐(0)