最小树形图

最小树形图
最小树形图

一.

最小树形图

最小树形图,就是给有向带权图中指定一个特殊的点root,求一棵以root为根的有向生成树T,并且T中所有边的总权值最小。最小树形图的第一个算法是1965年朱永津和刘振宏提出的复杂度为O(VE)的算法。

判断是否存在树形图的方法很简单,只需要以v为根作一次图的遍历就可以了,所以下面的算法中不再考虑树形图不存在的情况。

在所有操作开始之前,我们需要把图中所有的自环全都清除。很明显,自环是不可能在任何一个树形图上的。只有进行了这步操作,总算法复杂度才真正能保证是O(VE)。

首先为除根之外的每个点选定一条入边,这条入边一定要是所有入边中最小的。现在所有的最小入边都选择出来了,如果这个入边集不存在有向环的话,我们可以证明这个集合就是该图的最小树形图。这个证明并不是很难。如果存在有向环的话,我们就要将这个有向环缩成一个人工顶点,同时改变图中边的权。假设某点u在该环上,并设这个环中指向u的边权是in[u],那么对于每条从u出发的边(u, i, w),在新图中连接(new, i, w)的边,其中new为新加的人工顶点; 对于每条进入u的边(i, u, w),在新图中建立边(i, new, w-in[u])的边。为什么入边的权要减去in[u],这个后面会解释,在这里先给出算法的步骤。然后可以证明,新图中最小树形图的权加上旧图中被收缩的那个环的权和,就是原图中最小树形图的权。

上面结论也不做证明了。现在依据上面的结论,说明一下为什么出边的权不变,入边的权要减去in [u]。对于新图中的最小树形图T,设指向人工节点的边为e。将人工节点展开以后,e指向了一个环。假设原先e是指向u的,这个时候我们将环上指向u的边 in[u]删除,这样就得到了原图中的一个树形图。我们会发现,如果新图中e的权w'(e)是原图中e的权w(e)减去in[u]权的话,那么在我们删除掉in[u],并且将e恢复为原图状态的时候,这个树形图的权仍然是新图树形图的权加环的权,而这个权值正是最小树形图的权值。所以在展开节点之后,我们得到的仍然是最小树形图。逐步展开所有的人工节点,就会得到初始图的最小树形图了。

如果实现得很聪明的话,可以达到找最小入边O(E),找环 O(V),收缩O(E),其中在找环O(V)这里需要一点技巧。这样每次收缩的复杂度是O(E),然后最多会收缩几次呢?由于我们一开始已经拿掉了所有的自环,我门可以知道每个环至少包含2个点,收缩成1个点之后,总点数减少了至少1。当整个图收缩到只有1个点的时候,最小树形图就不不用求了。所以我们最多只会进行V-1次的收缩,所以总得复杂度自然是O(VE)了。由此可见,如果一开始不除去自环的话,理论复杂度会和自环的数目有关

学了不少算法,终于第一次学会了以中国人的名字命名的算法,最小树形图的朱-刘算法。前几天看过书、ppt和网上相关的blog,在收缩环关键的那块总看得稀里糊涂。昨晚终于在威士忌的blog上看到了一幅最小树形图的构造流程图,登时大彻大悟。有时一张恰当好处的图表的确胜过万千文字解说。早上起来把它实现了,调试到现在,进一步把各种模糊的细节处理弄清楚了,也终于AC了POJ3164。呵呵

网上关于算法的描述有一些,我总结成bin3版。

有固定根的最小树形图求法O(VE):

首先消除自环,显然自环不在最小树形图中。然后判定是否存在最小树形图,以根为起点DFS一遍即可。

之后进行以下步骤。

设cost为最小树形图总权值。

0.置cost=0。

1.求最短弧集合Ao (一条弧就是一条有向边)

除源点外,为所有其他节点Vi,找到一条以Vi为终点的边,把它加入到集合Ao 中。

(加边的方法:所有点到Vi的边中权值最小的边即为该加入的边,记prev[vi]为该边的起点,mincost[vi]为该边的权值)

2.检查Ao中的边是否会形成有向圈,有则到步骤3,无则到步骤4。

(判断方法:利用prev数组,枚举为检查过的点作为搜索的起点,做类似DFS 的操作)

3.将有向环缩成一个点。

假设环中的点有(Vk1,Vk2,… ,Vki)总共i个,用缩成的点叫Vk替代,则在压缩后的图中,其他所有不在环中点v到Vk的距离定义如下:

gh[v][Vk]=min { gh[v][Vkj]-mincost[Vkj] } (1<=j<=i)而Vk到v的距离为gh[Vk][v]=min { gh[Vkj][v] } (1<=j<=i)

同时注意更新prev[v]的值,即if(prev[v]==Vkj) prev[v]=Vk

另外cost=cost+mincost[Vkj] (1<=j<=i)

到步骤1.

4.cost加上Ao的权值和即为最小树形图总权值。

如要输出最小树形图较烦,没实现过。

找环O(V),收缩O(E),总复杂度O(VE)。

二.

学了不少算法,终于第一次学会了以中国人的名字命名的算法,最小树形图的朱-刘算法。前几天看过书、ppt和网上相关的blog,在收缩环关键的那块总看得稀里糊涂。昨晚终于在

威士忌的blog上看到了一幅最小树形图的构造流程图,登时大彻大悟。有时一张恰当好处的图表的确胜过万千文字解说。早上起来把它实现了,调试到现在,进一步把各种模糊的细节处理弄清楚了,也终于AC了POJ3164。呵呵

网上关于算法的描述有一些,我总结成bin3版。

有固定根的最小树形图求法O(VE):

首先消除自环,显然自环不在最小树形图中。然后判定是否存在最小树形图,以根为起点DFS一遍即可。

之后进行以下步骤。

设cost为最小树形图总权值。

0.置cost=0。

1.求最短弧集合Ao (一条弧就是一条有向边)

除源点外,为所有其他节点Vi,找到一条以Vi为终点的边,把它加入到集合Ao中。

(加边的方法:所有点到Vi的边中权值最小的边即为该加入的边,记prev[vi]为该边的起点,mincost[vi]为该边的权值)

2.检查Ao中的边是否会形成有向圈,有则到步骤3,无则到步骤4。

(判断方法:利用prev数组,枚举为检查过的点作为搜索的起点,做类似DFS的操作)

3.将有向环缩成一个点。

假设环中的点有(Vk1,Vk2,… ,Vki)总共i个,用缩成的点叫Vk替代,则在压缩后的图中,其他所有不在环中点v到Vk的距离定义如下:

gh[v][Vk]=min { gh[v][Vkj]-mincost[Vkj] } (1<=j<=i)而Vk到v的距离为

gh[Vk][v]=min { gh[Vkj][v] } (1<=j<=i)

