12 2017 档案

摘要:单源最短路径 题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度。 输入输出格式 输入格式: 第一行包含三个整数N、M、S,分别表示点的个数、有向边的个数、出发点的编号。 接下来M行每行包含三个整数Fi、Gi、Wi,分别表示第i条有向边的出发点、目标点和长度。 输出格式: 一行 阅读全文
posted @ 2017-12-30 19:11 mrclr 阅读(759) 评论(0) 推荐(1)
摘要:并查集主要是用来查找图中的节点是否连通。 思路:若想求两点是否连通,只用判断两点所在的树的根节点是否相同。若相同则连通,否则不连通。 写法就比如说若编号为1的结点能连到2,2能连到3,那么1和2就都连到3。就是不断降低树的深度。像下图一样 主要代码 1 int p[1005]; //p[i]表示节点 阅读全文
posted @ 2017-12-30 19:02 mrclr 阅读(254) 评论(0) 推荐(0)
摘要:最长公共子序列 例:求两个字符串最长公共子序列长度。如a[] = {"abcedf"}, b[] = {"abtrenf},则最长公共子序列为abef,长度为4 伪代码: 代码 这是子序列的一个最基本的问题,从这个问题可以衍生出很多相关的子序列问题。 最长回文子序列例:有一个字符串,求最少删去几个字 阅读全文
posted @ 2017-12-26 20:14 mrclr 阅读(319) 评论(0) 推荐(0)
摘要:01背包 这是最简单的一种背包,因为对于每一件物品都只有放和不放两种情况,故叫01背包。所以状态转换方程dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - c[i]] + v[i]);dp[i][j]指有i个物品,在j个空间中能存放的最大价值dp[i - 1][j] 阅读全文
posted @ 2017-12-26 20:07 mrclr 阅读(277) 评论(0) 推荐(0)
摘要:【问题描述】上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。游戏规则是这样的:n 个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球没 阅读全文
posted @ 2017-12-25 22:17 mrclr 阅读(594) 评论(0) 推荐(1)