ccpc final总结
质因数分解,观察指数的规律。
感觉跑不满的暴力,直接上。
探索有效操作的特点,如:有效操作序列是否满足递加递减性。
搜索是很好用的。
bfs:
最短路模型,多源bfs,双端队列,双向搜索,A*。
dfs:
双向搜索,IDA*,迭代加深。
搜索树的规模随着层次的深入增长很快,并且我们能够确保答案在一个较浅的节点时,就可以采用迭代加深DFS。
剪枝:
优化搜索顺序,多数情况下是排序以后,按照从大到小或是从小到大搜索。
最优性剪枝,如果当前情况比已经搜出的最优情况更坏,而且继续搜索出的情况不能比已经搜出的最优情况好,那么不需要继续搜索。
可能性剪枝,如果这样搜索下去不能产生可行方案,那么不需要继续搜索。比如:计算剩下的代价的极值来优化,使用估值函数。
排除等效冗余,如:可行性问题中,相同情况只需要成功一次即可。如果元素乱序会产生重复,那么尝试将元素排序。
二进制优化,使用二进制速度会更快,如:状压。