同时注意更新prev[v]的值,即if(prev[v]==Vkj) prev[v]=Vk

另外cost=cost+mincost[Vkj] (1<=j<=i)

到步骤1.

4.cost加上Ao的权值和即为最小树形图总权值。

如要输出最小树形图较烦,没实现过。

找环O(V),收缩O(E),总复杂度O(VE)。

那幅对我有莫大帮助的流程图如下,

对于不固定根的最小树形图,wy教主有一巧妙方法。摘录如下:

新加一个点,和每个点连权相同的边,这个权大于原图所有边权的和,这样这个图固定跟的最小树形图和原图不固定跟的最小树形图就是对应的了。

查字典技巧口诀及三种方法

小学生查字典口诀 学查字典并不难,偏旁部首看端详。 没有部首查起笔,形声字儿查形旁; 头底两层是部首,要让字头当偏旁; 左右两边是部首,取左去右有保障; 内心外壳是部首,舍去里边查外框; 整个字儿是部首,此字本身是偏旁; 一字头上生“二角”,取其下底把“角”砍; 下底如果不成部,左上角当此字旁; 有些生字较特殊,顶天立地当偏旁; 多查多想抓规律,相同部首不能忘。 查字典常用的三种方法是: 音序查字法、部首查字法和数笔画查字法。 ?如果很容易确定部首,但不确定读音就可以用部首查字法;?如果知道读音,但不会写这个字,就用音序查字法; ?如果是独体字就用数笔画查字法。

字、词典是无声的老师,这位老师随时会帮你解决疑难,扫除 学习中的“拦路虎”。你会只花少量的时间,非常方便地得到 较多、较全面、较准确的知识。熟练查字、词典,首先要学会 检字。下边以《新华字典》为例介绍这几种查字法。 一、音序查字法 音序检字法是按字音查字词的一种方法。很多字典或词典是按汉语拼音字母的顺序编排的。根据一个字的汉语拼音第一个字母,就可以在“汉语拼音音节表”中找到这个字的拼音音节在正文中的页码,再按照这个字的声调到那一页中去找。凡是要查只知道读音而不知道写法或意义的字,都可以用这种方法,但必须熟悉汉语拼音字母顺序和汉语拼音音节。 运用条件: ①字音要读得正确; ②准确无误地了解这个字的声母、韵母; ③掌握字母的写法。 知道了这个字的读音,不知道它的写法,或不知道它的意思, 就必须运用音序查字法查字。 查字步骤: ①确定音部。按要查字的读音确定音节的第一个字母——音部。

②查音节索引。在《汉语拼音音节索引》中所确定的音部栏里,找出要查字的音节,并看准该音节后面所标的正文页码。 ③翻阅正文。按页码翻阅正文,找出要查的字。 在学习中遇到不理解的字或不会写的字,只要能读准字音,就可以运用音序检字法去查检。 下面的歌诀,可以帮助同们掌握这种检字法: 音序检字须认真,读准字音很要紧。 打头字母定音部,再找音节看《索引》; 按照例字找同音,对照页码翻正文; 根据声调找汉字,字形字义记在心。 部首检字法:部首检字法属于按形查字中的一种方法。它是根据汉字的部首去查检的。凡字典正文中的单字是按部首归类进行排列的,都可以运用部首检字。 部首检字的基本步骤? ⑴确定出部首。先对所要查的字确定出查什么部。 ⑵查《部首目录》。在《部首目录》中查出该部首在《检字表》中的页码。 ⑶查《检字表》。按照页码在《检字表》中这个字的余画(即除去部首还余几画)里查出这个字在字典正文中的页码。

用树状图求概率

用树状图求概率 【学习目标】 1.掌握用“树状图”求概率的方法. 2.会画“树状图”并利用其分析和解决有关三步求概率的实际问题. 【学习重点】 用“树状图”求概率的方法. 【学习难点】 画“树状图”分析和解决有关三步求概率的实际问题. 情景导入生成问题 旧知回顾: 1.小颖将一枚质地均匀的硬币掷一次,正面朝上的概率是;小颖将一枚质地均匀的硬币连续掷了两次,你认为两次都是正面朝上的概率是;连续掷三次正面朝上的概率是多少呢? 2.掷一枚硬币一次,这是一步试验,可用直接计算法求概率;掷两枚硬币(或一枚硬币掷两次),这是两步试验,可用列表法求概率;那么掷三枚硬币(或一枚硬币掷三次),这是三步试验.那么如何求三步试验的概率呢? 带着这个问题进入今天学习吧! 自学互研生成能力 【自主探究】 阅读教材P138~P139例3,完成下面的问题: 范例:“红灯停,绿灯行”是我们在日常生活中必须遵守的交通规则,这样才能保障交通顺畅和行人安全,小刚每天从家骑自行车上学都经过三个路口,且每个路口只安装了红灯和绿灯,假如每个路口红灯和绿灯亮的时间相同,那么小刚从家随时出发去学校,回答以下问题: 解:(1)补全下列“树状图”: (2)他遇到三次红灯的概率是多大?P(三次红灯)=. 归纳:当试验存在三步或三步以上时,用树状图法比较方便, 【合作探究】 变例:甲,乙,丙三人之间相互传球,球从一个人手中随机传到另外一个人手中,共传球三次. (1)若开始时球在甲手中,求经过三次传球后,球传回甲手中的概率是多少? 解:画树状图如图:

可看出:三次传球有8种等可能结果,其中传回甲手中的有2种. 所以P(传球三次回到甲手中)==. (2)若乙想使球经过三次传递后,球落在自己手中的概率最大,乙会让球开始时在谁手中?请说明理由. 解:由(1)可知:从甲开始传球,传球三次后球传到甲手中的概率为,球传到乙、丙手中的概率均为,所以三次传球后球回到乙手中的概率最大值为.所以乙会让球开始时在甲手中或丙手中. 交流展示生成新知 1.将阅读教材时“生成的问题”和通过“自主探究、合作探究”得出的“结论”展示在各小组的小黑板上.并将疑难问题也板演到黑板上,再一次通过小组间就上述疑难问题相互释疑. 2.各小组由组长统一分配展示任务,由代表将“问题和结论”展示在黑板上,通过交流“生成新知”. 知识模块树状图法求概率 当堂检测达成目标 【当堂检测】 1.中考体育男生抽测项目规则是:从立定跳远、实心球、引体向上中随机抽一项,从50米、50×2米、100米中随机抽一项,恰好抽中实心球和50米的概率是(D) A.B.C.D. 2.学校团委在五四青年节举行“感动校园十大人物”颁奖活动中,九(4)班决定从甲、乙、丙、丁四人中随机派两名代表参加此活动,则甲乙两人恰有一人参加此活动的概率是(A) A. B. C. D. 3.在四边形ABCD中,①AB∥CD;②AD∥BC;③AB=CD;④AD=BC,在这四个条件中任选两个作为已知条件,能判定四边形ABCD是平行四边形的概率是多少? 解:画树状图如下: 由树状图可知,所有等可能的结果共12种,满足条件的结果有8种.所以能判定四边形ABCD是平形四边形的概率是=. 【课后检测】见学生用书 课后反思查漏补缺 1.收获:________________________________________________________________________ 2.存在困惑:________________________________________________________________________

