国家集训队2006论文集 冯威

国家集训队2006论文集 冯威

ID:21162876

大小:446.00 KB

页数:29页

时间:2018-10-20

国家集训队2006论文集 冯威_第1页
国家集训队2006论文集 冯威_第2页
国家集训队2006论文集 冯威_第3页
国家集训队2006论文集 冯威_第4页
国家集训队2006论文集 冯威_第5页
资源描述:

《国家集训队2006论文集 冯威》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数与图的完美结合------浅析差分约束系统华中师大一附中冯威引言在面对多种多样的问题时,我们经常会碰到这样的情况:往往我们能够根据题目题面意思来建立一些简单的模型,但却面对这些模型无从下手。这时我们应该意识到,也许能够将这种模型与其他的模型之间搭起一座桥梁,使我们能够用更简单直接的方式解决它。这里我们介绍一种方法,它很好地将某些特殊的不等式组与图相联结,让复杂的问题简单化,将难处理的问题用我们所熟知的方法去解决,它便是差分约束系统。这里我们着重介绍差分约束系统的原理和其需要掌握的bellman-ford算法。然后通过zju1508和zju1420

2、两道题目解析差分约束系统在信息学题目中的应用,并逐渐归纳解决这类问题的思考方向。Bellmanford算法算法简单介绍这个算法能在更一般的情况下解决最短路的问题。一般在:1.该算法下边的权值可以为负2.可以运用该算法求有向图的单元最长路径或者最短路径.3.…Bellmanford算法松弛技术:对每一个结点v,逐步减小从起点s到终点v最短路的估计量dist[v]直到其达到真正的最短路径值mindist[v]。以单元最短路径为例这个操作就是保证dist[v]<=dist[u]+w[u,v],即ifdist[v]>dist[u]+w[u,v]thendi

3、st[v]=dist[u]+w[u,v]如果是最长路径则是保证dist[v]>=dist[u]+w[u,v]Bellmanford算法伪代码如下:Fori=1to

4、V

5、G

6、

7、-1Dofor每条边(u,v)Do更新操作(u,v,w(u,v))For每条边(u,v)Doif仍然有可更新内容thenreturnFalseReturnTrueBellmanford算法MAXMAXMAXMAX06785-2-4-3792ST6MAX7MAX06785-2-4-3792ST647206785-2-4-3792ST247206785-2-4-3792ST图例中,

8、S为源节点,粗线段覆盖的边表示最近一次执行更新操作的边。算法执行

9、V

10、-1次操作,每次操作都对所有可以进行松弛操作的边进行扩展。Bellmanford算法最终状态如下图。247-206785-2-4-3792STBellmanford算法证明算法的正确性1.设G=(V,E)为有向加权图,源节点为S,加权函数为w:E-〉R。如果有负权回路则Bellman-ford算法一定会返回布尔值false,否则返回TRUE。2.设G=(V,E)为有向加权图,源节点为S加权函数为w:E-〉R,并且G不含从s可达的负权回路,则算法Bellman-ford终止时,对所

11、有从s可达的结点v有d[v]=mindist(s,v)。差分约束系统对于解决差分约束系统问题的操作过程和使用原理,我们通过下面一道简单的题目进行了解。引例:Zju1508Interval题目大意:有一个序列,题目用n个整数组合[ai,bi,ci]来描述它,[ai,bi,ci]表示在该序列中处于[ai,bi]这个区间的整数至少有ci个。如果存在这样的序列,请求出满足题目要求的最短的序列长度是多少。如果不存在则输出-1。差分约束系统输入:第一行包括一个整数n,表示区间个数,以下n行每行描述这些区间,第i+1行三个整数ai,bi,ci,由空格隔开,其中0

12、<=ai<=bi<=50000而且1<=ci<=bi-ai+1。输出:一行,输出满足要求的序列的长度的最小值。差分约束系统将问题数字化:定义数组T,若数字i出现在序列中,则Ti=1,否则Ti=0,那么本题约束条件即为建立不等式模型:这样的描述使一个约束条件所牵涉的变量太多,不妨设(i=1,2,…,n)差分约束系统约束条件即可用以下不等式表示值得注意的是,这样定义的S若仅仅满足约束条件的要求是不能完整体现它的意义的,S中的各个组成之间并不是相对独立的,他们存在着联系。由于T数组要么为1要么为0,则Si一定比Si-1大,且至多大1于是有差分约束系统联想

13、我们需要寻找一个满足以下要求的S数组那么如何找到满足要求的这样一组S,且使其个数最少呢?而Bellman-Ford每次的更新操作为差分约束系统INPUT3142363231于是做出如下的转化:1.我们将S0,S1。。。Sn看作n+1个点V0,V1,。。,Vn2.对诸如A-B>=C的形式,我们从A向B连一条有向边,权值为-C。1)Sbi-Sai-1>=Ci2)Si-Si-1>=03)Si-1-Si>=-1这样图就能完整地描述本题了!用Bellman-ford求解!!201345611111000000-1-3-2例1S4-S0>=2S6-S2>=3S

14、3-S1>=1差分约束系统这样如果我们从V0出发,求出结点V0到Vn的最短路径,则Sn-S0为满足要求情况下的最小值。相反

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。