题意:

给出一个由n个节点和m个二元电阻元件组成的电路,求问节点1到节点n的等效电阻。

解法:

应用电子电路分析中的基尔霍夫定律,对于每一个点有流量平衡,得

对于点$x$有 $$I_{出} + \sum_{<i,x>∈|E|}{\frac{U_x-U_i}{R_{x,i}}} = I_{入}$$

规定从点1流入$1A$的电流,从点n流出$1A$的电流,得到n个关于$U_i$的方程。

注意到n个方程最大线性无关组为 n-1个方程,解出来是$x = k* \eta + \xi$,从而要引入一个新的方程。

(因为限制流入1的电流是$1A$的方程是多余的)

只要将点1的方程改成 $U_1 = 0V$ 即可。

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <cmath> #define N 110
#define LD double
#define eps 1e-13 using namespace std; int n,m,tot;
LD u[N],a[N][N]; LD Gauss(LD a[N][N],int n)
{
int cnt=;
for(int i=;i<=n;i++)
{
int t=;
for(int j=i;j<=n;j++)
if(fabs(a[j][i])>eps)
{
t=j;
break;
}
if(!t)
{
cnt++;
continue;
}
for(int j=;j<=n+;j++) swap(a[i][j],a[t][j]);
for(int j=i+;j<=n+;j++) a[i][j]/=a[i][i];
a[i][i]=1.0;
for(int j=;j<=n;j++)
{
if(j==i) continue;
for(int k=i+;k<=n+;k++)
a[j][k] -= a[j][i]*a[i][k];
a[j][i]=;
}
}
return a[n][n+]/a[n][]- a[][n+]/a[][n];
} int main()
{
// freopen("test.txt","r",stdin);
while(~scanf("%d%d",&n,&m))
{
memset(a,,sizeof(a));
int x,y;
LD R;
for(int i=;i<=m;i++)
{
scanf("%d%d%lf",&x,&y,&R);
LD tmp=1.0/R;
a[x][x]+=tmp;
a[y][y]+=tmp;
a[x][y]-=tmp;
a[y][x]-=tmp;
}
a[][]=;
for(int i=;i<=n;i++) a[][i]=;
a[][n+]=;
a[n][n+]=;
printf("%.2f\n",Gauss(a,n));
}
return ;
}

Resistance的更多相关文章

  1. The Non-Inverting Amplifier Output Resistance by Adrian S. Nastase [ Copied ]

    Source Address: http://masteringelectronicsdesign.com/the-non-inverting-amplifier-output-resistance/ ...

  2. codeforces343A A. Rational Resistance

    http://http://codeforces.com/problemset/problem/343/A A. Rational Resistance time limit per test 1 s ...

  3. Codeforces Round #200 (Div. 1)A. Rational Resistance 数学

    A. Rational Resistance Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/343 ...

  4. New Lantern Version Available Upgrade Lantern for improved blocking resistance!

    New Lantern Version Available Upgrade Lantern for improved blocking resistance! The new version: is ...

  5. hug and Compression Resistance

    Hugging => content does not want to grow Compression Resistance => content does not want to sh ...

  6. AutoLayout学习之理解intrinsicContentSize,Content Hugging Priority,Content Compression Resistance Priority

    TableViewCell的高度计算应该是所有开发者都会使用到的东西,之前都是用代码计算的方法来计算这个高度.最近有时间看了几个计算Cell高度的方法.基本上都用到了AutoLayout,这篇首先介绍 ...

  7. Codeforces Round #200 (Div. 2) C. Rational Resistance

    C. Rational Resistance time limit per test 1 second memory limit per test 256 megabytes input standa ...

  8. iOS开发之AutoLayout中的Content Hugging Priority和 Content Compression Resistance Priority解析

    本篇博客的内容也不算太复杂,算是AutoLayout的一些高级的用法.本篇博客我们主要通过一些示例来看一下AutoLayout中的Content Hugging Priority以及Content C ...

  9. The Non-Inverting Amplifier Output Resistance by Adrian S. Nastase [转载]

    Source Address: http://masteringelectronicsdesign.com/the-non-inverting-amplifier-output-resistance/ ...

  10. HDU 3976 Electric resistance (高斯消元法)

    Electric resistance Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

随机推荐

  1. 现成Android 5.0系统源代码

    让Android融入我的生活! 写Android一段时间了,每次看到网上一些大牛的博客.分析Android底层Zygote启动.Activity启动.View的绘制过程.SurfaceFlinger. ...

  2. AtomicInteger在实际项目中的应用

    AtomicInteger.一个提供原子操作的Integer的类. 在Java语言中,++i和i++操作并非线程安全的.在使用的时候,不可避免的会用到synchronized关键字. 而AtomicI ...

  3. 一套Tomcat处理多个域名请求 - Virtual Host

    最近和Tomcat较上劲了... 作为Tomcat的系列之一,来尝试下如何用一套Tomcat来处理多个域名请求. 场景:基于成本考虑,多个department共用一台服务器,然后该服务器上就一套Tom ...

  4. 关于erlang解析json数据

    JSON(JavaScript Object Notation)是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读.json的数据格式是文本文档格式的一种.在erlang中可以参考mochiwe ...

  5. bb=Discuz与 Discuz! X ,Discuz!NT区别

    没加x的,仅仅是单独的论坛. 加了x的,模块加了很多了,门户,家园,排行榜,群组,都是Discuz! X上的,而Discuz!上没有,所以说Discuz! X更加适用于建设门户网 Discuz! X ...

  6. Cocos2d-x3.1FileUtilsTest使用

    Cocos2d-x3.1中FileUtils的使用:本使用教程是基于HelloWorld的.仅仅需在HelloWorld的init()函数中加入例如以下代码 //头文件 #include " ...

  7. FormsAuthentication 在asp.net MVC中的应用

    说明:开发环境 vs2012 asp.net mvc4 c# 项目结构: 1.开发步骤 1.1 创建项目 打开vs2012 开发环境 “文件”--“新建”--“项目” 选择asp.net mvc项目类 ...

  8. TTimer源码研究

    TTimerProc = procedure of object; IFMXTimerService = interface(IInterface) ['{856E938B-FF7B-4E13-85D ...

  9. Javascript的参数详解

    函数可以有参数也可以没有参数,如果定义了参数,在调用函数的时候没有传值,默认设置为undefined 在调用函数时如果传递参数超过了定义时参数,jS会忽略掉多余参数 jS中不能直接写默认值,可以通过a ...

  10. 事件 MotionEvent

    点击和长按可能会同时发生,需要在长按的回调函数中返回true,就不会产生点击.谁处理事件谁就是消费者 如果view组件不处理事件,最后会让ontouchevent处理,它是备胎 <LinearL ...