2枚举法中的字典排列

第2次课枚举法中的字典排列 小热身 体会一下,“分给两个人”和“分成两堆”有什么区别呢? (1)把5个苹果全部分给两个人,共有多少种不同的分法? (2)把5个苹果分成两堆,共有多少种不同的分法? 例题1:卡莉娅、墨莫、小高三个人去游乐园玩,三人在藏宝屋中一共发现了4件宝物,三人找到的宝物数量共有多少种不同的可能?(可能有人没有发现宝物) 练习1:老师准备了6个笔记本奖励萱萱、小高、墨莫三人,每人至少得到1本笔记本,请问:老师有多少种不同的奖励方法? 例题2:老师要求每个同学写出3个自然数,并且要求这3个数的和是8。如果两个同学写出的3个自然数相同,只是顺序不一样,则算是同一种写法。试问:同学们最多能得出多少种不同的写法? 练习2:三个大于0的整数之和(数与数可以相同)等于10,共有多少组这样的三个数?

例题3:如下图所示,有7个按键,上面分别写着1、2、3、4、5、6、7这七个数字。请问: (1)从中选出2个按键,使它们上面的数字的差等于2,一共有多少种选法? (2)从中选出2个按键,使它们上面的数字的和大于9,一共有多少种选法? 练习3:有一次,著名的探险家大米得到一个宝箱,但是宝箱有密码锁,密码锁下面有一行小字,密码是和大于11的两个数,而且这两个数不能相同,不用考虑数的先后顺序,你知道密码共有多少种可能吗? 例题4:如图,数一数图中包含星星的长方形(包括正方形)有多少个? 练习4:如图,数一数图中包含星星的正方形有多少个?

作业: 1、有4支完全相同的铅笔要分给3位同学,每位同学至少分1支,共有多少种不同的分法? 2、有面值分别为1元、10元和50元的纸币若干,每种面值的纸币张数都大于 3、如果从中任意取3张,那么能组成的钱数共有多少种? 3、从1、2、3、 4、 5、6这六个数字中选出2个数字,使它们的数字的差等于2,一共有多少种选法? 4、数一数,下图包含星星的长方形(包括正方形)有多少个? 5、在下图中,一共能找出多少个含“☆”的三角形。

概率树形图

33.2 概率树形图一、复习提问巩固旧知 问题1.用列举法求概率的基本步骤是什么? (1)列举出一次试验的所有可能结果; (2)数出; (3)计算概率. 问题2.列举一次试验的所有可能结果时,学过哪些方法? 直接列举、列表法. 本节课是用列举法求概率的第三节课,对前两节课所学方法的步骤进行归纳,温故以利知新. 二、创设情境探究学习 2006年6月5日是中国第一个“文化遗产日”,我校承办了“责任与使命——亲近文化遗产,传承文明火炬”的活动,其中有一项“抖空竹”的表演.已知有塑料、木质两种空竹,甲、乙、丙三名学生各自随机选用其中的一种空竹.求甲、乙、丙三名学生恰好选择同一种空竹的概率. 学生利用学过的知识,自主探究解决上述问题.学生在探究学习活动中会有不同的表现,针对可能出现的情况设计教学预案如下: 教学预案1:直接列举法的指导 具体到抽象: 有的学生用“木质”“塑料”来直接列举;有的学生用字母、数字、符号来表示“木质”“塑料”进行列举.及时对学生不同的方法给予肯定,对那些进行简化的同学更要给予表扬,在简化过程中培养学生抽象思维能力. 无序到有序: 及时肯定学生的参与意识.对于列举不完全或重复的同学,引导他们进行有序地列举,同时请学生思考如何做到不重不漏;对于列举完全的同学,启发他思考能否更直观地展现列举过程. 教学预案2:列表法的指导

用这个方法时,如何把一次试验的三个步骤同时反映在一个表格中,学生会遇到困难.此时引导学生思考:为什么这个问题用列表的方法不容易解决呢?还有没有其它更好的列举方法呢? 教学预案3:画树形图的指导 少数学生也有可能画出树形图,表扬使用这种方法的学生,并请学生阐述这种方法的优越性,及如何实施这种方法.如果没有学生画出树形图,由于学生在小学或其它学科接触过树形图,引导列举完全的学生画出树形图. 以我国第一个“文化遗产日”为背景提出问题,激发学生学习兴趣和参与意识. 设计探究学习活动,有利于展示学生对问题解决的不同策略,真正体会问题解决的过程,培养学生的创新精神和克服困难的勇气.探究活动前的教学预案使课堂的指导更有针对性. 把发现新方法的机会留给学生,增强学生学习的自信心和成就感.三、交流展示引出新知 请有序列举的同学板书探究结果,并进行简单说明. 塑料—A 木质—B 方法1:方法2: (甲、乙、丙三名学生恰好选择同一种空竹为事件). 点评:两种方法各有优点,尤其方法2借助图形来计数,当一次试验要经过多个步骤才能完成时,方法2比方法1更能直观地展示思维的过程. 教师指出方法2画出的图形称为“树形图”,今天我们的课题是画树形图求概率. 教师板书:画树形图求概率 问题:如何根据题意画出树形图列举一次试验的所有可能结果? 师生归纳总结: (1)明确完成一次试验要经过几个步骤; (2)根据一次试验中几个步骤的顺序直接画出树形图. 由两位学生板书展示他们的思维过程,引导大家对两种方法进行比较,并和自己的方法也进行比较.通过生生互学感受思维的条理性和实施的有序性,为后续的教学做好准备.

高斯小学奥数含答案三年级(上)第02讲枚举法中的字典排列

枚举法中的字典排列 我明天先吃什么呢?先吃汉堡,不不,还 是 先吃玉米,哎,还是先吃饼干 吧!到底 先吃什么呢?共有多少种不同的吃 法? 基础例题: 在上一讲中我们学习了简单的枚举法一一直接把所有情况一一列举出来. 接枚举很有可能产生重复或者遗漏, 这时就需要有一些特别的方法来帮助我们枚举出所有情况. 本讲就 但如果问题较为复杂,直 如果我把这三个东西都带回去, 天吃1个,还可以再吃3天呢?

