zoukankan      html  css  js  c++  java
  • 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\),根据归纳容易推得上述根号下的开完根号都为整数
    所以不需要考虑实数

  • 相关阅读:
    Hadoop——Hive的序列化,文件存储,分桶和分区
    Hadoop——Hive的数据操作
    Hadoop——Hive简介和环境配置
    Hadoop基础——优化策略
    Hadoop基础——HDFS、MapReduce、Yarn的运行原理和机制
    JavaScript基础
    mysql 基本操作
    初学——java反射
    Java初学—多线程
    ubuntu增加工作分区(workspace)命令
  • 原文地址:https://www.cnblogs.com/Grice/p/12263102.html
Copyright © 2011-2022 走看看