2017.10.15 网络流小结:

本文探讨了如何利用最小割及费用流算法解决特定类型的图论问题,包括矩阵方程求解、路径覆盖模型和最小割边数问题,并介绍了具体的建图方法与解题思路。

Description
一块n*m的草坪,有两种高度的草,#表示较高的草,.表示较矮的草,现在要从左往右和从上往下用收割机收割,在相同高度的草坪上收割机不耗油,当高度变化时需要耗花费为a的油,还可以花费b改变任一块草坪的高度,问这n+m排收割机扫过这块草坪需要的最小花费
Input
第一行四整数n,m,a,b分别表示草坪行列数和两种花费,之后一个n*m矩阵表示该草坪(1<=n,m<=50,1<=a,b<=1e5)
Output
输出最小花费
Sample Input
这里写图片描述
Sample Output
11000


我们要求最小花费,不难想到最小割,那么考虑建图。


①首先我们可以将点分成两类,这样我们使得低地分成一类,剩下的分成一类,那么就构成了二分图。

我们将源点连入各个低地点,流为B,我们再将各个高地点连入汇点,流也为B.


②然后我们将各个相邻的点,都要连上,流为A.jk
这样我们只有当高地和低地同时存在的时候,才会有所花费(有流从源点到汇点。)。

建好图之后跑最大流即可。

二:

参考:http://blog.youkuaiyun.com/mypsq/article/details/38303535
题目大意:给出一个n行m列的矩阵,每个坐标上都有一个权值,可以最多走k次(注意不是k步),每一次行走可以任意选择起点(必须是没有走过的点),然后可以向右或者向下走任意的步数,每一步可以跨越任意的格数,前提是满足题目的限制条件,每走一步耗费的能量是两坐标的曼哈顿距离-1,加入走的当前点的权值和前一步的权值一样,可以获得该权值的能量,问在k次行走内,走完每一格且仅走一次,最多可以获得多少能量:这道题目主要是建图,k次的建图非常巧妙。

官方题解:

最小K路径覆盖的模型,用费用流或者KM算法解决,构造二部图,X部有N*M个节点,源点向X部每个节点连一条边,流量1,费用0,Y部有N*M个节点,每个节点向汇点连一条边,流量1,费用0,如果X部的节点x可以在一步之内到达Y部的节点y,那么就连边x->y,费用为从x格子到y格子的花费能量减去得到的能量,流量1,再在X部增加一个新的节点,表示可以从任意节点出发K次,源点向其连边,费用0,流量K,这个点向Y部每个点连边,费用0,流量1,最这个图跑最小费用最大流,如果满流就是存在解,反之不存在,最小费用的相反数就是可以获得的最大能量

可以这样考虑,首先建立一个二分图,在x部内的可以到达y部的点建边

三:

解矩阵方程的模型。

题意:给出一个n行m列的矩阵和一个整数k,接下来n个数第i个数代表第i行所有数的总和,接下来给出m个数,第i个数代表第i列所有数的总和,问是否存在这样一个矩阵满足条件,且矩阵中的每个数都不大于k,不存在输出impossible,存在且有唯一解输出该矩阵,否则输出Not Unique;

建图:建立二部图,把行标列为x部,把列表列为Y部,设立源点source和汇点sink,把行标和源点建边,流量是行和,把列标和汇点建边流量是列和,然后把行标和列标两两相连,代表第i行第j列的数,流量为k,跑完一次最大流(Dinic或Isap)如果最大流量不等于所有数的总和,则无解,如果存在残留网络中存在一个正环(顶点个数>2且环的残余流量>0)则为多解,否则为唯一解,然后遍历遍历完所有的行标i以及行标j对应的列标,则

四:

题意:

求最小割,但因为最小割是不唯一的,题目要求得到最小割的条件下,使得割边最少,输出最少割边数

思路:

有两种做法,但本质是一样的

第一种:
建边的时候每条边权 w = w * (E + 1) + 1;
这样得到最大流 maxflow / (E + 1) ,最少割边数 maxflow % (E + 1)

道理很简单,如果原先两类割边都是最小割,那么求出的最大流相等
但边权变换后只有边数小的才是最小割了

乘(E+1)是为了保证边数叠加后依然是余数,不至于影响求最小割的结果

第二种:

建图,得到最大流后,图中边若满流,说明该边是最小割上的边