主要介绍两种枚举的方法:字典排列法和树形图法. 首字母相同的单词都在一起 同学们可以翻一下英汉字典,不难发现字典中单词排列的规律:整本字典按首字母从 a 到z 排列, 在首字母相同的单词中, 再按照第2个字母从a 到z 的顺序排列, 然后是

个字母,第4个字母所谓“字典排列法”,就是指在枚举时,像字典里的单词顺序那样排列出 3各一次可以组成多少个不同的三位数?用字典排列法枚举时,每个位置都勒* 按从小到大排列,枚举的顺序是:123, 132, 213, 231 , 312, 321 .下面我们用字典排列法来解决几个 问题. 例题1 .卡莉娅、墨莫、小高三个人去游乐园玩,三人在藏宝屋中一共发现了5件宝物,三人找到 的宝物数量共有多少种不同的可能?(可能有人没有发现宝物) 分析:每个人最少找到几件宝物?最多呢? 练习: 1.老师准备了6个笔记本奖励萱萱、小高和墨莫三人,每人至少得到1本笔记本,请问:老师有 多少种不同的奖励方法? 例题2 ?老师要求每个同学写出3个自然数,并且要求这3个数的和是8 ?如果两个同学写出的3 个自然数相同,只是顺序不一样,则算是同一种写法?试问:同学们最多能得出多少种不同的写法? 分析:注意顺序不同算一种写法,也就是三个数分别为(1、2、5)、(2、5、1 )和(5、1、2)都 算同一种写法. 练习: 2.三个大于0的整数之和(数与数可以相同)等于10,共有多少组这样的三个数? 用字典排序法枚举的时候,判断题目要求到底是“交换顺序后算作两种”还是“交换顺序后仍然是同一种”非常关键?往往题目中要求“交换顺序后仍然是同一种”,那么枚举的每个结果里就没有明确 的顺序关系;反之,那么枚举时要注意每个结果中应该都符合一定的顺序关系. 在求解计数问题时,审题非常关键?往往一字之差就会有天壤之别. 枚举法是解决计数问题的基础,但是对于比较复杂的问题,如果直接枚举很容易出现重复或者遗 漏.这时就需要预先把所有情形分成若干小类,针对每一小类进行枚举. 例题3 如下图所示,有7个按键,上面分别写着:1、2、3、4、5、6、7这七个数字?请 问: (1)从中选出2个按键,使它们上面的数字的差等于2, 一共有多少种选法? ftp f 1ft 0

排列的字典序问题

算法分析与设计实验报告 第 2 次实验

这次的实验和上一次的字典序问题有一些相似,主要不同的地方在于要写出下 附录:完整代码 #include #include using namespace std; void rev(int *p,int begin,int end)//数组倒置 { int temp[end-begin]; for(int i=begin;i<=end;i++) temp[i-begin]=p[i];

for(int i=end;i>=begin;i--) p[i]=temp[end-i]; } int cal_a(int a,int b)//计算阶乘 { int answer=1; if(a==0&&b==0) return 1; for(int i=0;i=0;i--) { if(a[i-1]

高思数学-各级别全年教材大纲

三年级上 第1讲加减法巧算 第2讲基本应用题 第3讲间隔问题 第4讲简单枚举 第5讲字典排列法与树形图法 第6讲找规律 第7讲和倍问题与差倍问题 第8讲和差问题与多个对象的和差倍 第9讲简单加减法竖式 第10讲周期问题初步 第11讲周期问题进阶 第12讲妙用假设法 第13讲分组与画图 第14讲等差数列初步 第15讲等差数列进阶 第16讲平面图形认知 第17讲立体图形认知 第18讲基本盈亏问题 第19讲智巧趣题一 第20讲旅行中的数学 三年级下 第一讲乘除法巧算 第二讲归一问题 第三讲分类计数 第四讲和差倍问题中的隐藏条件 第五讲线段图解复杂和差倍关系 第六讲简单乘法竖式 第七讲简单除法竖式 第八讲假设法综合提高 第九讲分组法综合提高 第十讲四则混合运算 第十一讲阵列问题 第十二讲巧填算符 第十三讲算符与数字 第十四讲盈亏条件的转化

第十五讲复杂盈亏问题 第十六讲长度计算 第十七讲角度的计算 第十八讲找位置 第十九讲火柴棍算式与生活趣题 第二十讲三年级期末复习与检测四年级上 第1讲整数计算综合 第2讲还原问题 第3讲数阵图初步 第4讲竖式问题 第5讲几何图形剪拼 第6讲路程、时间、速度 第7讲行程中的线段图 第8讲简单抽屉原理 第9讲基本直线形面积公式 第10讲底、高的选取与组合 第11讲变倍问题 第12讲和差倍中的分组比较 第13讲年龄问题 第14讲数列数表规律 第15讲复杂数表估算 第16讲加法原理与乘法原理 第17讲乘法原理进阶 第18讲火车行程 第19讲统筹规划 第20讲游戏对策 四年级下 第1讲小数的运算技巧 第2讲多位数巧算 第3讲简单平均数 第4讲多组对象的平均数 第5讲复杂竖式 第6讲横式问题 第7讲格点图形的计算

字典排序法

对于使用递归解决排列和组合的问题,俺看了很多篇参考资料,可惜的是有点难以理解别人的写法,跟MSDN一样,字都是中文,可是合起来就不知道是啥意思了,同样都是代码,每一句都能看明白,可就是不知道,他在这里为啥要写这一句,这一句在整个程序中的地位,还是脑子不好使,中学的时候数学没学好,这么些年又没好好的锻炼脑子,生锈了。 对于全排列来说,咱们还是从最简单的开始吧。 序列中只有一个元素:那么全排列就只有一种,{1}就是这个序列本身。 序列中有两个元素:那么全排列有两种方式,{1,2},{2,1}。 序列中有三个元素:那么全排列有六种方式,{1,2,3},{1,3,2},{2,1,3},{2,3,1},{3,1,2},{3,2,1}。 如果将排列的结果做成一个整数的话,那么对于三个元素的全排列结果应该是:{123},{132},{213},{231},{312},{321},这六个数有没有什么特点? 当然有。 1.它们都是由1,2,3这几个字符组成的。 2.3>2>1。 3.123<132<213<231<312<321。 这个垃圾结论能替我们解决问题吗? 当然能。 还记得我们怎么理解二进制的吗? 还记得我们怎么理解八进制的吗? 还记得我们怎么理解十六进制的吗? 二进制中包含两个字符:0,1。 八进制中包含八个字符:0,1,2,3,4,5,6,7。 十六进制中包含十六个字符:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。 俺的乖乖,数字么呢?字母都来咧,那些个A呀,B呀,C呀,只是一些符号而已,它们在十六进制中代表的是10,11,12,13,14,15而已。 为嘛非得用ABCDEF呢?能不能用其他的字符呢? 当然可以。甚至于我们把ABCDEF可以改成“啊吧才的饿飞”,只有它依然代表的是10,11,12,13,14,15就行了。 为嘛会用的上ABCDEF呢? 呵呵,简单了,因为咱们平常用的数字中没有一个单独的符号用来表达10,11,12,13,14,15而已,咱们为这些值找了个代表而已。 好了,扯的够远了,往回扯。 回到八进制中,为嘛八进制中没有ABCDEF呢? 简单的回答是:咱们平常用的数字可以完全拿来表达八进制中的每个单独的数字,就是说,够用了,用不着折腾了 复杂的回答是:可以有ABCDEF这些字母,反正这些字母仅仅是个代表而已。 改成{1,2,3,4,5,6,7,8}行不?当然行。不就是个符号么。 二进制的改成{1,2}行不,也行;改成{2,3}行不,也行。 无论是{1,2}还是{2,3}仅仅是个符号,咱们要做的工作是保证符号中的大小关系,比如1<2,2<3就行了。 那么再次变态一点:{1,4}行不?当然行,对于二进制来说,只要1<4就行了。那么{3,8}也行喽?当然。 好了,我们已经够变态的了,不妨再变态一点。 既然都已经有了二进制,八进制,十六进制,为嘛不能整个三进制呢?

