CF1280E Kirchhoff's Current Loss
题意
做法
考虑一个子电路图\(G\),设得到有效电阻为\(x\),费用为\(f_G(x)\),通过归纳易得\(f_G(x)\)是关于\(x\)的一个一次函数,即\(f_G(x)=k_Gx\)
考虑电路图\(G\)的若干个子电路图\(G_1,G_2,...,G_n\)
- 串联:设子电路图的系数分别为\(k_{G_1}\le k_{G_2}\le ...\le k_{G_n}\),之间把\(x\)传到\(G_1\)就行了
故\(k_G=k_{G_1}\) - 并联:有\(\frac{1}{x}=\sum\limits_{i=1}^n \frac{1}{x_i}\)
我们用柯西不等式来求\(k_G\):
\(f_G(x)=x(\sum\limits_{i=1}^n \frac{1}{x_i} )(\sum\limits_{i=1}^n k_{G_i}x_i)\ge x(\sum\limits_{i=1}^n \sqrt \frac{1}{x_i}\sqrt {k_{G_i}x_i})^2=x(\sum\limits_{i=1}^n \sqrt {k_{G_i}})^2\)
故\(k_{G_i}=(\sum\limits_{i=1}^n \sqrt {k_{G_i}})^2\)
根据柯西不等式,取等号的充要条件是:存在\(\lambda\in\mathbb{R},\sqrt {k_{G_i}x_i}=\frac{\lambda}{\sqrt{x_i}}\)
为了递推到\(x_i\),我们需要不用到\(x_i\)得到\(\lambda\):
\(\frac{1}{x_i}=\frac{\sqrt{k_{G_i}}}{\lambda},\sum\limits_{i=1}^n \frac{1}{x_i}=\frac{\sum\limits_{i=1}^n \sqrt{k_{G_i}}}{\lambda},x\sum\limits_{i=1}^n \frac{1}{x_i}=x\frac{\sum\limits_{i=1}^n \sqrt{k_{G_i}}}{\lambda},1=x\frac{\sum\limits_{i=1}^n \sqrt{k_{G_i}}}{\lambda}\)
故\(\lambda=x\sum\limits_{i=1}^n \sqrt{k_{G_i}}\)
当然目前为止我们都是用实数递推的,但递推底层(单电阻)为\(k=1\),根据归纳容易推得上述根号下的开完根号都为整数
所以不需要考虑实数
CF1280E Kirchhoff's Current Loss的更多相关文章
- Codeforces Round #607 (Div. 1) Solution
从这里开始 比赛目录 我又不太会 div 1 A? 我菜爆了... Problem A Cut and Paste 暴力模拟一下. Code #include <bits/stdc++.h> ...
- (转)Image Segmentation with Tensorflow using CNNs and Conditional Random Fields
Daniil's blog Machine Learning and Computer Vision artisan. About/ Blog/ Image Segmentation with Ten ...
- Theano3.2-练习之数据集及目标函数介绍
来自http://deeplearning.net/tutorial/gettingstarted.html#gettingstarted 一.下载 在后续的每个学习算法上,都需要下载对应的文档,如果 ...
- [另开新坑] 算导v3 #26 最大流 翻译
26 最大流 就像我们可以对一个路网构建一个有向图求最短路一样,我们也可以将一个有向图看成是一个"流量网络(flow network)",用它来回答关于流的问题. Just as ...
- (原)torch的训练过程
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6221622.html 参考网址: http://ju.outofmemory.cn/entry/284 ...
- (原)Ubuntu16中安装cuda toolkit
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5655957.html 参考网址: https://devtalk.nvidia.com/default ...
- 利用python深度学习算法来绘图
可以画画啊!可以画画啊!可以画画啊! 对,有趣的事情需要讲三遍. 事情是这样的,通过python的深度学习算法包去训练计算机模仿世界名画的风格,然后应用到另一幅画中,不多说直接上图! 这个是世界名画& ...
- keras04 GAN simple
reference: GAN 讲解 https://blog.csdn.net/u010900574/article/details/53427544 命令行解析 https://blog.csdn. ...
- Revisiting Network Support for RDMA
重新审视RDMA的网络支持 本文为SIGCOMM 2018会议论文. 笔者翻译了该论文.由于时间仓促,且笔者英文能力有限,错误之处在所难免:欢迎读者批评指正. 本文及翻译版本仅用于学习使用.如果有任何 ...
随机推荐
- Go语言实现:【剑指offer】从上往下打印二叉树
该题目来源于牛客网<剑指offer>专题. 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 不需分层,一维数组. Go语言实现: /** * Definition for a bi ...
- Mysql设置创建时间字段和更新时间字段自动获取时间,填充时间
1.引言在实际开发中,每条数据的创建时间和修改时间,尽量不需要应用程序去记录,而由数据库获取当前时间自动记录创建时间,获取当前时间自动记录修改时间. 2.创建语句(1)–添加CreateTime 设置 ...
- Matplotlib数据可视化(1):入门介绍
1 matplot入门指南¶ matplotlib是Python科学计算中使用最多的一个可视化库,功能丰富,提供了非常多的可视化方案,基本能够满足各种场景下的数据可视化需求.但功能丰富从另一方面来 ...
- 今天第一天开通博客,随笔总结一下resultType(属性)和resultMap,collection和association,Statement和PreparedStatement各自的区别
1.resultType(属性)和resultMap(标签引用)的区别? resultType不支持自定义返回结果,会将查询到的结果通过到type中java对象的同名的属性,对象中的属性名必须和数据库 ...
- MySql的命令介绍
1,连接数据库服务器命令 mysql -u 用户名 -p 密码 mysql是连接MySql数据库的命令,-u后跟用户名,-p后跟密码,如果登陆后展示"mysql",则表示登录成功. ...
- Java日志介绍(4)-Log4j2
Log4j2是Log4j的升级版,相比其前身Log4j 1.x提供了显著的改进,并提供了在Logback中提供的许多改进,同时修复了Logback体系结构中的一些固有问题. Log4j2的内容很多,本 ...
- JS数组方法(ES5、ES6)
1. arr.push() 从后面添加元素,添加一个或多个,返回值为添加完后的数组长度 let arr = [1,2,3,4,5] console.log(arr.push(6,7)) // 7 3 ...
- 异常 lock buffer failed for format 0x23
02-11 21:21:45.669625 14804 14815 W Monkey : // java.lang.RuntimeException: lock buffer failed for f ...
- [MySQL] mysql索引的长度计算和联合索引
1.所有的索引字段,如果没有设置not null,则需要加一个字节.2.定长字段,int占4个字节.date占3个字节.char(n)占n个字符.3.变长字段,varchar(n),则有n个字符+两个 ...
- findContours()函数
函数原型 findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int m ...