![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模板题
文章平均质量分 52
哆啦刘小洋
努力思考
展开
-
模板题---2.2(图论--最小生成树,floyd,二分图)
说人话的定义:图中点通过移动能分成左右两部分,左侧的点只和右侧的点相连,右侧的点只和左侧的点相连。每次都要找到“除了U里面的顶点,还剩余的顶点里面距离U集合最近的一个点,这个点加入U"。有两顶点集且图中每条边的的两个顶点分别位于两个顶点集中,每个顶点集中没有边直接相连接!对于枚举的边,如果当前边的两个点都在生成树集合内,则这条边不要,否则就要.在带权连通图中,V是所有点的集合,U是已经生成最成的树的顶点的集合。思路:动态规划,从a到b的最短距离等于从a到k和k到b的距离之和。什么是二分图:(引用)原创 2022-12-30 16:37:03 · 374 阅读 · 0 评论 -
模板题---2.1(图论)
Bellman_ford算法会遍历所有的边,但是有很多的边遍历了其实没有什么意义,我们只用遍历那些到源点距离变小的点所连接的边即可,只有当一个点的前驱结点更新了,该节点才会得到更新;,决定是最大优先队列还是最小优先队列,默认的less为最大优先队列,实现方式是最大堆,greater为最小优先队列,实现方式是最小堆,结构都是二叉树。核心:对所有的点进行“对邻接边尝试松弛”即dist[to]=min(dist[to],dist[from]+w[from][to]);大根堆就是根节点最大,小根堆就是根节点最小。原创 2022-12-23 15:10:46 · 343 阅读 · 0 评论 -
模板题---1.4(双指针,位运算,离散化)
如果更依赖于数据的相对位置而不是绝对位置,需要使用离散化的思想。原创 2022-12-15 21:37:29 · 51 阅读 · 0 评论 -
模板题---1.3(前缀与差分)
给一个二维数组:求出其中某个子矩阵区间的所有元素之和。暴力法效率低,用二维前缀和解决。细节:‘’pre[r]-pre[l-1]‘’不要写成"pre[r]-pre[l]“差分:如果有两个数组,a,b。b数组是a数组的前缀和。那么a数组就是b数组的差分。描述:一个一维数组 1 2 3 1 5 6 .用pre[i]表示前i个数的和。思路:同上,二维差分是这四个模板最难理解的一个。原创 2022-12-12 20:14:53 · 67 阅读 · 0 评论 -
模板题---1.2(高精度--加减乘除)
比如1234和321.用strcmp比较就是321大。注意去除前导0.再一个不要用string类的自带重载运算符。输入两个由数字组成的字符串相加。输入1234 1234。原创 2022-12-12 10:12:42 · 81 阅读 · 0 评论 -
模板题---1.1(快速排序,归并排序,二分)
找到目标值起始和结束的位置。(目标值可以有多个)给n个数从小到大排序。给n个数从小到大排序。数组默认从小到大排序。原创 2022-11-26 12:52:37 · 58 阅读 · 0 评论