参考资料(matrix67大牛):http://www.matrix67.com/blog/archives/105
P问题:能在多项式时间内解决的问题。
NP问题:能在多项式时间内判定答案是否正确的问题。
NPC问题:是NP问题,并且所有NP问题都可以规约到这个问题。
NP-Hard问题:将NPC问题变成求最优解问题。
常见的三种提答:
对于规模小的部分分,可以用搜索/状压dp解决。
对于大数据,只能用找规律/用爬山和模拟退火来乱搞了。
爬山的优化方法:可以随机起点。
如何定义爬山中点的相邻点:
模拟退火:每次产生一个相邻点,如果这个点更糟糕,定义糟糕程度为k,我们就以一个概率pk接受这个点(p随着时间推移变小),否则一定接受这个点。
用蒙特卡洛树解决(我也不会)
还是乱搞和面向数据编程现实一点吧
这种题型就是考验算法能力。对算法的理解和掌握程度越高越容易得分~
原文:https://www.cnblogs.com/MyNameIsPc/p/9367776.html