总结
cherish__lin
I want to be better!
展开
-
最短路小结
通过对最短路的学习,我已经部分掌握了3大算法及其变形,会用一些知识去解决问题,但学无止境,仍有许多知识我知之甚少,我希望通过我的努力会变得越来越强。 Floyd经典算法适合多源最短路,由于复杂度较高,适合数据较小的题目,但也有些题目可由Floyd的变形去做。Dijkstra算法为单源最短路,主要思想就是将所有的顶点分成2部分,已知最短路程的集合P和未知最短路程的集合Q,用vis数组标记该点是否在...原创 2019-02-10 22:02:59 · 156 阅读 · 0 评论 -
扩展欧几里得与乘法逆元
扩展欧几里得能求出形如a*x+b*y=gcd(a,b)的通解x,y。 我们设 a1*x1+b1*y1=gcd(a,b) (1) a2*x2+b2*y2=gcd(a,b) (2) 并且a2=b1,b2=a1%b1=a1-(a1/b1*b1) 则(1)(2)相等可得a1*x2+b1*y1=b1*x2+[a1-(a1/b1*b1)]* y2 对应系数相等可得:x1=y2 ,y1=...原创 2019-02-22 12:38:29 · 389 阅读 · 0 评论 -
二叉树的建立与遍历小结
好久前就学完二叉树了,不过不善总结,到现在才温习一遍,感觉全是模板啊,有点难的就是那个树的同构~。 首先我们可以根据给出的字串建立起二叉树(如","为空节点特判),我们还可以根据(先序+中序)或者(中序+后序)得到唯一的二叉树,当然了(先序+后序)得到可能的二叉树种数也是题目,不过我还没遇到,这里就不写了。建立好二叉树后我们可以先序(根左右),中序(左根右),后序(左右根),层序,来遍历二叉树...原创 2019-02-25 16:58:43 · 1946 阅读 · 0 评论 -
STL小结
首先来说一下lower_bound函数,其功能主要是在已经排好序的数组里查找第一个大于等于x的地址,而upper_bound在已经排好序的数组里查找第一个大于x的地址,参数分别为要在数组查找的首地址,尾地址,查询值,即:lower_bound(a,a+n,x). 而lower_bound(a,a+n,x)-a即得到了第一个大于等于x的值的下标。upper_bound(b,b+n,x)-lower...原创 2019-03-08 22:21:39 · 82 阅读 · 0 评论