1.构造回文 题目: 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。 思路:利用回文的性质,利用动态规划求原字符串和其反串的最大公共子序列。 2.筛选法求素数 算法举例 单源最短路径中的Dijkstra算法 贪婪算法 最小生 ...
分类:
其他好文 时间:
2020-04-26 21:12:30
阅读次数:
58
题目描述:传送门 题解思路: 此题目如果直接套用单源最短路径的模板并且不使用优化(即无最小堆或者优先队列帮助实现),并以邻接矩阵的方式储存点和边及权值,最多只能得到70分,测试点卡在MLE上。 在无优化的单源最短路径模板上,倘若使用前向星的方法来实现边和点的储存(只换了储存方式,其他的操作和思想没变 ...
分类:
其他好文 时间:
2020-04-26 19:05:09
阅读次数:
65
单源最短路径 给定一个带权有向图 G=(V,E),其中每条边的权是非负实数。另外,给定 V 中的一个 顶点, 称为源。要计算从源到其他各顶点的最短路径长度。这里的长度是指路径上各边权 值之和。这个问题通常称为单源最短路径问题。 Dijkstm 算法求单源最短路径问题 ...
分类:
其他好文 时间:
2020-04-02 21:04:27
阅读次数:
224
前言 复习一下迪杰斯特拉算法,由于最小生成树的Prim算法与迪杰斯特拉算法极其类似,再顺便复习下最小生成树,顺便找两道水题验证代码正确性。 迪杰斯特拉算法 目的 该算法用于单源最短路,求一个图中,从起点S,到终点E的最短路径 思路 算法基于贪心思想,简单来讲就是两步: 找出起点距离其他点的最短距离中 ...
分类:
编程语言 时间:
2020-03-17 08:33:20
阅读次数:
87
1. 概述 Floyd算法是一个经典的 动态规划 算法,是解决任意两点间的最短路径(称为多源最短路径问题)的一种算法 也可以正确处理有向图或负权的最短路径问题 Dijkstra ~ Floyd Dijkstra算法 单源最短路径,计算图中某一个顶点到其他顶点的最短路径 选定一个顶点作为出发访问顶点, ...
分类:
编程语言 时间:
2020-03-14 01:21:40
阅读次数:
61
大致题意就是给出一个图、每个顶点的点权、顶点之间的边权、起点和终点。求出从起点到终点的最短路径的数量、以及最短路径上的最大点权之和。 这是一道模板题,要先记住大体流程,然后反复练习,较难头疼。。。 1 #include<iostream> 2 using namespace std; 3 4 con ...
分类:
编程语言 时间:
2020-03-07 21:00:27
阅读次数:
81
一、Bellman Ford算法 1. 用于解决单源最短路径的问题,但也能够处理有负权边的情况。这是与Djikstra算法不同的地方。 2. 关于复杂度,要比Djikstra的复杂度更高一点。O(VE),而Djikstra复杂度是O(V^2),V是点的数量,E是边的数量 3. 原理,就是会出现负环的 ...
分类:
编程语言 时间:
2020-03-03 11:26:13
阅读次数:
91
一. Djikstra算法定义 1. 用来解决单源最短路径的问题,即给出图G和起点s,通过算法到达每个顶点的最短距离。 2. 对图G(V, E)设置集合S, 存放已被访问的顶点,然后每次从集合V S中选择与起点s的最短距离最小的一个顶点u,访问并加入集合S。之后,令顶点u为中介点, 优化起点和所有的 ...
分类:
编程语言 时间:
2020-02-28 22:59:09
阅读次数:
72
本博客只适于普及组二等奖食用 oj:https://loj.ac/problems , https://www.luogu.com.cn/ 目录: 单源最短路径 ST表 树状数组1 树状数组2 线段树1 线段树2 缩点(Tarjan) 割点(割顶) LCA 平衡树 负环 差分约束系统 矩阵快速幂 矩 ...
分类:
其他好文 时间:
2020-02-28 15:43:27
阅读次数:
68
弗洛伊德算法和迪杰斯特拉算法类似,是计算一个图中各个顶点之间的最短路径,每一个顶点都是出发顶点 记录两个顶点的距离,如果有经过某一顶点所得到的距离比直接连接这两个顶点的距离小则更新,否则不变 实现为:使用双层循环当中间顶点不变,出发和终点的点进行循环,最后使用一层循环更新中间顶点,总共使用三层循环, ...
分类:
编程语言 时间:
2020-02-28 11:43:52
阅读次数:
56