发现对于模拟退火的随机值有两种写法,OI-Wiki 的例题用的第一种,而洛谷上的很多题解用的第二种。
double xx=(2.0*rand()/RAND_MAX-1)*t+x;
double xx=(rand()*2-RAND_MAX)*t+x;
鄙人认为第一种写法更加科学,但是刚才调参的时候用第一种死活都过不了而用第二种就几乎每一次都能过,好奇是什么原因,那种写法更优秀。
另外下面是我的提交链接:
https://www.luogu.com.cn/record/181311109
https://www.luogu.com.cn/record/181317663