图论
最短路、DFS、BFS、最小生成树...
zadarmo_
这个作者很懒,什么都没留下…
展开
-
单链表、树、图的存储(数组存储)
一、单链表1. 存储方式(不总结结构体存储)单链表的存储,主要是以下几个方面:存储每个点的值e[i]存储每个结点的下一个结点ne[i]存储头结点head用这3个变量去模拟链表。其中每个结点用数组下标去索引,即每个点对应一个下标。相应的,ne指针就指向下一个结点的下标,而非地址。/*** head : 指向 头结点的下标* e[i] : 下标为i的点的值* ne[i] : 下标为i的点 的 下一个结点的下标* idx : 结点个数。[0, idx)的每个数对应一个结点*/int原创 2020-09-28 14:01:02 · 1101 阅读 · 0 评论 -
1154 Vertex Coloring (25 分)——甲级(set)
A proper vertex coloring is a labeling of the graph’s vertices with colors such that no two vertices sharing the same edge have the same color. A coloring using at most k colors is called a (proper) k...原创 2019-08-11 17:39:12 · 180 阅读 · 0 评论 -
最小生成树算法——Prim算法和Kruskal算法
Prim算法该算法是一颗小树逐渐变大的过程。每次找到距树距离最小的点,最后加起来的权值就会最小(贪心)。设V是图中所有点构成的集合,U是生成树的点构成的集合,lowcost[j]表示结点j到生成树的最小距离(即与生成树中所有距离的最小值)。其步骤如下:确定数据结构。用邻接矩阵e[i][j]表示有权图,如果i,j之间存在边,则e[i][j]为 边权值;否则为无穷大INF。用bool数组...原创 2019-07-26 09:59:58 · 1313 阅读 · 0 评论 -
leetcode 43:全排列Ⅱ
给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]]对于有重复数字的序列的全排列,不能像一般全排列那样写,会有重复排列出现,其中最主要的问题就是如何解决重复排列的问题。下面来看一下如果出现了重复排列我们会发现什么特点。eg : {1, 1‘, 2} (为了方便起见,第二个1用1’表示)...原创 2020-01-27 11:01:56 · 152 阅读 · 0 评论 -
leetcode 93:复原IP地址(DFS+Backtracking)
给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例:输入: “25525511135”输出: [“255.255.11.135”, “255.255.111.35”]IP地址:分为四个部分,各部分之间用点分隔。每个部分数字大小不能超过255,且不能有前导0。思路:每个部分从一位数开始dfs,没有用完整个字符串就回溯;对于当前部分,小于等于255时才d...原创 2020-01-26 18:35:54 · 234 阅读 · 0 评论 -
蓝桥杯算法提高:最长滑雪道(dfs+记忆化搜索)
问题描述 小袁非常喜欢滑雪, 因为滑雪很刺激。为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。 小袁想知道在某个区域中最长的一个滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。如下: 一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-…-3-...原创 2020-01-12 20:00:06 · 525 阅读 · 0 评论 -
1013 Battle Over Cities (25 分)——甲级(dfs求连通分量)
Description:It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed. We must know immediat...原创 2019-11-30 14:15:53 · 132 阅读 · 0 评论 -
HDU1206 Ignatius and the Princess I(BFS+优先队列)
Problem DescriptionThe Princess has been abducted by the BEelzebub feng5166, our hero Ignatius has to rescue our pretty Princess. Now he gets into feng5166’s castle. The castle is a large labyrinth. ...原创 2019-10-13 15:16:01 · 260 阅读 · 0 评论 -
1034 Head of a Gang (30 分)——甲级(连通分量+map)
One way that the police finds the head of a gang is to check people’s phone calls. If there is a phone call between A and B, we say that A and B is related. The weight of a relation is defined to be t...原创 2019-08-27 12:40:01 · 120 阅读 · 0 评论 -
洛谷P1162——填涂颜色(bfs)
题目大意:给定一个方阵,将方阵中“1圈”内的0全部变为2输出。我一开始的做法是搜索圈外的0,然后将圈外的0和圈边界的1同圈内的0区分开,最后在遍历输出的时候就可以根据要求输出了。但是没有考虑到四个角落独立成联通快的情况。看了一下别人的解答,感觉这种方法比较巧妙,就记下来了。思路:由于第一次碰到的1的右下方肯定是圈内的0,那么首先找到第一个1,然后从它的右下方开始bfs即可。代码如下:#in...原创 2019-07-16 15:59:05 · 512 阅读 · 0 评论 -
1111 Online Map (30 分)——甲级(2次Dijkstra+记录路径+vector)
Input our current position and a destination, an online map can recommend several paths. Now your job is to recommend two paths to your user: one is the shortest, and the other is the fastest. It is g...原创 2019-09-02 19:37:03 · 156 阅读 · 0 评论 -
1087 All Roads Lead to Rome (30 分)——甲级(Dijkstra复杂变形+记录路径+map)
Indeed there are many different tourist routes from our city to Rome. You are supposed to find your clients the route with the least cost while gaining the most happiness.Input Specification:Each in...原创 2019-09-01 16:27:13 · 284 阅读 · 0 评论 -
1003 Emergency (25 分)——甲级(Dijkstra变形)
As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the l...原创 2019-08-31 22:43:57 · 167 阅读 · 0 评论 -
1030 Travel Plan (30 分)——甲级(Djkstra变形+记录路径)
A traveler’s map gives the distances between cities along the highways, together with the cost of each highway. Now you are supposed to write a program to help a traveler to decide the shortest path b...原创 2019-08-23 12:11:32 · 250 阅读 · 0 评论