摘要: 题目大意:给定一个图,求可以连通图的一组边中最大边减最小边最小的一个方案把边按权值大小进行排序,从小到大枚举L,对于每个L,从小到大枚举R,所有点连通时不再枚举关键函数:int solve(){ sort(edge+1,edge+1+m,cmp); int... 阅读全文
posted @ 2018-05-06 09:53 琳小羽 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目大意描述,给出一条通话ben alex,表示本打给alex,及一条有向边。如果从ben可以到alex且alex可以到ben,则表示他们在一个电话圈内。每一行输出一组在一个电话圈内的人。基本思路:在图中记录下已经存在的单向边,通过三层循环枚举每个点即它们的中间节点。... 阅读全文
posted @ 2018-05-02 16:25 琳小羽 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 递归果断超时,找了半天的规律,想死。。。。通过打表发现2n的值与2n+1的值相同得出第一个规律:n%2!=0时f【n】=f【n-1】;看下面10的答案分解:再看9的答案分解:得到第二个规律:n%2==0时f【n】=f【n-1】+f【n/2】;完整代码:#include... 阅读全文
posted @ 2017-12-02 18:32 琳小羽 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 归并排序利用分治的思想进行排序,采用递归形式进行排序;举个栗子:给一个五个元素的数组,下标从0到4;把其分为两个部分:0,1,2和3,4 。 两个部分都有序了再合并;0,1,2再分为两个部分0,1和2 。 两个部分都有序了再合并;比较0,1,的大小使其有序,... 阅读全文
posted @ 2017-12-01 09:14 琳小羽 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 从一个序列中选择出最小的元素与第一个元素进行交换;第一个元素有序,从第二个元素开始找到最小的元素与第二个元素进行交换;前两个元素有序,从第三个元素开始找到最小的元素与第三个元素进行交换;。。。。。。;直到整个序列有序;完整代码:#include using names... 阅读全文
posted @ 2017-11-28 16:17 琳小羽 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;(3)左、右子树也分别为二叉排序树;一,储存方式按二叉树的存储方式,定义一... 阅读全文
posted @ 2017-10-22 16:25 琳小羽 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 运用C++STL中list储存图,算法详细介绍在另一篇文章中#include#include#include#includeusing namespace std;const int M=10000;struct edge{ int to; int weight;};... 阅读全文
posted @ 2017-10-12 20:11 琳小羽 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 最小生成树的prim算法:1,在顶点中任取一点,加入集合U中;2,在集合外的点中找到离集合中的点中最近的点并构成路径,找到的点加入集合中;3,重复2过程到树构建完毕;举个栗子:从1开始,1加入集合U中,2,3,4,在集合外;选择离集合中点最近的点4,4加入集合中,2,... 阅读全文
posted @ 2017-10-07 18:39 琳小羽 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 分析:根据题意,每两只蚂蚁相遇后就会各自调头,那么蚂蚁的位置排序是不变的;什么意思呢?例如一排蚂蚁编号1-5,无论怎样运动,改变的只是位置(相遇后会调头),但第一个位置仍然是1号蚂蚁,最后一个位置仍然是5号蚂蚁。注意题目给的数据位置并不是从大到小的,所以要按照位置的先... 阅读全文
posted @ 2017-09-19 16:54 琳小羽 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 一开始思路异常清晰有木有(〃'▽'〃)结果就是wa;有点类似于求连通块,只是是求外面的连通块并进行标记,被标记的输出0,未被标记的输出原来的值;一个坑在于如果是这样的:外面的连通块被分成了几份,这样方法就失效了,我们在原来的图外加上一圈1就可以避免;完整代码:#inc... 阅读全文
posted @ 2017-09-10 14:58 琳小羽 阅读(120) 评论(0) 推荐(0) 编辑