用列表法、树状图法求概率

用列表法、树状图法求概率有招 刘琛 概率问题是中考中的热点问题,与概率有关的题目形式多样,但其中最主要的是考查利用列表法或树状图法求随即事件的概率.而利用列表法或树状图法求随即事件的概率,关键要注意以下三点: (1)注意各种情况出现的可能性务必相同;(2)其中某一事件发生的概率= 各种情况出现的次数 某一事件发生的次数 ;(3)在考察各种情况出现的次数和某一事件发生的次数时不能重 复也不能遗漏.(4)用列表法或树状图法求得概率是理论概率,而实验估计值是频率,它通常受到实验次数的影响而产生波动,因此两者不一定一致,实验次数较多时,频率稳定于概率,但并不完全等于概率. 例1 田忌赛马是一个为人熟知的故事,传说战国时期,齐王与田忌各有上、中、下三匹马,同等级的马中,齐王的马比田忌的马强.有一天,齐王要与田忌赛一次,赢得两局者为胜,看样子田忌似乎没有什么胜的希望,但是田忌的谋士了解到主人的上、中等马分别比齐王的中、下等马要强. (1). 如果齐王将马按上中下的顺序出阵比赛,那么田忌的马如何出阵,田忌才能取胜? (2). 如果齐王将马按上中下的顺序出阵,而田忌的马随机出阵比赛,田忌获胜的概率是多少?(要求写出双方对阵的所有情况) 分析:正确理解题意,将齐王和田忌的马正确排列,而后恰当列表. 解:(1)由于田忌的上、中等马分别比齐王的中、下等马强,当齐王的马按上、中、下顺序出阵时,田忌的马按下、上、中的顺序出阵,田忌才能取胜. (2).当田忌的马随机出阵时,双方马的对阵情况如下表: 双方马的对阵中,只有一种对阵情况田忌能赢,所以田忌获胜的概率 P= 6 1. 例2 “石头、剪刀、布”是广为流传的游戏,游戏时甲、乙双方每次出“石头”、“剪刀”、“布”三种手势中一种,规定“石头”胜“剪刀”、“剪刀”胜“布”、“布”胜“石头”,同样手势不分胜负,假定甲、乙两人每次都是等可能地出这三种手势,用画树状图或列表的方法分别求出一次游戏中两人同种手势的概率和甲获胜的概率.(提示:为书写方便,解答时可以用S 表示“石头”,用J 表示“剪刀”,用B 表示“布”) 解析:解法一:一次游戏、甲、乙两人随机出手势的所有可能的结果如下图: 所有可能出的结果:(S ,S )(S ,J )(S ,B )(J ,S )(J ,J )(J ,B )(B ,S )(B ,J )(B ,B )

用树状图法求概率

用树状图法求概率 1.正确鉴别一次试验中是否涉及3个或更多个因素. 2.会用树形图求出一次试验中涉及3个或更多个因素时,不重不漏地求出所有可能的结果,从而正确地计算问题的概率. 自学指导 阅读教材第138至139页,完成下列问题. 自学反馈 如图,A 、B 两个转盘分别被平均分成三个、四个扇形,分别转动A 盘、B 盘各一次.转动过程中,指针保持不动,如果指针恰好指在分割线上,则重转一次,直到指针指向一个数字所在的区域为止.请用列表或画树形图的方法,求两个转盘停止后指针所指区域内的数字之和小于6的概率. 解法一:画树形图 解法二:列表法 P(和小于6)=12=2 . 活动1 小组讨论 例 甲口袋中装有2个小球,他们分别写有A 和B ;乙口袋中装有3个相同的小球,分别写有C 、D 和E ;丙口袋中装有2个相同的小球,他们分别写有H 和I.从3个口袋中各随机取出1个小球. (1)取出的3个小球上恰好有1个、2个、3个元音字母的概率分别是多少? (2)取出3个小球上全是辅音字母的概率是多少? 分析:弄清题意后,先让学生思考从3个口袋中每次各随机地取出一个球,共3个球,这就是说每一次试验涉及3个因素,这样的取法共有多少种呢?打算用什么方法求得? 第一步可能产生的结果会是什么?——(A 和B), 两者出现的可能性相同吗?分不分先后?写在第一行. 第二步可能产生的结果是什么?——(C 、D 和E),三者出现的可能性相同吗?分不分先后? 从A 和B 分别画出三个分支,在分支下的第二行分别写上C 、D 和E. 第三步可能产生的结果有几个?——是什么?——H 和I ,两者出现的可能性相同吗?分不分先后? 从C 、D 和E 分别画出两个分支,在分支下的第三行分别是写上H 和I. (如果有更多的步骤可依上继续)第四步按竖向把各种可能的结果竖着写在下面,就得到了所有可能的结果的总数.再找出符合要求的种数,就可以计算概率了.

枚举法中的字典排列

1.5个苹果分给东东、西西和文文三个人,有人可能没分到,共有__________种不同的分法。 来源:2014·乐乐课堂·练习 难度:中等 类型:填空题 答案:21 2.4个鸡蛋分给东东、西西和文文三个人,有人可能没分到,共有__________种不同的分法。 来源:2014·乐乐课堂·练习 难度:中等 类型:填空题 答案:15 3.6个相同的笔记本分给东东、西西和文文三个人,有人可能没分到,共有__________种不同的分法。 来源:2014·乐乐课堂·练习 难度:中等 类型:填空题 答案:28 4.7个金币分给三个海盗,每个海盗至少分到1个金币,共有__________种不同的分法。来源:2014·乐乐课堂·练习 难度:中等

