这道题让我差点怀疑自己高考没考过物理

题意中

he measures the resistance of any two endpoints of it, the resistance values are all 2a2a2a

指的是在三角形中电阻为 2a2a2a 而不是边上的电阻为 2a2a2a

实际上每条边的电阻R为

1R+12R=2a\frac{1}{R} + \frac{1}{2R} = 2aR1​+2R1​=2a

可以求得R=3aR = 3aR=3a

所以可以得到递推公式

an+1=1111an+43+3+13a_{n+1} = \frac{1}{ \frac{1}{ \frac{1}{ \frac{1}{a_{n}} + \frac{4}{3}} + 3} + \frac{1}{3}}an+1​=an​1​+34​1​+31​+31​1​

通过python打表

res = 5 / 3
print('%.20f' % res)
for i in range(20):
res = 1 / ((1 / (1 / (1 / res + 4 / 3) + 3)) + 1 / 3)
print('%.20f' % res)

得到

1.66666666666666674068

1.61904761904761906877

1.61805555555555535818

1.61803444782168193150

1.61803399852180329610

1.61803398895790206957

1.61803398875432269399

1.61803398874998927148

1.61803398874989712297

1.61803398874989490253

1.61803398874989468048

1.61803398874989468048

1.61803398874989468048

1.61803398874989468048

1.61803398874989468048

1.61803398874989468048

1.61803398874989468048

1.61803398874989468048

1.61803398874989468048

1.61803398874989468048

1.61803398874989468048

这是 a=1a = 1a=1 的情况,最后乘上 a 就行

很明显了,直接打表就行,借助一下字符串流

#include <bits/stdc++.h>

using namespace std;

vector<double> res;

void init() {
res.push_back(1.66666666666666674068);
res.push_back(1.61904761904761906877);
res.push_back(1.61805555555555535818);
res.push_back(1.61803444782168193150);
res.push_back(1.61803399852180329610);
res.push_back(1.61803398895790206957);
res.push_back(1.61803398875432269399);
res.push_back(1.61803398874998927148);
res.push_back(1.61803398874989712297);
res.push_back(1.61803398874989468048);
res.push_back(1.61803398874989468048);
res.push_back(1.61803398874989468048);
res.push_back(1.61803398874989468048);
res.push_back(1.61803398874989468048);
res.push_back(1.61803398874989468048);
} void solve() {
int t;
cin >> t;
init();
while (t--) {
string str;
double a;
cin >> str >> a;
if (str.length() > 2) {
cout << fixed << setprecision(10) << res.back() * a << endl;
continue;
}
stringstream ss(str);
int n;
ss >> n;
if (n > res.size() - 1) {
cout << fixed << setprecision(10) << res.back() * a << endl;
} else {
cout << fixed << setprecision(10) << res[n - 1] * a << endl;
}
}
} int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
#ifdef ACM_LOCAL
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
long long test_index_for_debug = 1;
char acm_local_for_debug;
while (cin >> acm_local_for_debug) {
cin.putback(acm_local_for_debug);
if (test_index_for_debug > 20) {
throw runtime_error("Check the stdin!!!");
}
auto start_clock_for_debug = clock();
solve();
auto end_clock_for_debug = clock();
cout << "Test " << test_index_for_debug << " successful" << endl;
cerr << "Test " << test_index_for_debug++ << " Run Time: "
<< double(end_clock_for_debug - start_clock_for_debug) / CLOCKS_PER_SEC << "s" << endl;
cout << "--------------------------------------------------" << endl;
}
#else
solve();
#endif
return 0;
}

