大致题意: 通过一系列的规则将A变为B, 在十步以内能变成B的话就输出步数, 若超过十步则输出 。 基本思路 ~~恶毒字串加广搜,如(哔\~)一般真恶心!~~ 能A这道题真不容易,真·WA了无数次啊啊啊。 康康这惨不忍睹的评测记录: 这\ \ 都是血泪史啊啊啊。 好了先说一下这坑人的迭代加深,可能是 ...
分类:
其他好文 时间:
2020-05-14 15:05:15
阅读次数:
50
P1032 字串变换 迭代加深难题 题意描述 右手进入 "传送门" 大意是这样的:给定两个字符串A,B以及至多六个变换规则 (规则指A1 B1,A2 B2,在A中的子串 A1可以变换为B1,A2可以变换为 B2 …) 求最少变换步数,若在10步(包含10步)以内能将A变换为B,则输出最少的变换步数; ...
分类:
其他好文 时间:
2020-03-07 18:51:08
阅读次数:
65
AcWing170. 加成序列(迭代加深) 问题 "传送门" 代码 ...
"题面" 迭代加深搜索模板题。 注意开始时要先对桶的容量从小到大排序。 达到搜索层数时使用完全背包$\text{check}$即可。 具体实现参考代码。 ...
分类:
其他好文 时间:
2020-02-01 12:45:29
阅读次数:
60
题面传送门 我们发现只有25个格子,应该是可以用爆搜过掉这道题的。但是裸的dfs时间复杂度过高,我们要进行相应的优化。 首先,由于马的数量过多,我们应该选择让空格“走”。 接下来我们发现这道题又很明显的一个限制条件,最多不能超过15步,所以我们可以使用迭代加深进行优化,所谓的迭代加深搜索,本质上还是 ...
分类:
其他好文 时间:
2019-10-24 09:47:50
阅读次数:
104
这种最优解和深度有关的,可以使用迭代加深对dfs进行优化。 但显然普通的IDDFS效率还是不能满足这题的要求,因为直接枚举分母明显是不行的(可能达到1e7),那么我们可以对IDDFS进行上下界剪枝。 下界优化1:我们可以发现,题目要求升序排列,因此可以从上次分母+1开始枚举 下界优化2: 我们发现枚 ...
分类:
其他好文 时间:
2019-10-24 09:39:05
阅读次数:
99
树与图的遍历 深度优先搜索 剪枝 迭代加深 广度优先搜索 广搜变形 A* IDA* 总结与练习 ...
分类:
其他好文 时间:
2019-10-10 12:56:27
阅读次数:
57
一、搜索 1.迭代加深 2.估价函数 3.IDA* 二、贪心 三、二分 四、分治 1.序列分治 2.CDQ 分治 3.点分治 4.边分治 5.动态点分治 6.动态边分治 五、倍增 1.快速幂 2.矩阵快速幂 3.ST 表 4.LCA 5.其他 ...
分类:
编程语言 时间:
2019-08-11 10:35:19
阅读次数:
89
传送门 直接 $dfs$ 会 $T$ 飞,$BFS$ 又会爆空间 考虑迭代加深搜索,枚举走的最大步数, $dfs$ 时如果步数大于枚举的步数就返回 然后再加个估价函数 $diff$,表示当前状态与最终状态差的格子数,如果就算每一步都能减少一个不同且最后一步能减少两个不同都无法在限定步数内到达 那么就 ...
分类:
其他好文 时间:
2019-08-04 19:47:19
阅读次数:
85
枚举的技巧(什么是枚举) 暴力? 模拟? for? dfs? bfs? ... 巧妙的枚举。(优化时间复杂度、统计区间的贡献) ... 暴力大家都会 ... 优化暴力... 变成正解。 About DFS/BFS 二进制状态压缩表示。 折办搜索然后匹配累加贡献。 A* IDA* 搜索 迭代加深的DF ...
分类:
编程语言 时间:
2019-07-13 12:03:40
阅读次数:
348