社区讨论

问simulate_anneal 中的判断语句

P5544[JSOI2016] 炸弹攻击1参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@lo1gl20y
此快照首次捕获于
2023/10/22 20:42
2 年前
此快照最后确认于
2023/11/02 21:07
2 年前
查看原帖
CPP
void simulate_anneal(){
    pair<double,double> cur={ansx,ansy};
    for(double t=3e4;t>1e-4;t*=0.996){
        pair<double,double> np(rand(cur.first-t,cur.first+t),rand(cur.second-t,cur.second+t));
        double dt=calc(np)-calc(cur);
        if(exp(dt/t)*RAND_MAX>(double)rand()){//这个判断方法为什么不对?
            cur=np;
        }
    }
}

回复

0 条回复,欢迎继续交流。

正在加载回复...