类型:填空题 答案:15 5.6个金币分给三个海盗,每个海盗至少分到1个金币,共有__________种不同的分法。来源:2014·乐乐课堂·练习 难度:中等 类型:填空题 答案:10 6.5个金币分给三个海盗,每个海盗至少分到1个金币,共有__________种不同的分法。来源:2014·乐乐课堂·练习 难度:中等 类型:填空题 答案:6 7.三个整数之和等于5,共有__________组这样的三个数。 来源:2014·乐乐课堂·练习 难度:困难 类型:填空题 答案:5 8.三个整数之和等于6,共有__________组这样的三个数。 来源:2014·乐乐课堂·练习 难度:困难 类型:填空题 答案:7

9.三个整数之和等于7,共有__________组这样的三个数。来源:2014·乐乐课堂·练习 难度:困难 类型:填空题 答案:8 10.7个苹果分成3堆,共有__________种不同的分法。 来源:2014·乐乐课堂·练习 难度:困难 类型:填空题 答案:4 首页上一页1234下一页尾页 11.8个金币分成3堆,共有__________种不同的分法。 来源:2014·乐乐课堂·练习 难度:困难 类型:填空题 答案:5 12.9个金币分成3堆,共有__________种不同的分法。 来源:2014·乐乐课堂·练习 难度:困难 类型:填空题 答案:7

概率——树状图

25.2 用树状图求概率 (二)用树状图(树形图)法求概率 1.(2014-云南中考)某市“艺术节”期间,小明、小亮都想去观看茶艺表演,但是只有一张茶艺表演门票,他们决定采用抽卡片的办法确定谁去.规则如下:将正面分别标有数字1、2、3、4的四张卡片(除数字外其余都相同)洗匀后,背面朝上放置在桌面上,随机抽出一张记下数字后放回;重新洗匀后背面朝上放置在桌面上,再随机抽出一张记下数字.如果两个数字之和为奇数,则小明去;如果两个数字之和为偶数,则小亮去.(1)请用列表或画树状图的方法表示抽出的两张卡片上的数字之和的所有可能出现的结果;(2)你认为这个规则公平吗?请说明理由. 2.(2013-昆明中考)有三张正面分别标有数字:﹣1,1,2的卡片,它们除数字不同外其余全部相同,现将它们背面朝上,洗匀后从中抽出一张记下数字,放回洗匀后再从中随机抽出一张记下数字.(1)请用列表或画树形图的方法,表示两次抽出卡片上的数字的所有结果;(2)将第一次抽出的数字作为点的横坐标x,第二次抽出的数字作为点的纵坐标y,求点(x,y)落在双曲线上y=x上的概率. 3.(2012-云南中考)现有5个质地、大小完全相同的小球分别标有数字﹣1,﹣2,1,2,3.先将标有数字﹣2,1,3的小球放在第一个不透明的盒子里,再将其余小球放在第二个不透明的盒子里.现分别从两个盒子里各随即取出一个小球.(1)请利用列表或画树状图的方法表示取出的两个小球上数字之和所有可能的结果;(2)求取出的两个小球上的数字之和等于0的概率.

4.(2011-云南中考)小华和小丽两人玩数字游戏,先由小丽心中任意想一个数字记为x ,再由小华猜小丽刚才想的数字,把小华猜的数字记为y ,且他们想和猜的数字只能在1,2,3,4这四个数中. (1)请用树状图或列表法表示了他们想和猜的所有情况; (2)如果他们想和猜的数相同,则称他们“心灵相通”。求他们“心灵相通”的概率; (3)如果他们想和猜的数字满足1x y ≤,则称他们“心有灵犀”。求他们“心有灵犀”的概率; 5.(2010-昆明中考)如图,一个被等分成了3个相同扇形的圆形转盘,3个扇形分别标有数字1、3、6,指针的位置固定,转动转盘后任其自由停止,其中的某个扇形会恰好停止在指针所指的位置(指针指向两个扇形的交线时,重新转动转盘).(1)请用画树形图或列表的方法,表示出分别转动转盘两次转盘自由停止后,指针所 指扇形数字的所有结果;(2)求分别转动转盘两次转盘自由停止后,指针所指扇形的数字之和的算术平方根为无理数的概率.

三年级奥数字典排列法和树形图

第10讲字典排列法和树形图 知识要点 数学学习中经常会碰到列举有多少种不同情况的问题,要想做到不重复不遗漏,我们可以用以下方法来进行列举:字典排列法和树形图。 字典排列法:从首位开始,按一定的顺序(比如从小到大)枚举第一位,对于每种情况再按从小到大的顺序枚举第二位,依次类推。使用字典排列法时,一定要注意“分类”和“有序”。 树形图:确定起点,按照一定的顺序一一罗列,最后数终点个数。 精典例题 例1:算一算 (1)用1,2,3三张卡片可以组成多少个没有重复数字的三位数? (2)用数字1,2,3可以组成多少个不同的三位数?(数字可以重复使用) 模仿练习 妈妈买来苹果、香蕉和橘子3种水果,每种都有足够多个。淘气想挑3个水果吃,请问:他一共有多少种选择? 从高位到低位或从低位到高位依次有序选择每个数位上放的数字卡片

例2:在某地有四种不同面值的硬币,假如你恰有这四种硬币各1枚。问共能组成多少种不同的钱数?请你用加法算式一个一个例举出来。 模仿练习 有5 分、1 角、5 角、1 元的硬币各一枚,一共可以组成多少种不同的币值? 例3:小悦、东东、阿奇三个人一共有7本课外书,每个人至少有一本。问小悦、东东、阿奇分别有几本课外书? 按所用硬币数量从少到多或从多到少的顺序有序组成不同的钱数。 4 可将7拆成三个整数,每个数分别对应三个人每人分得的书的数量,找出所有的情况。 1 2 8

模仿练习 汤姆、杰瑞和得鲁比都有蛀牙,他们一起去牙医诊所看病,医生发现他们一共有8颗蛀牙,他们三人可能分别有几颗蛀牙? 精典例题 例4:一个人在三个城市A 、B 、C 中游览。他今天在这个城市,明天就必须到另一个城市。这个人从A 城出发,4天后还回到A 城,那么这个人有几种旅游路线? 模仿练习 甲、乙、丙3个人传球。第一次传球是由甲开始,将球传给乙或丙……经过4次传球后,球正好回到甲手中。那么一共有多少种不同的传球方式? 已知起点和终点以及要选择的步骤的数量和每步选择的要求,可以用树形图来枚举所有的方案,注意第四天要回到A 城,那么第三天就不能在A 城。

