首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
[JSOI2004]平衡点 / 吊打XXX
2024-09-03
JSOI2004 平衡点 / 吊打XXX [模拟退火]
题目描述 如图:有n个重物,每个重物系在一条足够长的绳子上.每条绳子自上而下穿过桌面上的洞,然后系在一起.图中X处就是公共的绳结.假设绳子是完全弹性的(不会造成能量损失),桌子足够高(因而重物不会垂到地上),且忽略所有的摩擦. 问绳结X最终平衡于何处. 注意:桌面上的洞都比绳结X小得多,所以即使某个重物特别重,绳结X也不可能穿过桌面上的洞掉下来,最多是卡在某个洞口处. 输入输出格式 输入格式: 文件的第一行为一个正整数n(1≤n≤1000),表示重物和洞的数目.接下来的n行,每行是3个整数:Xi
洛谷 P1337 [JSOI2004]平衡点 / 吊打XXX 解题报告
P1337 [JSOI2004]平衡点 / 吊打XXX 题目描述 有 \(n\) 个重物,每个重物系在一条足够长的绳子上.每条绳子自上而下穿过桌面上的洞,然后系在一起.\(X\)处就是公共的绳结.假设绳子是完全弹性的(不会造成能量损失),桌子足够高(因而重物不会垂到地上),且忽略所有的摩擦. 问绳结 \(X\) 最终平衡于何处. 注意:桌面上的洞都比绳结 \(X\) 小得多,所以即使某个重物特别重,绳结 \(X\) 也不可能穿过桌面上的洞掉下来,最多是卡在某个洞口处. 输入输出格式 输入格式:
洛谷 P1337 [JSOI2004]平衡点 / 吊打XXX
洛谷 P1337 [JSOI2004]平衡点 / 吊打XXX 点击进入FakeHu的模拟退火博客 神仙模拟退火...去看fakehu的博客吧...懒得写了... 因为精度问题要在求得的最优解附近(大约0.01以内随机找解更新 成功创造此题唯一一个9000ms....链接(反正你也点不进去=.= #include<bits/stdc++.h> #define il inline #define vd void typedef long long ll; il int gi(){ int x=0,
luogu1337 [JSOI2004]平衡点 / 吊打XXX(模拟退火)
推荐博客:模拟退火总结(模拟退火)by FlashHu.模拟退火的原理,差不多就是不断地由现有的值不断地试探,不断地转到更优的值,并在一定概率下转到较差的值. 题目传送门:luogu1337 [JSOI2004]平衡点 / 吊打XXX 题目转述:平面上有n个点,每个点有自己的位置\(xi\),\(yi\)和权值\(wi\).求一个新点的位置\(x\),\(y\),使得该点到其余所有点距离与权值之积的和最小.也即\(\sum\limits_{i=1}^n sqrt((x-x[i])^2+(y-y[
[luogu1337][bzoj3680][JSOI2004]平衡点 / 吊打XXX【模拟退火】
题目描述 gty又虐了一场比赛,被虐的蒟蒻们决定吊打gty.gty见大势不好机智的分出了n个分身,但还是被人多势众的蒟蒻抓住了.蒟蒻们将n个gty吊在n根绳子上,每根绳子穿过天台的一个洞.这n根绳子有一个公共的绳结x.吊好gty后蒟蒻们发现由于每个gty重力不同,绳结x在移动.蒟蒻wangxz脑洞大开的决定计算出x最后停留处的坐标,由于他太弱了决定向你求助. 不计摩擦,不计能量损失,由于gty足够矮所以不会掉到地上. 分析 模拟退火的链接:https://www.cnblogs.com/chho
洛谷P1337 [JSOI2004]平衡点 / 吊打XXX(模拟退火)
题目描述 如图:有n个重物,每个重物系在一条足够长的绳子上.每条绳子自上而下穿过桌面上的洞,然后系在一起.图中X处就是公共的绳结.假设绳子是完全弹性的(不会造成能量损失),桌子足够高(因而重物不会垂到地上),且忽略所有的摩擦. 问绳结X最终平衡于何处. 注意:桌面上的洞都比绳结X小得多,所以即使某个重物特别重,绳结X也不可能穿过桌面上的洞掉下来,最多是卡在某个洞口处. 输入输出格式 输入格式: 文件的第一行为一个正整数n(1≤n≤1000),表示重物和洞的数目.接下来的n行,每行是3个整数:Xi
LG1337 [JSOI2004]平衡点 / 吊打XXX
题意 题目描述 如图:有n个重物,每个重物系在一条足够长的绳子上.每条绳子自上而下穿过桌面上的洞,然后系在一起.图中X处就是公共的绳结.假设绳子是完全弹性的(不会造成能量损失),桌子足够高(因而重物不会垂到地上),且忽略所有的摩擦. 问绳结X最终平衡于何处. 注意:桌面上的洞都比绳结X小得多,所以即使某个重物特别重,绳结X也不可能穿过桌面上的洞掉下来,最多是卡在某个洞口处. 输入输出格式 输入格式: 文件的第一行为一个正整数n(1≤n≤1000),表示重物和洞的数目.接下来的n行,每行是3个整数
洛谷P1337 【[JSOI2004]平衡点 / 吊打XXX】(模拟退火)
洛谷题目传送门 很可惜,充满Mo力的Mo拟退火并不是正解.不过这是一道最适合开始入手Mo拟退火的好题. 对模拟退火还不是很清楚的可以看一下 这道题还真和能量有点关系.达到平衡稳态的时候,物体的总能量应该是最小的.而总的能量来源于每个物体的重力势能之和.要想让某个物体势能减小,那就让拉着它的绳子在桌面下方的长度尽可能的长,也就是桌面上的要尽可能短.由此看来,某个物体的势能与桌面上的绳子的长度.物体重量都成正比. 于是,为了找到平衡点,我们要找一个点使得\(\sum_{i=1}^n d_i*w_i\
LG1337 [JSOI2004]平衡点 / 吊打XXX 模拟退火
问题描述 LG1337 题解 模拟退火模板 记住概率公式: \(exp(\frac{dealt}{T}) \times rand \ge R_A^ND^M_AX\) zzk太欧了,我交了一版没过他来了一下就A了. \(\mathrm{Code}\) #include<bits/stdc++.h> using namespace std; template <typename Tp> void read(Tp &x){ x=0;char ch=1;int fh; while(
[BZOJ3680][JSOI2004]平衡点 / 吊打XXX
BZOJ Luogu (洛谷和BZOJ上的数据范围不同,可能需要稍微调一调参数) sol 这题的参数调得我心累 模拟退火的模型可以形象地理解为:不断降温的小球在一个凹凸不平的平面上反复横跳,根据万有引力定理小球一定会停留在一个低洼的位置.在温度高的时候小球的运动幅度剧烈,同时也较容易地会接受更劣的解(也就是一个更高的位置).随着温度降低小球的运动幅度减小,变得较难以接受一个更劣的解. 因为这题的背景下较优解会比较集中,所以在降温达到指定温度后要向四周多rand几次. code #include<
题解:[JSOI2004]平衡点 / 吊打XXX
这个题目算是一个模拟退火的板子题 物重一定,绳子越短,重物越低,势能越小,势能又与物重成正比 使得$\sum_{i=1}^nd[i]*w[i]$也就是总的重力势能最小,可以使得系统平衡 交了两面半...我怕是非洲大酋长 #include <algorithm> #include <iostream> #include <cstring> #include <cstdio> #include <cmath> #include<ctime>
P1337 [JSOI2004]平衡点 / 吊打XXX
题目描述 如图:有n个重物,每个重物系在一条足够长的绳子上.每条绳子自上而下穿过桌面上的洞,然后系在一起.图中X处就是公共的绳结.假设绳子是完全弹性的(不会造成能量损失),桌子足够高(因而重物不会垂到地上),且忽略所有的摩擦. 问绳结X最终平衡于何处. 注意:桌面上的洞都比绳结X小得多,所以即使某个重物特别重,绳结X也不可能穿过桌面上的洞掉下来,最多是卡在某个洞口处. 输入输出格式 输入格式: 文件的第一行为一个正整数n(1≤n≤1000),表示重物和洞的数目.接下来的n行,每行是3个整数:Xi
Luogu P1337 [JSOI2004]平衡点 / 吊打XXX
一道入门模拟退火的经典题,还是很考验RP的 首先我们发现神TM这道题又和物理扯上了关系,其实是一道求广义费马点的题目 首先我们可以根据物理知识得到,当系统处于平衡状态时,系统的总能量最小 又此时系统的总能量是等于各个物体的重力势能,在质量一定时,即要求物体离地最近,离桌子最远. 那么,也就是绳子在桌子上的距离尽量的小,即要求\(\sum_{i=1}^n m_i\cdot dist_{i,x}\)最小 (以上物理部分推导摘于pym's blog) 然后考虑退火,我们先选取一个初始位置(一般取所有点
P1337 [JSOI2004]平衡点 / 吊打XXX 模拟退火
链接 https://www.luogu.org/problemnew/show/P1337 思路 交了好多发,都是wrong 初始值取平均数就1A了 真的是玄学的算法 代码 // luogu-judger-enable-o2 #include <bits/stdc++.h> using namespace std; const double eps=1e-15; int read() { int x=0,f=1;char s=getchar(); for(;s>'9'||s<'0
BZOJ3680 & 洛谷1337:[JSOI2004]平衡点/吊打XXX——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=3680 https://www.luogu.org/problemnew/show/P1337 有n个重物,每个重物系在一条足够长的绳子上.每条绳子自上而下穿过桌面上的洞,然后系在一起.图中X处就是公共的绳结.假设绳子是完全弹性的(不会造成能量损失),桌子足够高(因而重物不会垂到地上),且忽略所有的摩擦. 问绳结X最终平衡于何处. 注意:桌面上的洞都比绳结X小得多,所以即使某个重物特别重,绳结X也
[洛谷P1337][JSOI2004]平衡点 / 吊打XXX
题目大意:有$n$个重物,每个重物系在一条绳子上.所有绳子系在一起,问绳结最终平衡于何处. 题解:$NOIP$前学学模拟退火,但发现我脸好黑啊... 卡点:脸黑 C++ Code: #include <cstdio> #include <cmath> #include <ctime> #include <cstdlib> #include <ctime> #define maxn 1010 int Tim = 22; const int __Ti
【洛谷 P1337】[JSOI2004]平衡点 / 吊打XXX (模拟退火)
题目链接 正解就算了吧,谁叫我理生化 语数外 政史地都菜呢 模拟退火真玄学,不知道发生了什么就跑出答案了,原理就算了吧,能用(pianfen)就好. 当重物平衡时,势能一定是最小的,于是当我随机出一个点时,累加所有重物到这个点的距离乘这个重物的质量的积,这样就能反映势能的相对大小了. 为什么不用考虑方向?自己脑补脑补就好了,反正平衡时这个东西也一定最小. 然后就是跑看脸的\(SA\)了,这个八位质数真神奇,交了很多遍都没过,一交这个就过了. #include <cstdio> #include
洛谷P1337 [JSOI2004]平衡点 / 吊打XXX(模拟退火)
传送门 先坑着,联赛活着回来的话我就写(意思就是我绝对不会写了) //minamoto #include<cstdio> #include<cmath> #include<ctime> #include<cstdlib> #define RD T*(rand()*2-RAND_MAX) #define double long double ; double x[N],y[N],w[N]; ; int n; inline double calc(double
JSOI2004 平衡点 / 吊打XXX
题目描述 有n个重物,每个重物系在一条足够长的绳子上.每条绳子自上而下穿过桌面上的洞,然后系在一起.图中X处就是公共的绳结.假设绳子是完全弹性的(不会造成能量损失),桌子足够高(因而重物不会垂到地上),且忽略所有的摩擦. 问绳结X最终平衡于何处. 注意:桌面上的洞都比绳结X小得多,所以即使某个重物特别重,绳结X也不可能穿过桌面上的洞掉下来,最多是卡在某个洞口处. 输入输出格式 输入格式: 文件的第一行为一个正整数n(1≤n≤1000),表示重物和洞的数目.接下来的n行,每行是3个整数:Xi.Yi
题解 P1337 【[JSOI2004]平衡点 / 吊打XXX】
这道题调了好久,果然非洲人是得不到眷顾的吗... 本题采用模拟退火解决. 模拟退火是一种简洁明了而又高效的近似算法,基本上可以套到任何求最优解的题目上去. 它的原理是模拟物理中金属退火的现象,凭借选手逆天的RP跳出局部最优解,来到全局最优解. 比较常用的近似算法还有爬山和遗传,但是我个人觉得没太大必要掌握(像我这种脸黑的选手有一次遗传算法WA52..). 模拟退火总体就是一个持续降温的流程. 在降温的过程中,坐标随机跳动的范围会越变越小. 当然,为了防止搞错,我们每一次都会以一定概率接受一个比较
热门专题
vs2019中后缀名为.cs
dataframe 过滤短文
tensorflow-指定版本安装 douban
cmdshell 执行cmd
linux下安装的openoffice怎么设置开机自启
我们找到了此设备运行家庭版,所需的专业工作站版数字许可
gradle 目录 结构
windows server2003 32位 iso
requestbody和requestparam的区别
eladmin代码自动生成
GlobalFilter 重复调用
原因也可能是用户在 具有焦点时按下了 F12
java solr查询
如何用cout输出字符串
android中xml背景边框阴影
idea中evosuite的用例生成
protel 99se装win7
2019iis挂网站
破解 mybatis log plugin
cassandra是如何将副本写入多个节点的