日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

洛谷P1337 [JSOI2004]平衡点 / 吊打XXX(模拟退火)

發(fā)布時(shí)間:2025/4/16 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洛谷P1337 [JSOI2004]平衡点 / 吊打XXX(模拟退火) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

傳送門

?

先坑著,聯(lián)賽活著回來的話我就寫(意思就是我絕對(duì)不會(huì)寫了)

1 //minamoto 2 #include<cstdio> 3 #include<cmath> 4 #include<ctime> 5 #include<cstdlib> 6 #define RD T*(rand()*2-RAND_MAX) 7 #define double long double 8 const int N=1005; 9 double x[N],y[N],w[N]; 10 const double D=0.97,EPS=1e-14; 11 int n; 12 inline double calc(double x0,double y0){ 13 double res=0,dx,dy; 14 for(int i=1;i<=n;++i){ 15 dx=x[i]-x0,dy=y[i]-y0; 16 res+=sqrt(dx*dx+dy*dy)*w[i]; 17 } 18 return res; 19 } 20 int main(){ 21 double bx=0,by=0,best,ans,T,x0,y0,x1,y1,res; 22 // freopen("testdata.in","r",stdin); 23 int times=1; 24 scanf("%d",&n); 25 for(int i=1;i<=n;++i){ 26 scanf("%Lf%Lf%Lf",&x[i],&y[i],&w[i]); 27 bx+=x[i],by+=y[i]; 28 } 29 best=ans=calc(bx/=n,by/=n); 30 srand(time(0)); 31 while(times--){ 32 ans=best,x0=bx,y0=by; 33 for(T=100000;T>EPS;T*=D){ 34 x1=x0+RD;y1=y0+RD; 35 res=calc(x1,y1); 36 if(best>res) best=res,bx=x1,by=y1; 37 if(ans>res||exp((ans-res)/T)>(double)rand()/RAND_MAX) 38 ans=res,x0=x1,y0=y1; 39 } 40 } 41 printf("%.3Lf %.3Lf\n",bx,by); 42 return 0; 43 }

?

轉(zhuǎn)載于:https://www.cnblogs.com/bztMinamoto/p/9670345.html

總結(jié)

以上是生活随笔為你收集整理的洛谷P1337 [JSOI2004]平衡点 / 吊打XXX(模拟退火)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。