【2019沈阳网络赛】G、Special necklace——自闭的物理题的更多相关文章

  1. 2019南昌网络赛G. tsy's number

    题意:\(\sum_{i=1}^n\sum_{j=1}^n\sum_{k=1}^n\frac{\phi(i)*\phi(j^2)*\phi(k^3)}{\phi(i)*\phi(j)*\phi(k)} ...

  2. 2019 沈阳网络赛 Fish eating fruit

    这题看了三个月,终于过了,第一次看的时候没学树形DP,想用点分治但是不会 后来学了二次扫描,就有点想法了.... 这东西也真就玄学了吧... #include<iostream> #inc ...

  3. 2019沈阳网络赛B.Dudu's maze

    https://www.cnblogs.com/31415926535x/p/11520088.html 啊,,不在状态啊,,自闭一下午,,都错题,,然后背锅,,,明明这个简单的题,,, 这题题面不容 ...

  4. [2019沈阳网络赛D题]Dawn-K's water(点分治)

    题目链接 题意为求出树上任意点对的距离对3取余的和. 比赛上听到题意就知道是点分治了,但是越写越不对劲,交之前就觉得会T,果不其然T了.修修改改结果队友写了发dp直接就过了Orz. 赛后想了想维护的东 ...

  5. 2019 徐州网络赛 G Colorful String 回文树

    题目链接:https://nanti.jisuanke.com/t/41389 The value of a string sss is equal to the number of differen ...

  6. 2019 沈阳网络赛 D Fish eating fruit ( 树形DP)

    题目传送门 题意:求一颗树中所有点对(a,b)的路径长度,路径长度按照模3之后的值进行分类,最后分别求每一类的和 分析:树形DP \(dp[i][j]\) 表示以 i 为根的子树中,所有子节点到 i ...

  7. 2019沈阳网赛树形dp

    https://nanti.jisuanke.com/t/41403 2019沈阳网络赛D题 树形dp.一棵树,求任意两个点的距离之和.u-v和v-u算两次.两点之间的距离分为三类,模3等于0,1,2 ...

  8. 2018 ICPC 沈阳网络赛

    2018 ICPC 沈阳网络赛 Call of Accepted 题目描述:求一个算式的最大值与最小值. solution 按普通算式计算方法做,只不过要同时记住最大值和最小值而已. Convex H ...

  9. ICPC 2019 徐州网络赛

    ICPC 2019 徐州网络赛 比赛时间:2019.9.7 比赛链接:The Preliminary Contest for ICPC Asia Xuzhou 2019 赛后的经验总结 // 比赛完才 ...

随机推荐

  1. 详解服务器性能测试的全生命周期?——从测试、结果分析到优化策略(转载)

    服务器性能测试是一项非常重要而且必要的工作,本文是作者Micheal在对服务器进行性能测试的过程中不断摸索出来的一些实用策略,通过定位问题,分析原因以及解决问题,实现对服务器进行更有针对性的优化,提升 ...

  2. 没有admin权限如何免安装使用Node和NPM

    此教程只针对于在windows系统上没有admin权限和软件安装权限,但是又希望能像安装版一样使用Node和NPM的用户. 步骤一: 下载压缩版node 访问https://nodejs.org/en ...

  3. C++走向远洋——54(项目一2、分数类的重载、取倒数)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  4. 【读书笔记】https://source.android.google.cn/compatibility/tests?hl=en

    AuthorBlog:秋城https://www.cnblogs.com/houser0323/ Android Platform Testing This content is geared tow ...

  5. 如何优化自己的JS代码

    尽管接触大大小小项目N多个,但是刚入行两年, 撸码还是没有完全成一定的规律:最近受到很多启发,打算沉淀沉淀自己的代码: 之前很多页面的很多js脚本本分代码,更注重效果,事件久后没有发展 性能也是很关键 ...

  6. 一篇带你看懂Flutter叠加组件Stack

    注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 Stack Stack组件可以将子组件叠加显示,根据子组件 ...

  7. Yuchuan_linux_C 编程之八 文件操作相关函数

    一.整体大纲 st_mode整体介绍: st_mode详细介绍: 二. Linux文件操作相关函数 1. stat 作用:获得文件信息,也可以获取文件大小. 头文件 #include <sys/ ...

  8. Node.Js的热更新服务——supervisor

    因为目前项目每次修改文件要看效果,必须重启服务:node app.js再进入浏览器看效果,很是麻烦.所幸的是有很多第三方的管理工具(supervisor,hotnode,forever,pm2等),当 ...

  9. 小程序session_key失效解决方案、后台解密个人数据信息

    目录 一.登录会话密钥 session_key 有效性 二.解决登录session_key 的问题 案例:解决session_key 过期问题,发送个人信息后台解密 后端解密信息,存入数据库 mysq ...

  10. http2 技术整理 nginx 搭建 http2 wireshark 抓包分析 server push 服务端推送

    使用 nginx 搭建一个 http2 的站点,准备所需: 1,域名 .com .net 均可(国内域名需要 icp 备案) 2,云主机一个,可以自由的安装配置软件的服务器 3,https 证书 ht ...