#算法图解

算法笔记_134:字符串编辑距离(Java)

/目录1问题描述2解决方案给定一个源串和目标串,能够进行如下操作:在任意位置上插入一个字符;替换掉任意字符;删除任意字符。写一个程序,实现返回最小操作次数,使得对源串进行上述这些操作后等于目标串。此处采用动态规划法,可以较大的提高时间效率。具体代码如下:packagecom.liuzhen.practice;publi...

算法笔记_135:格子取数问题(Java)

/目录1问题描述2解决方案有n*n个格子,每个格子里有正数或者0,从最左上角往最右下角走,只能向下和向右走,一共走两次(即从左上角往右下角走两趟),把所有经过的格子里的数加起来,求总和的最大值。如果两次经过同一个格子,则最后求得的总和中该格子中的数只加一次。此处采用动态规划法,可以较大的提高时间效率。具体代码如下:&n...

算法笔记_136:交替字符串(Java)

/目录1问题描述2解决方案输入三个字符串s1、s2和s3,判断第三个字符串s3是否由前两个字符串s1和s2交错而成且不改变s1和s2中各个字符原有的相对顺序。此处采用动态规划法,可以较大的提高时间效率。具体代码如下: packagecom.liuzhen.practice;publicclassMain{pu...

算法笔记_137:二分图的最大匹配(Java)

/目录1问题描述2解决方案何为二分图的最大匹配问题?引用自百度百科:首先得说明一下何为匹配:给定一个二分图G,在G的一个子图M中,M的边集{E}中的任意两条边都不依附于同一个顶点,则称M是一个匹配。极大匹配(MaximalMatching)是指在当前已完成的匹配下,无法再通过增加未完成匹配的边的方式来增加匹配的边数。最...

算法笔记_138:稳定婚姻问题(Java)

/目录1问题描述2解决方案何为稳定婚姻问题?有一个男士的集合Y={m1,m2,m3...,mn}和一个女士的计划X={n1,n2,n3,...,nn}。每一个男士有一个排序的列表,把女士按照潜在的优先级进行排序。同样,每一个女士也有一个男士的优先级列表。现在,把男士和女士进行配对,要求尽可能的符合优先级的要求。使得最终...

算法笔记_139:二分图的最大权匹配(Java)

/目录1问题描述2解决方案何为二分图的最大权匹配问题?最大权二分匹配问题就是给二分图的每条边一个权值,选择若干不相交的边,得到的总权值最大。  对于此问题的讲解,引用文末参考资料1:解决这个问题可以用KM算法。理解KM算法需要首先理解“可行顶标”的概念。可行顶标是指关于二分图...

算法笔记_140:最小费用最大流问题(Java)

/目录1问题描述2解决方案在最大流有多组解时,给每条边在附上一个单位费用的量,问在满足最大流时的最小费用是多少?  下面代码所使用的测试数据如下图: 具体代码如下:packagecom.liuzhen.practice;importjava.util.ArrayList;importjav...

算法笔记_141:无向图的欧拉回路判断问题(Java)

/目录1问题描述2解决方案ProblemDescription欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路? Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是节点数N(1<N<1000)和边数M;随后的...

算法笔记_142:无向图的欧拉回路求解(Java)

/目录1问题描述2解决方案 John'stripTimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 8998 Accepted: 3018 SpecialJudgeDescripti...

算法笔记_143:构造无向图的欧拉回路(Java)

/目录1问题描述2解决方案 具体链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=995   具体代码如下:...

算法笔记_144:有向图强连通分量的Tarjan算法(Java)

 /目录1问题描述2解决方案   引用自百度百科: 如果两个顶点可以相互通达,则称两个顶点强连通(stronglyconnected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通分量(stronglyconnectedcom...

算法笔记_145:拓扑排序的应用(Java)

/目录1问题描述2解决方案给出一些球,从1~N编号,他们的重量都不相同,也用1~N标记加以区分(这里真心恶毒啊,估计很多WA都是因为这里),然后给出一些约束条件,<a,b>要求编号为a的球必须比b轻,现在要求按编号升序输出每个球的重量,如果有多种解,输出字典序最小的那个。例如:input:154514213...

算法笔记_146:TarJan算法的应用(Java)

/目录1问题描述2解决方案 ProblemDescription为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以通过这个通道由A房间到达B房间,但并不说明通过...

算法笔记_147:有向图欧拉回路判断应用(Java)

/目录1问题描述2解决方案DescriptionInordertomaketheirsonsbrave,JiajiaandWindtakethemtoabigcave.Thecavehasnrooms,andone-waycorridorsconnectingsomerooms.Eachtime,Windchooset...

算法笔记_148:有向图欧拉回路求解(Java)

/目录1问题描述2解决方案DescriptionAcatenymisapairofwordsseparatedbyaperiodsuchthatthelastletterofthefirstwordisthesameasthelastletterofthesecond.Forexample,thefollowingar...
首页上一页...2021222324...下一页尾页