摘要: 问题来源 http://ac.jobdu.com/problem.php?pid=1012 问题描述 一共有编号1~n的n个城市,只有m条道路把他们连起来,问至少还需要多少条道路,才能让所有城市都连在一起。 问题分析 或许还没有了解接触过并查集,但我们看到这个问题,一定想得到这个问题大概怎么解决:连 阅读全文
posted @ 2017-05-03 11:14 AlvinZH 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 什么是并查集? 并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。 使用并查集时,首先会存在一组 阅读全文
posted @ 2017-05-03 11:01 AlvinZH 阅读(638) 评论(0) 推荐(0) 编辑
摘要: 问题来源 http://ac.jobdu.com/problem.php?pid=1168 问题描述 给出年份m和这一年中的第n天,算出第n天是几月几号。 问题分析 我们开一个二维数组来记录每个月的天数,有人好奇,为什么是二维数组,不是一维就够了吗?这里我们考虑到二月份闰年的关系,把二维数组形式开成 阅读全文
posted @ 2017-05-02 20:49 AlvinZH 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 在写代码的过程中,经常要一行一行的读入字符串进行处理,这里我总结了一些方法,供大家参考。 方法一:scanf()读入char[] 使用方法: 说明:在scanf函数中,可以使用%c来读取一个字符,使用%s读取一个字符串, 但是读取字符串时不忽略空格,读字符串时忽略开始的空格,并且读到空格为止,因此只 阅读全文
posted @ 2017-05-02 19:44 AlvinZH 阅读(56448) 评论(0) 推荐(14) 编辑
摘要: 什么是最大连续子序列和问题? 问题描述:给定一个序列(整数或浮点数),求出其中连续的子序列和最大的那一个。 例:序列{-10 1 2 3 4 -5 -23 3 7 -21},其最大的连续子序列为{1 2 3 4}或{3 7},最大和为10. 方法一:暴力求解 最最普通的方法,效率十分低,一般不会用到 阅读全文
posted @ 2017-05-02 13:14 AlvinZH 阅读(17280) 评论(0) 推荐(3) 编辑
摘要: 问题来源 http://ac.jobdu.com/problem.php?pid=1011 问题描述 给定一个数组,让我们求它的最大连续子序列。需要注意的是需要记录最大子序列和的起始和末尾,用两个变量实时跟踪就可以了。 问题分析 求最大连续子序列和有很多种方法,这里采用的是动态规划思想,既快捷有好理 阅读全文
posted @ 2017-05-02 09:42 AlvinZH 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 问题来源 http://ac.jobdu.com/problem.php?pid=1010 问题描述 给我们一行标准的字符串,整行读入之后,把它拆开转换成数字进行计算。 问题分析 首先考虑一个问题:如何整行读入字符串?为此我特地写了一篇博客来解释,如何使用各种方法整行读入字符串,请参考:http:/ 阅读全文
posted @ 2017-04-30 20:35 AlvinZH 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 什么是最短路径问题? 简单来讲,就是用于计算一个节点到其他所有节点的最短路径。 单源最短路算法:已知起点,求到达其他点的最短路径。 常用算法:Dijkstra算法、Bellman-ford算法、SPFA算法 多源最短路算法:求任意两点之间的最短路径。 常用算法:floyd算法 单源最短路径——Dij 阅读全文
posted @ 2017-04-30 17:27 AlvinZH 阅读(10436) 评论(0) 推荐(1) 编辑
摘要: 问题来源 http://ac.jobdu.com/problem.php?pid=1008 问题描述 给定一个G(V,E)有向图,起点s以及终点t,求最短路径。 问题分析 典型的单源最短路径问题,可以有多种方法完成。代码中采用的是SPFA算法。 注意:这里面在相等的最短路径时,要去花费最小的那条,需 阅读全文
posted @ 2017-04-29 13:35 AlvinZH 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 1.sort 使用:#include <algorithm> using namespace std; 作用:排序 时间复杂度:n*lg(n) 实现原理:sort并不是简单的快速排序,它对普通的快速排序进行了优化,此外,它还结合了插入排序和推排序。系统会根据你的数据形式和数据量自动选择合适的排序方法 阅读全文
posted @ 2017-04-29 11:56 AlvinZH 阅读(82276) 评论(3) 推荐(14) 编辑