例题[luogu P2962\[USACO09NOV\]灯 Lights](https://www.luogu.org/problemnew/show/P2962)
我们正常想,如果这道题暴力 dfs 找开关灯的状态,时间复杂度就是 $O(2^{35})$ , 显然超时。不过,如果我们用**meet-in-middle**的话,时间复杂度将会变为 $O(2^{18} \times 2)$ 而已。**meet-in-middle**就是让我们先找一半的状态,也就是 $1$ 到 $mid$ ( $N$ 的一半)的状态,再找剩下的状态就可以了。我们把前半段的状态全部存储在 $hash$ 表或者 $map$ 里面,然后在找后半段的状态的时候,先判断后半段是不是都合法,就可以判断上半段有没有配对的上半段使得整段合法。
+
+## 经典题目
+
+- [[kuangbin带你飞]专题一 简单搜索](https://vjudge.net/contest/65959)
+- [[kuangbin带你飞]专题二 搜索进阶](https://vjudge.net/contest/65997)