洛谷P1337 [JSOI2004]平衡点 / 吊打XXX(模拟退火)
传送门
先坑着,联赛活着回来的话我就写(意思就是我绝对不会写了)
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(模拟退火)相关推荐
- 洛谷 P1337 [JSOI2004]平衡点 / 吊打XXX
具体题目见洛谷 P1337 [JSOI2004]平衡点 / 吊打XXX 方法一:模拟退火 思路:当绳子平衡时,系统的能量最小,则此时物体总的重力势能要最小,也就是物体重量一定的情况下绳长最长,即桌子上 ...
- P1337 [JSOI2004]平衡点 / 吊打XXX 模拟退火
平衡点 / 吊打XXX solution 记录一下模拟退火的几个题目 code /*SiberianSquirrel*//*CuteKiloFish*/ #include <bits/stdc+ ...
- 模拟退火总结+洛谷模板题(P1337 [JSOI2004]平衡点 / 吊打XXX)
原来就听说过模拟退火,然后一直觉得神奇,但是没有真正的去实现这个算法. 模拟退火对TSP之类的问题很实用. 1.概念:模拟退火算法(Simulate Anneal,SA)是一种通用概率演算法,用来在一 ...
- 平衡点 / 吊打XXX(洛谷-P1337)
题目描述 如图:有n个重物,每个重物系在一条足够长的绳子上.每条绳子自上而下穿过桌面上的洞,然后系在一起.图中X处就是公共的绳结.假设绳子是完全弹性的(不会造成能量损失),桌子足够高(因而重物不会垂到 ...
- 【luogu1337】【JSOI2004】平衡点 / 吊打XXX(模拟退火)
problem solution 题意: 给出n个重物的坐标和重量,他们通过一根绳子穿过正上方的洞连在桌面上的某个绳结处,求该绳结的坐标位置. 思路: 根据物理知识:当系统处于平衡状态时,系统的总能量 ...
- P1337-[JSOI2004]平衡点/吊打XXX【模拟退火】
正题 题目链接:https://www.luogu.com.cn/problem/P1337 题目大意 nnn个点有重量wiw_iwi,求重心. 解题思路 模拟退火随机找一个重心然后不断接近即可. ...
- BZOJ 3680 吊打XXX 模拟退火
首先这题应该改名叫吊打出题人 题目大意:给定n个质点,求重心 这n个质点的重心满足Σ(重心到点i的距离)*g[i]最小 模拟退火的裸题 尼玛交了两篇 死活过不去 各种改参数 最后发现是我的INF不够大 ...
- Java 洛谷 提交完题目的代码之后一直停留在 ( 正在等待编译……),刷新页面之后 ,显示 Unaccepted 0分
在洛谷刷题的时候遇到了这样的问题: 提交完题目的代码之后一直停留在 ( 正在等待编译--),刷新页面之后 ,显示 Unaccepted 0分 解决方法: 1.检查你的类名是否是 Main 2.检查你的 ...
- [洛谷P2124] 奶牛美容
洛谷题目链接:奶牛美容 题目描述 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例#1: 6 16 ................ ..XXXX....XXX... ...XXXX... ...
最新文章
- oracle job的迁移
- 牛逼!大神用漫画带你了解 Linux 内核到底长啥样
- Maven本地缓存清理小工具
- python时间序列预测报错_python如何做时间序列
- Mysql 优化器内部JOIN算法hash join Nestloopjoin及classic hash join CHJ过程详解
- java 中不常见的关键字:strictfp,transient
- 操作篇 HYbrid的应用和学习
- caffe生成voc格式lmdb
- Linux Socket通信 C/S模型
- wordpress学习(四)---url伪静态简单了解
- android python .xlsx_python读写xlsx
- 惠普m128fn中文说明书_惠普M128fn说明书
- C#RSACryptoServiceProvider加密
- Deep Learning论文翻译(Nature Deep Review)
- c++字符串与c字符串
- 项目中生成requests.txt文件(virtualenv与pipreqs)
- 数据库系统之:关系代数详解-超详细
- windows 2008系统防火墙无法启动提示 错误1068:依赖服务或组无法启动
- 极客路由 链接密码_极客特惠:计算机,路由器和免费调音
- 静态网页-猫眼电影首页完整版(附源码)
热门文章
- 字符串基本操作 c语言,数据结构C语言字符串的基本操作.doc
- Java语法基础-1
- Android开发日常笔记
- 苹果开发着账号:个人、公司、企业账号的申请流程
- 逆矩阵、伪逆矩阵:数据的压缩和复原
- mysql 导入错误_mysql导入sql文件报错 ERROR 2013 2006 2002
- oracle元数据存储在表空间,[Oracle] dbms_metadata.get_ddl 的使用方法总结
- mysql导出 error1290_解决MySQL导出数据到文件报错:ERROR 1290
- Spark详解(十):SparkShuffle机制原理分析
- 如何查看云服务器的系统版本,如何查看云服务器系统版本