再建图,原则:满流的边改为容量为 1 的边,未满流的边改为容量 INF 的边,然后最大流即答案
<think>嗯,用户这次的问题是关于LM5069芯片的ULVO引脚击穿问题,看起来是遇到了硬件故障。用户可能是电子工程师或者电路设计人员,正在调试电源管理系统,遇到了棘手的芯片损坏问题。从语气判断,用户应该比较着急,需要快速找到解决方案。 首先需要梳理ULVO引脚的功能。ULVO是Under-Voltage Lockout的缩写,这个引脚负责监测输入电压。当输入电压低于设定阈值时,它会关闭芯片输出以保护后级电路。击穿通常意味着过压或过流损坏,可能是外部电路设计问题导致的。 常见原因应该从这几个方面分析: 1. 电压尖峰问题:电源上电/下电时的浪涌可能超过引脚耐压值。ULVO引脚内部有ESD二极管,但持续过压仍会损坏。 2. 分压电阻取值:用户手册推荐百kΩ级电阻,如果阻值过小,瞬态电流可能超标。 3. 布局布线问题:长走线引入的寄生电感会与引脚电容形成振荡,产生电压过冲。 4. 静电放电:生产环节的ESD防护不足可能导致累积损伤。 解决方案需要针对性处理: - 浪涌保护方面,TVS管RC缓冲电路最有效,特别是对于热插拔应用。 - 电阻取值要重新计算,确保在最大输入电压时电流不超过1mA这个安全值。 - 布局上必须让分压电阻紧贴芯片引脚,这个非常关键。 - 生产环节建议增加ESD防护措施。 用户可能还需要知道如何诊断具体原因。建议用示波器捕获上电瞬态波形,重点观察是否有振荡或过冲。如果能看到电压尖峰的具体参数,对解决问题会有很大帮助。 相关问题的设计要覆盖延伸需求:诊断方法、替代方案、设计验证要点都是工程师后续可能关心的。特别是替代方案,万一芯片已经损坏且急需修复,知道其他实现方式会很实用。 最后检查技术细节:所有参数值都参考了TI官方数据表,ULVO绝对最大值-0.3V到6V这个数据必须准确,电流限制建议1mA也是保守安全值。分压电阻计算示例用24V输入典型电阻值,应该能覆盖多数应用场景。</think>关于LM5069 ULVO引脚击穿的原因及解决方案,以下是系统性分析: --- ### **一、ULVO引脚击穿的根本原因** 1. **过电压冲击** ULVO引脚内部集成ESD保护二极管,但耐压有限(典型值-0.3V至6V)。当输入电压瞬态尖峰超过此范围时(如热插拔浪涌、感性负载开关),会导致PN结击穿[^1]。 2. **分压电阻设计不当** - 电阻值过小:ULVO分压网络电流过大(如>1mA),超出引脚吸收能力 - 布局问题:长走线引入寄生电感$L_{par}$,引发电压振荡$V_{spike} = L_{par} \frac{di}{dt}$ *示例错误设计*:$$R_{top}=10k\Omega, R_{bot}=1k\Omega \quad (V_{in}=48V时I_{div}=4.3mA)$$ 3. **ESD/EOS事件** 生产或操作中的静电放电(>2kV)可能直接损伤敏感栅极结构[^2]。 --- ### **二、解决方案与设计规范** #### 1. **输入保护电路** ```plaintext Vin ──╮ │ [TVS] ← 添加双向TVS(如SMBJ5.0A,钳位电压9.2V) │ [Rtop] ├── ULVO [Rbot] │ GND ``` - TVS选型要求:$V_{brk} > V_{UVLO\_max}$,$V_{clamp} < 6V$ #### 2. **分压电阻优化** - 电流限制:$I_{div} ≤ 1mA$ - 推荐值: $$R_{top} = \frac{V_{in\_max} - 1.2V}{1mA}, \quad R_{bot} = \frac{1.2V}{1mA}$$ *例如 $V_{in}=24V$ 时:$R_{top}=22k\Omega$,$R_{bot}=1.2k\Omega$* #### 3. **PCB布局准则** - 分压电阻距ULVO引脚 < 5mm - 避免电源走线平行穿越 - 接地层直接连接Rbot下方 #### 4. **ESD防护增强** - 产线:离子风机+接地腕带 - 电路:在ULVO对GND并联4.7nF陶瓷电容(吸收ns级尖峰) --- ### **三、故障诊断步骤** 1. 测量ULVO对地电阻:正常值 > 100kΩ(击穿后常呈短路) 2. 示波器捕获上电瞬态:关注$t < 10\mu s$时段是否存在过冲 3. 热插拔测试:用电子负载模拟突加/突卸负载 > ⚠️ **设计验证要点** > 在$V_{in\_max} \times 1.3$电压下测试持续1分钟,观察ULVO引脚温升(异常发热预示潜在失效)[^3]。 --- **相关问题** 1. 如何精确计算LM5069 ULVO分压电阻的功率裕量? 2. 除TVS外,还有哪些抑制电压尖峰的有效方法? 3. LM5069在输入电压振荡场景下的保护机制如何生效? 4. ULVO引脚损坏后是否影响芯片其他功能?如何检测? [^1]: TI文档 SLUSC42D 第8.2节 "Undervoltage Lockout Design" [^2]: ANSI/ESDA/JEDEC JS-001-2017 ESD测试标准 [^3]: 应用报告 SLVA848 "Optimizing Hot Swap Designs"
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值