算法
z_xindong
这个作者很懒,什么都没留下…
展开
-
Bellman-Ford算法查找最短路径
代码如下:#include<stdio.h>#define max 99999999int main(){ int dis[101]; int u[101],v[101],w[101]; int i,j,check; int m,n,a,b,c; scanf("%d %d",&n,&m);//输入顶点数,边数; for(i=1;i&l...原创 2018-06-09 21:23:27 · 274 阅读 · 0 评论 -
Manacher算法
原文:https://blog.csdn.net/dyx404514/article/details/42061017 Manacher算法算法总结第三弹 manacher算法,前面讲了两个字符串相算法——kmp和拓展kmp,这次来还是来总结一个字符串算法,manacher算法,我习惯叫他 “马拉车”算法。相对于前面介绍的两个算法,Manacher算法的应用范围要狭窄得多,但是它的思想和...转载 2018-11-12 17:33:43 · 95 阅读 · 0 评论 -
B - Oulipo HDU - 1686
The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e'. He was a member of the Oulipo group. A quote from the book: Tout avait Pair normal, mais tout s’...原创 2018-11-13 12:54:34 · 172 阅读 · 0 评论 -
求一个正整数的各种分解情况中的最大乘积值。
Problem Description一个正整数N(0<n<100),可以写成若干个正整数加数之和,如6可以写成 6=1+2+3;6=2+2+2;6=2+4;6=3+3;6=1+5;……其中有一种分解方式获得的加数的乘积是所有分解方式中最大的,比如上面分解中最大的乘积是3×3=9。请你设计一种算法,对于任何一个输入的正整数,求出其各种分解中所得到的最大乘积。Input...原创 2018-10-16 19:33:51 · 2186 阅读 · 0 评论 -
数据结构实验之串一:KMP简单应用
Problem Description给定两个字符串string1和string2,判断string2是否为string1的子串。Input 输入包含多组数据,每组测试数据包含两行,第一行代表string1(长度小于1000000),第二行代表string2(长度小于1000000),string1和string2中保证不出现空格。Output 对于每组输入数据,若string...原创 2018-10-11 21:10:25 · 281 阅读 · 0 评论 -
数据结构实验之图论十:判断给定图是否存在合法拓扑序列
有向无环图一个无环的有向图称作有向无环图(directed acycline graph),简称DAG图。假设以有向图表示一个工程的施工图或程序的数据流图,则图中不允许出现回路,如果出现回路,说明了某项活动以它自己为先决条件,显然是荒谬的,工程将无法进行。 [1] 拓扑排序拓扑排序是一种对非线性结构的有向图进行线性化的重要手段。在给定的有向图G中,若顶点序列Vi1,Vi2,Vi3,...原创 2018-08-12 09:53:40 · 360 阅读 · 0 评论 -
数据结构实验之二叉树一:树的同构
Problem Description给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 图1 图2现给定两棵树,请你判断它们是否是同构的。Input 输入数据包含多组,每组数据给出2棵二叉树的信...原创 2018-08-02 12:12:56 · 300 阅读 · 0 评论 -
数据结构实验之排序六:希尔排序
算法内容转载自:https://blog.csdn.net/weixin_37818081/article/details/792021151,有关插入排序(1)插入排序的基本方法是:每步将一个待排序的元素,按其排序码大小插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止。 (2)可以选择不同的方法在已经排好序的有序数据表中寻找插入位置,依据查找方法的不同,有多种插入排序...原创 2018-08-14 10:23:54 · 569 阅读 · 0 评论 -
C++STL库中sort函数用法
首先sort函数因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高。所以一般数据量很大的数据排序都可以用它来进行。1)Sort()函数的头文件为#include<algorithm> (2)Sort函数有三个参数:第一个是要排序的数组的起始地址。第二个是结束地址(最后一位要排序的地址)第三个参数是排序的方法,可以从小到大也...原创 2018-08-01 20:22:36 · 4673 阅读 · 0 评论 -
数据结构实验之图论九:最小生成树
如果想要让一个有n个点的图是连通图,那至少需要n-1条边,一个连通无向图且不含有回路那么他就是一个树,那么一个有n个点的图可以找到n-1条边保持它的连通性并且不含有回路,那么就找到了这个图的最小生成树;举个例子吧:Problem Description 有n个城市,其中有些城市之间可以修建公路,修建不同的公路费用是不同的。现在我们想知道,最少花多少钱修公路可以将所有的城市连在一起,使...原创 2018-08-10 16:47:04 · 408 阅读 · 0 评论 -
数据结构实验:连通分量个数
Problem Description 在无向图中,如果从顶点vi到顶点vj有路径,则称vi和vj连通。如果图中任意两个顶点之间都连通,则称该图为连通图,否则,称该图为非连通图,则其中的极大连通子图称为连通分量,这里所谓的极大是指子图中包含的顶点个数极大。例如:一个无向图有5个顶点,1-3-5是连通的,2是连通的,4是连通的,则这个无向图有3个连通分量。 Input 第一行...原创 2018-08-10 16:07:46 · 267 阅读 · 0 评论 -
字符串匹配之KMP
对于一些长度比较小的字符串,我们可以直接用朴素匹配法来求得,但对于过于长的字符串我们就需要换一个快一点的算法,这时候KMP就用得到了。 KMP算法的关键在于部分匹配值表,要正确的根据前后缀的重复层度求出next数组。我刚开始学习的时候看到的是这样的求法,于是就跟着这个来理解了:void GetNext(char *a)///这个函数是为了标记匹配字符...原创 2018-08-01 13:19:32 · 278 阅读 · 0 评论 -
汤圆の拯救计划
Problem Description又到了汤圆星球一年一度的汤圆节了,但是大魔王却过来把汤圆公主抓走了Σ( ° △ °|||)︴身为汤圆骑士的QAQ蒟蒻自然而然的肩负着拯救汤圆的使命QAQ蒟蒻经历了千辛万苦(并没有)之后,来到了大魔王的城堡,根据情报,汤圆公主就被大魔王放在城堡内,然后QAQ蒟蒻发现自己是一个路痴,所幸的是他拿到了大魔王的城堡的地图,而且在这上面标注了自己和汤圆公主的...原创 2018-08-09 17:28:21 · 160 阅读 · 0 评论 -
团战可以输、提莫必须死
Problem Description 为了一些你们不知道的原因,我们把LOL的地图抽象为一个n×m的矩阵 提莫积攒了k个蘑菇准备种到地图上去,因为提莫的背篓漏了,所以每一个提莫走过的地方都会被摆下一个蘑菇,两个蘑菇同时种在一个地方的话就会爆炸,所以一旦即将出现这种情况,提莫会直接传送回家,防止自己被炸死 之前的排位赛中因为乱种蘑菇提莫已经被骂了好...原创 2018-08-09 10:25:14 · 539 阅读 · 0 评论 -
数据结构实验之图论五:从起始点到目标点的最短步数(BFS)
Problem Description 在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫。在他们所在的地域,有n个隘口,编号为1..n,某些隘口之间是有通道连接的。其中近卫军团在1号隘口,天灾军团在n号隘口。某一天,天灾军团的领袖巫妖王决定派兵攻打近卫军团,天灾军团的部队如此庞大,甚至可以填江过河。但是巫妖王不想付出不必要的代价,他想知道在不修建任何通道的前提下,部队是否可以通过隘口及其...原创 2018-08-09 10:05:45 · 133 阅读 · 0 评论 -
V - 吉哥系列故事――完美队形II HDU - 4513
吉哥又想出了一个新的完美队形游戏! 假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要求,则就是新的完美队形: 1、挑出的人保持原队形的相对顺序不变,且必须都是在原队形中连续的; 2、左右对称,假设有m个人形成新的队形,则第1个人和第m个人身高相同,第2个人和第m-1个...原创 2018-11-14 17:37:47 · 187 阅读 · 0 评论