CSDN话题挑战赛第2期
模拟退火算法:归纳几点: 1.是一个随机算法,目的是取得最大值or最小值。首先需要选取初值,一般选为各个点的均值。 2.温度由高到低,每次的变化都伴随x值的跳跃选取 3.对于取最大值来说,若新值大于旧的值,则直接选用新值;若新值小于旧值则根据概率来决定是否跳跃。 4.一直到温度接近0度,停止运算。
P1337 [JSOI2004] 平衡点 / 吊打XXX#include
#define int long long
#define ll long long
#define endl '\n'
#define For(i,a,b) for(i=(a);i>n;
for(int i=1;i>e[i].x>>e[i].y>>e[i].w;
ansx+=e[i].x,ansy+=e[i].y;
}
ansx/=n,ansy/=n; //均值作为初始值
answ=energy(ansx,ansy);
sa();sa();sa();sa();
cout
关注
打赏