吊打XXX

Time Limit: 10 Sec Memory Limit: 128 MBSec Special Judge
Submit: 2715 Solved: 992
[Submit][Status][Discuss]
Description

gty又虐了一场比赛,被虐的蒟蒻们决定吊打gty。gty见大势不好机智的分出了n个分身,但还是被人多势众的蒟蒻抓住了。蒟蒻们将
n个gty吊在n根绳子上,每根绳子穿过天台的一个洞。这n根绳子有一个公共的绳结x。吊好gty后蒟蒻们发现由于每个gty重力不同,绳
结x在移动。蒟蒻wangxz脑洞大开的决定计算出x最后停留处的坐标,由于他太弱了决定向你求助。
不计摩擦,不计能量损失,由于gty足够矮所以不会掉到地上。

Input

输入第一行为一个正整数n(1<=n<=10000),表示gty的数目。
接下来n行,每行三个整数xi,yi,wi,表示第i个gty的横坐标,纵坐标和重力。
对于20%的数据,gty排列成一条直线。
对于50%的数据,1<=n<=1000。
对于100%的数据,1<=n<=10000,-100000<=xi,yi<=100000

Output

输出1行两个浮点数(保留到小数点后3位),表示最终x的横、纵坐标。

Sample Input

3

0 0 1

0 2 1

1 1 1

Sample Output

0.577 1.000
exm???

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int n;
double ansx,ansy;
struct data{double x,y;int w;}p[10005];
inline double sqr(double x){return x*x;}
inline double dis(double x,double y,data p)
{return sqrt(sqr(x-p.x)+sqr(y-p.y));
}
void hillclimb()
{double t=1000,x,y;for(int i=1;i<=n;i++)ansx+=p[i].x*p[i].w,ansy+=p[i].y*p[i].w;ansx/=n;ansy/=n;while(t>0.00000001){x=y=0;for(int i=1;i<=n;i++){x+=(p[i].x-ansx)*p[i].w/dis(ansx,ansy,p[i]);y+=(p[i].y-ansy)*p[i].w/dis(ansx,ansy,p[i]);}ansx+=x*t;ansy+=y*t;if(t>0.5)t*=0.5;else t*=0.97;}printf("%.3lf %.3lf",ansx,ansy);
}
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%lf%lf%d",&p[i].x,&p[i].y,&p[i].w);hillclimb();return 0;
}

【bzoj 3680】吊打XXX相关推荐

  1. 模拟退火(bzoj 3680: 吊打XXX)

    3680: 吊打出题人 Time Limit: 10 Sec  Memory Limit: 128 MBSec  Special Judge Submit: 3210  Solved: 1209 [S ...

  2. [模拟退火]BZOJ 3680 吊打XXX

    Description gty又虐了一场比赛,被虐的蒟蒻们决定吊打gty.gty见大势不好机智的分出了n个分身,但还是被人多势众的蒟蒻抓住了.蒟蒻们将 n个gty吊在n根绳子上,每根绳子穿过天台的一个 ...

  3. BZOJ 3680 吊打XXX 模拟退火

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

  4. Bzoj 3680 吊打xxx【[模拟退火】

    题意:        gty又虐了一场比赛,被虐的蒟蒻们决定吊打gty. gty见大势不好机智的分出了n个分身,但还是被人多势众的蒟蒻抓住了. 蒟蒻们将n个gty吊在n根绳子上,每根绳子穿过天台的一个 ...

  5. bzoj 3680 吊打xxx

    Description gty又虐了一场比赛,被虐的蒟蒻们决定吊打gty.gty见大势不好机智的分出了n个分身,但还是被人多势众的蒟蒻抓住了.蒟蒻们将 n个gty吊在n根绳子上,每根绳子穿过天台的一个 ...

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

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

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

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

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

    传送门 先坑着,联赛活着回来的话我就写(意思就是我绝对不会写了) 1 //minamoto 2 #include<cstdio> 3 #include<cmath> 4 #in ...

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

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

最新文章

  1. 智驾汽车MAXIEYE 招聘|SLAM、深度学习、融合、规划控制工程师等岗位(校招/实习)...
  2. 【django】配置redis数据库【4】
  3. P2024 食物链 (补集)
  4. boost::math::boost::math::interpolators::cardinal_cubic_b_spline用法的测试程序
  5. P4103-[HEOI2014]大工程【虚树,dp】
  6. matlab绘制贝叶斯曲线,Matlab建立SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线
  7. 序(不知道是什么时候的模拟题)
  8. java容器详解_详解Java 容器(第①篇)——概览
  9. Mac隔空投送功能在哪? macbook隔空投送更方便的使用方法
  10. 京东物流将收购德邦股份66.49%股份
  11. hadoop集群_使用docker部署hadoop集群
  12. VB选择文件夹并取文件夹名
  13. sqlplus连mysql库_sqlplus连接数据库
  14. xml格式转json
  15. MySQL 如何使用show processlist进行过滤
  16. 大数据Hive搭建部署常见报错信息原因
  17. 趣头条“瘦身”减负?
  18. [VOT10](2022CVPR)TCTrack: Temporal Contexts for Aerial Tracking
  19. 物体检测之SNIPER
  20. Linux查看历史命令 history

热门文章

  1. 赵小楼《天道》《遥远的救世主》深度解析(116)论天国的女人
  2. 怎样将pdf格式转换成jpg
  3. Smartbi V10.5新版本正式发布
  4. 【转】BCWS、BCWP、ACWP的理解
  5. 架构师之spring------@Autowire注入多泛型实例 can not cast to的问题解决
  6. 新电脑Linux反应慢怎么回事,电脑反应慢怎么处理 教你几招解决电脑卡慢问题
  7. 支付宝沙箱测试手机网站支付,提示商户合作协议已到期,无法继续使用
  8. 使用vue-i18n实现中英文切换
  9. MySQL数据库 第4章:数据库设计
  10. model(**inputs)备忘