三年级下册数学试题-第十二讲 枚举法二(含答案)全国通用

第十二讲枚举法二 内容概述 巩固字典排列的方法;使用树形图的方法解决更复杂的计数问题;熟练掌握分类枚举的方法 兴趣篇 1.有一些三位数的各位数字都不是0,且各位数字之和为6,这样的三位数共有多少个?分析:10个 2.汤姆、杰瑞和德鲁比都有蛀牙,他们一起去牙医诊所看病。医生发现他们一共有8颗蛀 牙,他们三人可能分别有几颗蛀牙? 分析:共21中情况,详解略 3.老师让小明写出3个非零的自然数,且3个数的和是9,如果数相同、顺序不同算同一 种写法,例如1+2+6、2+1+6还有6+1+2都算是同一种写法。请问:小明一共有多少种不同的写法? 分析:7种 4.生物老师让大家观察蚂蚁的习性。第二天小悦在小区的广场上发现了12只黑蚂蚁,这 12只蚂蚁恰好凑成了3堆,每堆至少有2只。请问:这3堆蚂蚁可能各有几只? 分析:共7种情况:(2,2,8);(2,3,7);(2,4,6);(2,5,5);(3,3,6);(3,4,5);(4,4,4) 5.一个三位数,每一位上的数字都是1、2、3中的某一个,并且相邻的两个数字不相同。 一共有多少个满足条件的三位数? 分析:12个

6.如图,一只小蚂蚁药从一个正四面体的顶点A出发,沿着这个正四面体的棱依次走遍4 个顶点再回到顶点A。请问:这只小蚂蚁一共有多少种不同的走法? 分析:6种 7.5块六边形的地毯拼成了下图中的形状,每块地毯上都有一个编号。现在阿奇站在1号 地毯上,他想要走到5号地毯上。如果阿奇每次都只能走到河他相邻的地毯上(两个六边形如果又公共边就称为相邻),并且只能向右边走,例如1→2→3→5就是一种可能的走法。请问:阿奇一共有多少种不同的走法? 分析:5种 8.在下图中,一共能找出多少个长方形(包括正方形)?

概率树形图教案

概率树形图教案-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

33.2 概率树形图 教学目标: 1.使学生会画树形图计算简单事件的概率. 2.通过画树形图求概率的过程培养学生思维的条理性,提高学生分析问题、解决问题的能力. 3.通过自主探究、合作交流激发学生的学习兴趣,感受数学的简捷美,及数学应用的广泛性. 教学重点:画树形图计算简单事件的概率. 教学难点:通过学习画树形图计算概率,培养学生思维的条理性. 教学方法:学生自主探究、合作交流与教师启发引导相结合. 教学用具:计算机辅助教学. 教学过程:

学生利用学过的知识,自主探究解决上述问题.学生在探究学习活动中会有不同的表现,针对可能出现的情况设计教学预案如 下: 教学预案1:直接列举法的指导 具体到抽象: 有的学生用“木质”“塑料”来直接列举;有的学生用字母、数字、符号来表示“木质”“塑料”进行列举.及时对学生不同的方法给予肯定,对那些进行简化的同学更要给予表扬,在简化过程中培养学生抽象思维能力. 无序到有序: 及时肯定学生的参与意识.对于列举不完全或重复的同学,引导他们进行有序地列举,同时请学生思考如何做到不重不漏;对于列举完全的同学,启发他思考能否更直观地展现列举过程. 教学预案2:列表法的指导 用这个方法时,如何把一次试验的三个步骤同时反映在一个表格中,学生会遇到困难.此时引导学生思考:为什么这个问题用列表的方法不容易解决呢还有没有其它更好的列举方法呢 教学预案3:画树形图的指导 少数学生也有可能画出树形图,表扬使用这种方法的学生,并请学生阐述这种方法的优越性,及如何实施这种方法.如果没有学 设计探究学习活动,有利于展示学生对问题解决的不同策略,真正体会问题解决的过程,培养学生的创新精神和克服困难的勇气.探究活动前的教学预案使课堂的指导更有针对性. 把发现新方法的机会留给学生,增强学生学习的自信心和成就感. 塑料木质

第二讲 枚举法中的字典排列

第二讲 枚举法中的字典排列 例题1 卡莉娅、墨莫、小高三个人去游乐园玩,三人在藏宝屋中一共发现了5件宝物,三人 找到的宝物数量共有多少种不同的可能?(可能有人没有发现宝物) 【分析】每个人最少找到几件宝物?最多呢? 练习1 老师准备了6本笔记本奖励萱萱、小高、墨莫三人,每人至少得到1本笔记本,请 问:老师有多少种不同的奖励方法? 例题2 老师要求每个同学写出3个自然数,并且要求这3个数的和是8.如果两个同学写出 的3个自然数相同,只是顺序不一样,则算是同一种写法。试问:同学们最多能得出 多少种不同的写法? 【分析】注意顺序不同算一种写法,也就是三个数分别为(1、2、5)(2、5、1)和(5、1、2) 都算同一种写法。 练习2 三个大于0的整数之和(数与数可以相同)等于10,共有多少组这样的三个数?

例题3 如图所示,有7个按键,上面分别写着:1、2、3、4、5、6、7这七个数字。请问: (1)从中选出2个按键,使它们上面的数字的差等于2,一共有多少种选法? (2)从中选出2个按键,使它们上面的数字的和大于9,一共有多少种选法? 【分析】第二问中的和大于9是什么意思?也就是最小等于10,那最大又是多少?和共有几 种可能? 练习 3 有一次,著名的探险家大米得到一个宝箱,但是宝箱有密码锁,密码锁下边有一行 小字:密码之和大于11的两个数字,而且这两个数字不能相同。不用考虑数字的先 后顺序,你知道密码共有多少种可能吗? 例题4 数一数图中包含星星的长方形(包括正方形)有多少个? 【分析】含星星的长方形会由几个小方格组成呢?我们可以依据长方形的种类进行分类。 练习4 如图,数一数图中包含星星的正方形有多少个?

三年级数学春第三讲字典排列法和树形图法

第三讲字典排列法和树形图法

先分类:1、2、3 再有序:1 2 3 所以,一共有6个没有重复的三位数:123,132,213,231,312,321。 记住:不重复,不回头。 先分类:不重复,三个数字相同,两个数字相同,分前面两个相同,后面两个相同,一前一后相同。 再有序:不重复:如(1)一共有6个没有重复的三位数:123,132,213,231,312,321。 三个重复:111,222,333一共有3个。 两个重复:前面:112,113 后面:211,311 一前一后:121,131 221,223 122,322 212,232 331,332 133,233 313,323 一共6×3=18个。 三种一起:6+3+18=27(个) 2 3 3 2 1 3 3 1 1 2 2 1

