继今天早上的学习后,自己做了几道题,然后其他地方基本都没问题,但是关于大于小于等于这些还在迷惑:
例如:BZOJ1844 Run away这道题,我在一定概率下取较差值,代码是这样的:
if(ans<nowans||exp((ans-nowans)/T)<=1.0*rand()/RAND_MAX){
ans=nowans;
mayx=xx;
mayy=yy;
}
然后我去做了分金币这道题,是这样写的:
if(nowans<ans||1.0*exp((ans-nowans)/T)>=1.0*rand()/RAND_MAX){
ans=nowans;
}
好我就当我是个**脑子有问题写错了吧,然后我遇到了炸弹攻击1这道题:
exp((ans-res)/T)<=1.0*rand()/RAND_MAX
好好好,就当金币那道题是特殊情况吧,我继续做,然后遇到了 FENCE3 - Electric Fences这道题
又是:
if(res<ans||exp((ans-res)/T)>1.0*rand()/RAND_MAX){
xx=nowx;
yy=nowy;
ans=res;
}
所以,这个符号到底怎么取啊啊啊啊,我们的sensi告诉我应该不会出现这种情况,但这几个我都改成了相反的符号都是wa的。老师靠不住,求助网友。感激不尽