啥?NPC问题?模拟退火!!!
传送门
题解
题目很明确就是要你求一个最大团。
但是最大团问题是一个NPC问题。
所以直接上模拟退火!
先随机生成一个长度为$n$的排列,然后从前往后遍历,如果枚举到的点可以加入到当前的图中就加入。每次检验的复杂度为$O(n^2)$。每次退火的时候就随机交换排列的两个位置即可。
代码
1 |
|
啥?NPC问题?模拟退火!!!
题目很明确就是要你求一个最大团。
但是最大团问题是一个NPC问题。
所以直接上模拟退火!
先随机生成一个长度为$n$的排列,然后从前往后遍历,如果枚举到的点可以加入到当前的图中就加入。每次检验的复杂度为$O(n^2)$。每次退火的时候就随机交换排列的两个位置即可。
1 | #include<cmath> |