随笔分类 -  算法

摘要:这几种树都属于数据结构中较为复杂的,在平时面试中,经常会问理解用法,但一般不会问具体的实现,所以今天来梳理一下这几种树之间的区别与联系,感谢知乎用户@Cailiang,这篇文章参考了他的专栏。 二叉查找树 是一棵空树,或是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结 阅读全文
posted @ 2019-07-24 10:59 feifei97 阅读(314) 评论(0) 推荐(0)
摘要:给定一个无向图G =(V,E),其中V表示图中顶点集合,E表示边的集合。G的最小控制顶点集合为V的一个子集S∈V;假设集合R表示V排除集合S后剩余顶点集合,即R∩S=∅,R∪S=V;则最小控制顶点集合S满足约束条件:R中任意一个顶点至少与S的一个顶点直接相连。给定一个图,求出最小控制集。 控制集定义 阅读全文
posted @ 2019-01-11 16:42 feifei97 阅读(6559) 评论(2) 推荐(1)
摘要:这是非稳态一维热传导的方法,也叫古典显格式。 如果是做数学建模,就别用了,这种方法计算量比较大,算的很慢,而且收敛不好。 但是如果实在没办法也能凑合用。 该改的地方我都用???代替了。 给个详细解释https://wenku.baidu.com/view/78a359d43b3567ec112d8a 阅读全文
posted @ 2018-09-14 23:25 feifei97 阅读(9677) 评论(0) 推荐(0)
摘要:建图: 首先加一个源点s和汇点t,分别连接在二分图的左边和右边,每条弧的上下界为【L, R】,二分图左边和右边之间连弧上下界为【0,1】,其实就相当于连弧为1。 然后问题就转换为:有源汇最大流。 继续建图: 建立弧<t,s><,容量下界为00,上界为∞∞。 加一个超级源ss和超级汇tt 对于所有有上 阅读全文
posted @ 2018-09-08 18:49 feifei97 阅读(359) 评论(0) 推荐(0)
摘要:大概题意: 题意:N个点,M条带权有向边,求将K条边权值变为0的情况下,从点1到点N的最短路。 拓展:可以改变K条边的权值为x 做法:把每个点拆成k个点,分别表示还能使用多少次机会,构造新图。 实际写的时候,不用真的拆点,用dist[i][j]表示从源点出发到点i,免费j条边的最小花费,在dijks 阅读全文
posted @ 2018-09-02 13:49 feifei97 阅读(189) 评论(0) 推荐(0)
摘要:例题:HDU2376 HDU6446(2018CCPC网络赛) 思路:求任意两点间距离和可以转换为->路径长度乘经过路径次数的和。 求经过次数:设这条边两端的点,被经过的次数分别为A和B,那么这条边被经过的次数就是A*B,它对总距离和的贡献就是(A*B*此边长度)。 每条边两端点经过次数的计算,可以 阅读全文
posted @ 2018-08-28 11:30 feifei97 阅读(3236) 评论(0) 推荐(0)
摘要:原文:https://members.loria.fr/SLazard/ARC-Visi3D/Pant-project/files/Line_Triangle.html 给出直线上两点坐标以及三角形三个顶点坐标(v0,v1,v2) 可能的情况为:相交或共面,相交中分为:穿过三角形,穿过三角形边缘,穿 阅读全文
posted @ 2018-08-13 21:21 feifei97 阅读(4049) 评论(0) 推荐(0)
摘要:网上之所以有这么多版本的KMP算法,是因为有的人写的是最大长度串版本的,有的人写的是next数组版本的(具体区别看下面博文),有的人写的是next优化版的,有的人写的是未优化的,不同人写的循环方法不同,这些写法间的效率是有一定区别的 KMP算法具体讲解看这篇博客,讲的非常非常详细: https:// 阅读全文
posted @ 2018-08-10 17:21 feifei97 阅读(528) 评论(0) 推荐(0)