mkmp-242四个演员里长头发哪个叫什么?

(1)怎么学习前端的,看了哪些书

(2)实现左中右三栏布局,左右固定宽度,中间自适应

(16) 这段代码输出什么?

(337)给个N长度的数字字符串,每次只允许相临左右替换一次,请问怎么样最少替换字数,让整个字符串变成有序的。


(338)了解什么数据结构,知道 B+ 树吗(火山引擎前端一面)

(340)n 颗节点的有多少种形态

}

emmm,题目读的有点迷,不过只要注意到新加一个边和使得 s s st t t的距离不减少(!!神奇的的要求),并且要求新加边的两个点直接之前不能有直达的边,这题就差不多读懂了

题目大意:给你一个图,n个点,m条边,起点和终点 s , t s,t s,t,然后你需要新加一条边在两个点之间,现在问你有多少种加法使得 d i s t ( s , t ) dist(s,t)

看题目数据范围,比较小,那么我们可以直接枚举在那两个点之间建边,如果对于点 i , j i,j i,j建边了,若导致了最短路缩减,也就是 d i s ( s , i ) + d i s ( j , t ) i , j i,j i,j哪个点离哪个端点最近,所以要判断两次。

如果不减少的话也就是大于等于了,那么我们跑两次最短路就好了,一个对起点跑,一个对终点跑。然后枚举判断一下就好了。对于这种小数据,邻接矩阵他不香吗QAQ。

}



朴素算法理解简单,但两个串都有依次遍历,时间复杂度为O(n*m),效率不高。由此有了KMP算法。
一般的,在一次匹配中,我们是不知道主串的内容的,而模式串是我们自己定义的。
朴素算法中,P的第j位失配,默认的把P串后移一位。
但在前一轮的比较中,我们已经知道了P的前(j-1)位与S中间对应的某(j-1)个元素已经匹配成功了。这就意味着,在一轮的尝试匹配中,我们get到了主串的部分内容,我们能否利用这些内容,让P多移几位(我认为这就是KMP算法最根本的东西),减少遍历的趟数呢?



二叉树(Binary Tree)是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树), 或者由一个根节点和两棵互不相交的,分别称为根节点的左子树和右子树的二叉树组成

  • 每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。
  • 左子树和右子树是有顺序的,次序不能任意颠倒。
  • 即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。







图(Graph)是由顶点的有穷非空集合和顶点之间的边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。



用一个有向图表示一个工程的各子工程及其相互制约的关系,以弧表示活动,以顶点表示活动的开始或结束时间,称这种有向图为边表示活动的网,简称AOE网.

把工程计划表示为边表示的活动的网络, 即AOE网, 用顶点表示事件, 弧表示活动, 弧的权表示活动持续时间

事件表示在他之前的活动已经完成, 在他之后的活动可以开始

}

我要回帖

更多关于 dogma 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信