传送门

先坑着,联赛活着回来的话我就写(意思就是我绝对不会写了)

 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 }

转载于:https://www.cnblogs.com/bztMinamoto/p/9670345.html

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

  1. 洛谷 P1337 [JSOI2004]平衡点 / 吊打XXX

    具体题目见洛谷 P1337 [JSOI2004]平衡点 / 吊打XXX 方法一:模拟退火 思路:当绳子平衡时,系统的能量最小,则此时物体总的重力势能要最小,也就是物体重量一定的情况下绳长最长,即桌子上 ...

  2. P1337 [JSOI2004]平衡点 / 吊打XXX 模拟退火

    平衡点 / 吊打XXX solution 记录一下模拟退火的几个题目 code /*SiberianSquirrel*//*CuteKiloFish*/ #include <bits/stdc+ ...

  3. 模拟退火总结+洛谷模板题(P1337 [JSOI2004]平衡点 / 吊打XXX)

    原来就听说过模拟退火,然后一直觉得神奇,但是没有真正的去实现这个算法. 模拟退火对TSP之类的问题很实用. 1.概念:模拟退火算法(Simulate Anneal,SA)是一种通用概率演算法,用来在一 ...

  4. 平衡点 / 吊打XXX(洛谷-P1337)

    题目描述 如图:有n个重物,每个重物系在一条足够长的绳子上.每条绳子自上而下穿过桌面上的洞,然后系在一起.图中X处就是公共的绳结.假设绳子是完全弹性的(不会造成能量损失),桌子足够高(因而重物不会垂到 ...

  5. 【luogu1337】【JSOI2004】平衡点 / 吊打XXX(模拟退火)

    problem solution 题意: 给出n个重物的坐标和重量,他们通过一根绳子穿过正上方的洞连在桌面上的某个绳结处,求该绳结的坐标位置. 思路: 根据物理知识:当系统处于平衡状态时,系统的总能量 ...

  6. P1337-[JSOI2004]平衡点/吊打XXX【模拟退火】

    正题 题目链接:https://www.luogu.com.cn/problem/P1337 题目大意 nnn个点有重量wiw_iwi​,求重心. 解题思路 模拟退火随机找一个重心然后不断接近即可. ...

  7. BZOJ 3680 吊打XXX 模拟退火

    首先这题应该改名叫吊打出题人 题目大意:给定n个质点,求重心 这n个质点的重心满足Σ(重心到点i的距离)*g[i]最小 模拟退火的裸题 尼玛交了两篇 死活过不去 各种改参数 最后发现是我的INF不够大 ...

  8. Java 洛谷 提交完题目的代码之后一直停留在 ( 正在等待编译……),刷新页面之后 ,显示 Unaccepted 0分

    在洛谷刷题的时候遇到了这样的问题: 提交完题目的代码之后一直停留在 ( 正在等待编译--),刷新页面之后 ,显示 Unaccepted 0分 解决方法: 1.检查你的类名是否是 Main 2.检查你的 ...

  9. [洛谷P2124] 奶牛美容

    洛谷题目链接:奶牛美容 题目描述 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例#1: 6 16 ................ ..XXXX....XXX... ...XXXX... ...

最新文章

  1. oracle job的迁移
  2. 牛逼!大神用漫画带你了解 Linux 内核到底长啥样
  3. Maven本地缓存清理小工具
  4. python时间序列预测报错_python如何做时间序列
  5. Mysql 优化器内部JOIN算法hash join Nestloopjoin及classic hash join CHJ过程详解
  6. java 中不常见的关键字:strictfp,transient
  7. 操作篇 HYbrid的应用和学习
  8. caffe生成voc格式lmdb
  9. Linux Socket通信 C/S模型
  10. wordpress学习(四)---url伪静态简单了解
  11. android python .xlsx_python读写xlsx
  12. 惠普m128fn中文说明书_惠普M128fn说明书
  13. C#RSACryptoServiceProvider加密
  14. Deep Learning论文翻译(Nature Deep Review)
  15. c++字符串与c字符串
  16. 项目中生成requests.txt文件(virtualenv与pipreqs)
  17. 数据库系统之:关系代数详解-超详细
  18. windows 2008系统防火墙无法启动提示 错误1068:依赖服务或组无法启动
  19. 极客路由 链接密码_极客特惠:计算机,路由器和免费调音
  20. 静态网页-猫眼电影首页完整版(附源码)

热门文章

  1. 字符串基本操作 c语言,数据结构C语言字符串的基本操作.doc
  2. Java语法基础-1
  3. Android开发日常笔记
  4. 苹果开发着账号:个人、公司、企业账号的申请流程
  5. 逆矩阵、伪逆矩阵:数据的压缩和复原
  6. mysql 导入错误_mysql导入sql文件报错 ERROR 2013 2006 2002
  7. oracle元数据存储在表空间,[Oracle] dbms_metadata.get_ddl 的使用方法总结
  8. mysql导出 error1290_解决MySQL导出数据到文件报错:ERROR 1290
  9. Spark详解(十):SparkShuffle机制原理分析
  10. 如何查看云服务器的系统版本,如何查看云服务器系统版本