1分、2分、4分、8分各一枚 先分类,可以分取1枚,2枚,3枚,4枚4种取法。 再有序: 1枚:1分,2分,4分,8分共4种 2枚:1分-2分,1+2=32分-4分,2+4=64分-8分,4+8=128分-无,不可取了1分-4分,1+4=52分-8分,2+8=10 1分-8分,1+8=9 所以:3+2+1=6种 记住:不回头,不重复。 3枚:1分-2分-4分1+2+4=7 1分-2分-8分1+2+8=11 1分-4分-8分1+4+8=13 2分-4分-8分2+4+8=14 所以:3+1=4种 4枚:1分-2分-4分-8分1+2+4+8=15 只有1种 所以:一共有4+6+4+1=15种不同的钱数。

分析:可以将7拆成三个整数,每个数分别对应三个人每人分得书的数量,找出所有的情况。 每个数最小是1,最大是7-1-1=5,而且可以相同,而且人的顺序也可以变化。故可以列举如下: 1-1-5,1-2-4,1-3-3,1-4-2,1-5-1 5种 2-1-4,2-2-3,2-3-2,2-4-1 4种 3-1-3,3-2-2,3-3-1 3种 4-1-2,4-2-1 2种 5-1-1 1种 所以,5+4+3+2+1=15种。有15种不同的情况。

用画树形图求简单事件的概率

第2课时 用画树形图求简单事件的概率 教学目标:1. 学习用树状图法计算概率.2.并通过比较概率大小作出合理的决策. 重点:会运用树状图法计算事件的概率. 难点:能根据不同情况选择恰当的方法进行列举,解决较复杂事件概率的计算问题. 导学过程: 1.自主学习 自学教材学习三个及三个以上因素求概率的方法——树状图 例: 甲口袋中装有2个相同的球,它们分别写有字母A 和B ;乙口袋中3个相同的球,它们分别写有字母C 、D 和E ;丙口袋中2个相同的球,它们分别写有字母H 和I 。从三个口袋中各随机地取出1个球。 (1)取出的三个球上恰好有1个、2个和3个元音字母的概率分别为多少? (2)取出的三个球上全是辅音字母的概率是多少? 本游戏可分三步进行。分步画图和分类排列相关的结论是解题的关键。 从图形上可以看出所有可能出现的结果共有12个,即: 这些结果出现的可能性相等。 (1)只有一个元音字母的结果(黄色)有5个,即ACH ,ADH ,BCI ,BDI ,BEH ,所以12 5 P = (一个元音); 有两个元音的结果(白色)有4个,即ACI ,ADI ,AEH ,BEI ,所以3 1124P ) (==两个元音; 全部为元音字母的结果(绿色)只有1个,即AEI ,所以12 1P )(= 三个元音。 (2)全是辅音字母的结果(红色)共有2个,即BCH ,BDH ,所以6 1122P )(==三个辅音。 A C H A C I A D H A D I A E H A E I B C H B D H B D I B E H B E I B C I 甲 乙 丙

2、巩固练习 假定鸟卵孵化后,雏鸟为雌与为雄的概率相同,如果三枚卵全部成功孵化,则三只雏鸟中有两只雄鸟的概率是多少? 3.学以致用: 经过某十字路口的汽车,它可能继续前行,也可能向左或向右,如果这三种可能性大小相同.三辆汽车经过这个十字路口,求下列事件的概率: ①三辆车全部继续前行; ②两辆车向右转,一辆车向左转; ③至少有两辆车向左转. 4、深化提高 把三张形状、大小相同但画面不同的风景图片都平均剪成三段,然后带上、中、下三段分别混合洗匀.从三堆图片中随机地各抽出一张,求着三张图片恰好组成一张完整风景图片的概率. 课堂小结: 当一次试验要涉及3个或更多的因素时,通常采用“画树状图”.运用树状图法 求概率的步骤如下: ①画树状图 ; ②列出结果,确定公式P(A)=n m 中m 和n 的值;

朱刘算法(最小树形图)

图论是ACM竞赛中比较重要的组成部分,其模型广泛存在于现实生活之中。因其表述形象生动,思维方式抽象而不离具体,因此深受各类喜欢使劲YY的Acmer的喜爱。这篇文章引述图论中有关有向图最小生成树的部分,具体介绍朱刘算法的求解思路,并结合一系列coding技巧,实现最小树型图O(VE)的算法,并在最后提供了该算法的模版,以供参考。 关于最小生成树的概念,想必已然家喻户晓。给定一个连通图,要求得到一个包含所有顶点的树(原图的子图),使之所构成的边权值之和最小。在无向图中,由于边的无向性质,所以求解变得十分容易,使用经典的kruskal与prim算法已经足够解决这类问题。而在有向图中,则定义要稍微加上一点约束,即以根为起点,沿给定有向边,可以访问到所有的点,并使所构成的边权值之和最小,于是问题开始变得不一样了,我们称之为最小树型图问题。 该问题是由朱永津与刘振宏在上个世纪60年代解决的,值得一提的是,这2个人现在仍然健在,更另人敬佩的是,朱永津几乎可以说是一位盲人。解决最小树型图的算法后来被称作朱刘算法,也是当之无愧的。 首先我们来阐述下算法的流程:算法一开始先判断从固定根开始是否可达所有原图中的点,若不可,则一定不存在最小树形图。这一步是一个很随便的搜索,写多搓都行,不加废话。第二步,遍历所有的边,从中找出除根结点外各点的最小入边,累加权值,构成新图。接着判断该图是否存在环。若不存在,则该图便是所求最小树型图,当前权为最小权。否则对环缩点,然后回到第二步继续判断。 这里存在一系列细节上的实现问题,以确保能够达到VE的复杂度。首先是查环,对于新图来说只有n-1条入边,对于各条入边,其指向的顶点是唯一的,于是我们可以在边表中添加from,表示该边的出发点,并考虑到如果存在环,则对环上所有边反向,环是显然同构的,于是最多作V次dfs就能在新图中找到所有的环,并能在递归返回时对顶点重标号进行缩点,此步的重标号可以用hash数组映射。然后就是重要的改边法,对于所有不在环上的边,修改其权为w-min(v),w为当前边权,min(v)为当前连接v点的最小边权。其数学意义在于选择当前边的同时便放弃了原来的最小入边。我们可以知道,每次迭代选边操作O(E),缩点操作O(V),更新权操作O(E),至少使一个顶点归入生成树,于是能在V-1步内完成计算,其复杂度为O(VE)。 以上为定根最小树型图,对于无固定根最小树型图,只要虚拟一个根连所有的点的权为边权总和+1,最后的结果减去(边权+1)即可。另外对于求所定的根标号,只要搜索被选中的虚边就可以判断了。

相关文档
最新文档