摘要: 字串变换 这道题用双向广搜会比单向快得多(设每次扩展是 $k$ 个,则就是 $k^{10},2k^5$ 二者的差距)。但是还是可以被卡掉的。而且双向广搜还需要注意,每次必须扩展一层。如下图,如果两边同时扩展一个点,那么图中左边的情况有一个中间点,而后面的搜索没有中间点,那么答案就会比最优解大 $1$ 阅读全文
posted @ 2023-05-20 09:17 wscqwq 阅读(4) 评论(0) 推荐(0) 编辑
摘要: # [传送门](https://www.acwing.com/problem/content/description/189/) 这道题与 [拦截导弹](https://www.cnblogs.com/wscqwq/p/17416716.html) 类似,就是需要套一个爆搜,由于 $n$ 很小,所以 阅读全文
posted @ 2023-05-20 08:02 wscqwq 阅读(5) 评论(0) 推荐(0) 编辑
摘要: #[拦截导弹](https://www.acwing.com/problem/content/description/1012/) 贪心策略如下所示:图一表示具体做法,图二表示证明 ![image-20230520074148428](https://img2023.cnblogs.com/blog 阅读全文
posted @ 2023-05-20 07:57 wscqwq 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 蒙德里安的梦想 如果横的放置确定了,那么纵向的肯定也确定了。所以只需要计算横着的方案数即可。 考虑使用 $f[i][j]$ 表示当前已经处理到了第 $i$ 列,状态为 $j$(状态表示这一列的每个位置是否被长方形占据了)。然后转移的话可以从上一列的许多状态中转移,但是需要满足两个条件 保证当前状态和 阅读全文
posted @ 2023-05-14 16:05 wscqwq 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 这道题与 数独 几乎完全相同,只是需要计算靶形得分,可以直接使用一个 $9\times 9$ 的矩阵,如下代码 #include<bits/stdc++.h> using namespace std; const int num[9][9]={ {6,6,6,6,6,6,6,6,6}, {6,7,7 阅读全文
posted @ 2023-05-13 20:59 wscqwq 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 破坏正方形 首先计算出火柴总数和正方形总数。 考虑横着的火柴有 $n+1$ 行,每行有 $n$ 根,竖着的同理(旋转 $90°$),所以一共有 $2n(n+1)$ 根火柴。 边长为 $1$ 的正方形有 $n^2$ 个,$2,(n-1)^2;3,(n-2)^2;\dots;n,1^2$,$\sum_{ 阅读全文
posted @ 2023-05-13 20:06 wscqwq 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 排书 此题使用 $IDA*$ 解决。首先是一个迭代加深的 dfs,然后判断条件里是类似于 $A*$ 的条件,如果当前的估价 $+$ 当前的实际花费 $\ge$ 答案就可以返回了。 这里比较显然,无需证明,比 $A*$ 的证明简单。 考虑统计中间八个格子中的众数 $x$。由于每次最多移入一个数,移出一 阅读全文
posted @ 2023-05-13 07:50 wscqwq 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 排书 此题使用 $IDA*$ 解决。首先是一个迭代加深的 dfs,然后判断条件里是类似于 $A*$ 的条件,如果当前的估价 $+$ 当前的实际花费 $\ge$ 答案就可以返回了。 这里比较显然,无需证明,比 $A*$ 的证明简单。 考虑每次都会更改如上图所示的三个数的后继关系,所以每次最多消除 $3 阅读全文
posted @ 2023-05-13 07:34 wscqwq 阅读(3) 评论(0) 推荐(0) 编辑
摘要: k短路 这道题考察的还是 $A*$ 算法。 首先考虑设立估价函数:当前点到终点的最短路(因为从当前点到终点的所有路径中最短路最短,一定满足 $\le$)。只需要在反向图上做一遍 dijkstra 就能求得。 然后考虑证明第 $i$ 次弹出的就是第 $i$ 短路。类似 $A*$ 中的证明。 #incl 阅读全文
posted @ 2023-05-13 07:20 wscqwq 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 八数码问题 $A*$ 算法例题。 首先判断是否有解。这里有一个条件:将八数码转化为序列后如果逆序对数为偶数,一定有解,否则一定无解。 充分性难证明,只证明必要性:只要是有解必定是偶数。 行内移动序列没有变,数量不变。 如果上下移动发现逆序对变化是 $[0,±2]$。 而答案序列逆序对为 $0$,为偶 阅读全文
posted @ 2023-05-12 13:10 wscqwq 阅读(13) 评论(0) 推荐(0) 编辑