摘要: 一、问题描述 在电子电路设计中,我们常常需要将多个组件连接在一起,显然我们希望所用的线能够最短,由此引出最小生成树问题。 在本实验中,我们将讨论解决最小生成树问题的两种算法:Prim算法和Kruskal算法。其中Prim算法的时间复杂度为O(N^2),如果使用二叉堆来优化寻找新加入的结点,则可以将时 阅读全文
posted @ 2016-02-09 06:43 zyy是一只超级大沙茶 阅读(949) 评论(0) 推荐(0)
摘要: 一、生成小根堆 1、随机生成一棵完全二叉树 2、调整结点56及其子树 3、调整结点77及其子树 4、调整结点45及其子树 5、调整结点18及其子树 6、调整结点29及其子树 (1)调整几点29及其左、右儿子 (2)调整结点29及其左、右儿子 二、堆排序 1、取出当前最小元素3 (1)掐尖 (2)将结 阅读全文
posted @ 2016-02-09 06:36 zyy是一只超级大沙茶 阅读(443) 评论(0) 推荐(0)
摘要: 一、问题描述 内部排序是一件具有重大意义的问题,许多项目的实现中都需要用到排序。 我们知道,排序的算法有许多种,每种排序算法的时间复杂度和空间复杂度不尽相同。在解决实际问题时,往往需要根据实际需要选择排序算法。 本实验重点介绍希尔排序的算法实现及其原理,简要说明与其相关的直接排序算法,并讨论希尔排序 阅读全文
posted @ 2016-02-09 06:23 zyy是一只超级大沙茶 阅读(791) 评论(0) 推荐(0)
摘要: 一、问题描述 内部排序是一件具有重大意义的问题,许多项目的实现中都需要用到排序。 我们知道,排序的算法有许多种,每种排序算法的时间复杂度和空间复杂度不尽相同。在解决实际问题时,往往需要根据实际需要选择排序算法。 上次实验已经讨论了希尔排序的实现及其原理,本实验重点介绍另一种排序算法——快速排序。实验 阅读全文
posted @ 2016-02-09 06:07 zyy是一只超级大沙茶 阅读(538) 评论(0) 推荐(0)
摘要: 转载来源:http://blog.csdn.net/yuliu0552/article/details/6717915 C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗? 能!struct能继承 阅读全文
posted @ 2015-12-18 22:32 zyy是一只超级大沙茶 阅读(176) 评论(0) 推荐(0)
摘要: 题目描述 长度为偶数的回文串被称为偶回文串。如果一个字符串重新排序之后能够成为一个偶回文串,则称为可回文的。 给一个字符串,求可回文的子串个数。字符串只含小写字母,单个字符串长度不超过10^5,所有数据字符串长度之和不超过2*10^6。 时间限制:3000ms 内存限制:131072kb 解题思路 阅读全文
posted @ 2015-12-15 21:48 zyy是一只超级大沙茶 阅读(499) 评论(0) 推荐(0)
摘要: 题目描述 一张n*m的地图,每个格子里面有一定数量的神奇宝贝,求一个最优位置,使得所有神奇宝贝到该位置的曼哈顿距离最小。 一共有T组数据,每组数据包含两行,第一行是n和m(1<=n,m<=2000),第二行是三个整数x,y,q,表示处于(i,j)(1<=i<=n,1<=j<=m)的神奇宝贝的数量为( 阅读全文
posted @ 2015-12-15 21:23 zyy是一只超级大沙茶 阅读(332) 评论(0) 推荐(0)
摘要: 题目描述 解题思路 可以求得通项公式:an = 2n + 1,所以问题就变成等差数列求异或和,这个具体为什么对我还不能很好地解释清楚,先挖坑吧。 附:c++代码 1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 阅读全文
posted @ 2015-12-15 20:45 zyy是一只超级大沙茶 阅读(233) 评论(0) 推荐(0)
摘要: 题目描述 (1,……,n)的一个排列S,定义其对应的权值F[S]为:将S划分为若干段连续子序列,每个子序列都是上升序列,F[S]的值等于能划分出的最小段数。 求n的全排列的F[S]的和,答案mod(10^9+7)。 解题思路 刚拿到题目时,我没什么思路,于是决定列举情况找找规律。 当n == 1时, 阅读全文
posted @ 2015-12-15 19:02 zyy是一只超级大沙茶 阅读(270) 评论(0) 推荐(0)
摘要: 题目描述 给一个长度为n(1<=n<=100000)的正整数列,分成尽量多的非空段,使得每一段的最大公约数相等。一个数的最大公约数是它本身。 解题思路 要求每一段子列的gcd相等,不妨设为d,可以知道d是所有数的最大公约数,即d=(a[1],a[2],……,a[n])。于是我们先求出d,然后从前往后 阅读全文
posted @ 2015-12-15 01:42 zyy是一只超级大沙茶 阅读(325) 评论(0) 推荐(0)