假如一堵墙上有一些钉子,这些钉子由许多细线连接起来,当我们试图去掉其他线,只留下较短的线使图钉连接起来,这就形成了最小生成树。 最小生成树正式描述是:给定无方向带权图G=(V,E),最小生成树集合为T,T为最小代价连接V中所有顶点所用边E的最小集合。 最小生成树常用Prim算法和Dijkstra算法 ...
分类:
其他好文 时间:
2020-04-29 23:38:26
阅读次数:
67
1.构造回文 题目: 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。 思路:利用回文的性质,利用动态规划求原字符串和其反串的最大公共子序列。 2.筛选法求素数 算法举例 单源最短路径中的Dijkstra算法 贪婪算法 最小生 ...
分类:
其他好文 时间:
2020-04-26 21:12:30
阅读次数:
58
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 19349 Accepted Submission(s): 6763 Proble ...
分类:
编程语言 时间:
2020-04-26 10:38:03
阅读次数:
90
原理及python实现 graph:保存图,类似邻接表 costs:保存从起点到某点的最小花费 parents:保存节点的父节点 processed:用于保存已经处理过的点 graph={} graph["start"]={} graph["start"]["a"]=6 graph["start"] ...
分类:
编程语言 时间:
2020-04-19 12:49:46
阅读次数:
62
1 #include <iostream> 2 #define infinity 65535 3 using namespace std; 4 int cnt[1000];//S到某点最短路径的数目 5 int low[1000];//S到某点最短路径长度 6 int high[1000] = { ...
分类:
其他好文 时间:
2020-04-18 11:40:54
阅读次数:
155
#include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 500; int n, m, g[N][N], d[N]; bool st[N]; int dijkstra( ...
分类:
其他好文 时间:
2020-04-14 22:36:28
阅读次数:
49
OAO dijkstra算法在复杂度方面是十分优秀的,但是其最大弊端就是无法处理带负权的图 (因为是基于已经被更新过的距离源点的边必然已经达到了最短路的这个事实 来采取贪心策略来求得最短路 而有负权路存在时,这个基础不在成立。) 这个时候就要请出Bellman-Ford算法了 (正确性证明:http ...
分类:
编程语言 时间:
2020-04-14 20:30:25
阅读次数:
61
最近发现struct板子真的好用。 1 #include<bits/stdc++.h> 2 #define ll long long 3 #define scan(i) scanf("%d",&i) 4 #define scand(i) scanf("%lf",&i) 5 #define scanl ...
分类:
编程语言 时间:
2020-04-13 18:19:39
阅读次数:
107
本题考点: 多标尺的Dijkstra 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时 ...
分类:
其他好文 时间:
2020-04-10 10:34:13
阅读次数:
140
"CSDN同步" "原题链接" 前置知识: "$\text{dijkstra}$ 模板" 简要题意: 求任意两点的最短路。图中可能有 负环,负权,重边,自环 等现象。 显然我们先建图。 算法一 对于 $20\%$ 的数据,$1\leq n \leq 100$,不存在负环(可用于验证 $\text{F ...
分类:
其他好文 时间:
2020-04-08 18:57:23
阅读次数:
82