状态压缩
作为OIers,我们不同程度地知道各式各样的算法。
大部分问题的算法都有一个多项式级别的时间复杂度上界(如O(log n)),我们一般称这类问题为P类(deterministic Polynomial-time)问题,例如在有向图中求最短路径。
然而存在几类问题,至今仍未被很好地解决,人们怀疑他们根本没有多项式时间复杂度的算法,对这些问题尚不知有多项式时间的算法存在。
对于某些至今尚未找到多项式时间复杂度的算法,然而它们的应用又是如此的广泛,我们不得不努力寻找好的解决方案。毫无疑问,对于这些问题,使用暴力的搜索是可以得到正确的答案的,但在信息学竞赛那有限的时间内,很难写出速度可以忍受的暴力搜索。例如对于TSP问题,暴力搜索的复杂度是O(n!),如此高的复杂度使得它对于高于10的数据规模就无能为力了。那么,有没有一种算法,它可以在很短的时间内实现,而其最坏情况下的表现比搜索好呢?答案是肯定的——