自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 算法设计-最优合并问题

最优合并问题Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description给定k 个排好序的序列s1 , s2,……, sk , 用2 路合并算法将这k 个序列合并成一个序列。假设所采用的2 路合并算法合并2 个长度分别为m和n的序列需要m + n -1次比较。试设计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。...

2019-11-22 16:08:27 769

原创 算法设计-汽车加油问题

汽车加油问题Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description一辆汽车加满油后可行驶n公里。旅途中有若干个加油站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。并证明算法能产生一个最优解。对于给定的n和k个加油站位置,计算最少加油次数。Input输入数据的第一行有2 个正整数n和k(n≤500...

2019-11-22 14:14:02 514

原创 算法设计-整数变换问题

整数变换问题Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description整数变换问题。关于整数i的变换f和g定义如下:f(i)=3i;试设计一个算法,对于给定的2 个整数n和m,用最少的f和g变换次数将n变换为m。例如,可以将整数15用4 次变换将它变换为整数4:4=gfgg(15)。当整数n不可能变换为整数m时,算法应如何处...

2019-11-22 10:12:34 633

原创 算法设计-工作分配问题

工作分配问题Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为 cij。试设计一个算法,为每一个人都分配1 件不同的工作,并使总费用达到最小。设计一个算法,对于给定的工作费用,计算最佳工作分配方案,使总费用达到最小。Input输入数据的第一行有1 个正整...

2019-11-22 09:34:59 533

原创 算法设计-运动员最佳匹配问题

运动员最佳匹配问题Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description羽毛球队有男女运动员各n 人。给定2 个n×n 矩阵P 和Q。P[i][j]是男运动员i 和女运动员j配对组成混合双打的男运动员竞赛优势;Q[i][j]是女运动员i和男运动员j配合的女运动员竞赛优势。由于技术配合和心理状态等各种因素影响,P[i][j]...

2019-11-22 09:06:14 447

原创 算法设计-子集和问题

子集和问题Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description子集和问题的一个实例为〈S,t〉。其中,S={ x1 , x2 ,…,xn }是一个正整数的集合,c是一个正整数。子集和问题判定是否存在S的一个子集S1,使得:。试设计一个解子集和问题的回溯法。对于给定的正整数的集合S={ x1 , x2 ,…,xn...

2019-11-22 08:44:25 472

原创 算法设计-最长公共子序列问题

最长公共子序列问题Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description给定两个序列 X={x1,x2,…,xm} 和 Y={y1,y2,…,yn},找出X和Y的最长公共子序列。Input输入数据有多组,每组有两行 ,每行为一个长度不超过500的字符串(输入全是大写英文字母(A,Z)),表示序列X和Y。Output...

2019-11-22 08:31:50 198

原创 算法设计-石子合并问题

石子合并问题Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description在一个圆形操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分。对于给定n堆石子,计算合并成一堆的最小得分...

2019-11-21 14:10:53 291

原创 算法设计-高数Umaru系列(9)——哈士奇

高数Umaru系列(9)——哈士奇Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description由于高数巨养的喵星人太傲娇了,要天天吃新鲜猫粮而且还经常欺负高数巨,所以高数巨决定买几条哈士奇尝尝鲜。这天高数巨来到了二手狗市场买哈士奇,高数巨看完了所有的哈士奇,记下了每条哈士奇的价格,并根据对它们的好感程度给它们每只都赋予了一个萌值...

2019-11-21 11:30:34 174

原创 算法设计-数字三角形问题

数字三角形问题Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底的路径经过的数字和的最大值。Input输入数据的第1行是数字三角形的...

2019-11-21 11:26:11 265

原创 算法设计-最少硬币问题

高数Umaru系列(9)——哈士奇Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description由于高数巨养的喵星人太傲娇了,要天天吃新鲜猫粮而且还经常欺负高数巨,所以高数巨决定买几条哈士奇尝尝鲜。这天高数巨来到了二手狗市场买哈士奇,高数巨看完了所有的哈士奇,记下了每条哈士奇的价格,并根据对它们的好感程度给它们每只都赋予了一个萌值...

2019-11-21 10:51:15 204

原创 算法设计-骨牌铺方格

骨牌铺方格Time Limit: 1000 ms Memory Limit: 32768 KiBProblem Description在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:Input输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0<...

2019-11-21 09:42:34 155

原创 算法设计-顺序表应用7:最大子段和之分治递归法

顺序表应用7:最大子段和之分治递归法Time Limit: 10 ms Memory Limit: 400 KiBProblem Description给定n(1<=n<=50000)个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值...

2019-11-21 09:38:54 154

原创 算法设计-整数因子分解问题

整数因子分解问题Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description大于1的正整数n可以分解为:n=x1x2…xm。例如,当n=12 时,共有8 种不同的分解式:12=12;12=62;12=43;12=34;12=322;12=26;12=232;12=22*3。对于给定的正整数n,计算n共有多少种不...

2019-11-21 09:18:02 573

原创 算法设计-众数问题

众数问题Time Limit: 2000 ms Memory Limit: 65536 KiBProblem Description给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。对于给定的由n 个自然数组成的多重集S,计算S的众数及其重数。如果出现多个众数,请输出...

2019-11-21 09:02:50 803

原创 prim算法 之 SDUT2937 人活着系列之寻找最完美的人生

#include &amp;lt;stdio.h&amp;gt;#include &amp;lt;stdlib.h&amp;gt;#include &amp;lt;cstring&amp;gt;int a[1005][1005], book[1005], dist[1005], sum, po[1005];/**book[] 记录是否已经进入最小生成树*dist[] 记录未进入顶点到已经入生成树顶点的最短路径(权值)*po[] 记...

2018-08-20 16:25:29 194

原创 prim算法----代码注释解析

#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;cstring&gt;int a[1005][1005], book[1005], dist[1005], sum, po[1005];/**book[] 记录是否已经进入最小生成树*dist[] 记录未进入顶点到已经入生成树顶点的最短路径(权值)*po[] 记...

2018-08-20 16:17:56 392

原创 3526-------团战可以输、提莫必须死 dfs做法

团战可以输、提莫必须死 Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description 为了一些你们不知道的原因,我们把LOL的地图抽象为一个n×m的矩阵 提莫积攒了k个蘑菇准备种到地图上去,因为提莫的背篓漏了,所以每一个提莫走过的地方都会被摆下一个蘑菇,两个蘑菇同时种在一个地方的话就会爆炸,所...

2018-08-17 09:44:09 422 1

转载 【最短路算法】Dijkstra+heap和SPFA的区别

【最短路算法】Dijkstra+heap和SPFA的区别单源最短路问题(SSSP)常用的算法有Dijkstra,Bellman-Ford,这两个算法进行优化,就有了Dijkstra+heap、SPFA(Shortest Path Faster Algorithm)算法。这两个算法写起来非常相似。下面就从他们的算法思路、写法和适用场景上进行对比分析。如果对最短路算法不太了解,可先看一下相关ppt...

2018-08-16 23:58:53 300

原创 栈的应用--大鱼吃小鱼问题

将向左向右游动的鱼分开,则往后走只要往右移动的就放入stack,往左的时候就与stack进行对比#include &lt;stdio.h&gt;int main(){ int n, a[1500]; int top = -1; scanf("%d", &amp;n); int sum = n; while(n--) { ...

2018-08-16 14:16:52 213

转载 对平衡二叉树的理解及代码分析

     定义:平衡二叉树,是一种二叉排序树,其中每个结点的左子树和右子树的高度差至多等于1。它是一种高度平衡的二叉排序树。高度平衡?意思是说,要么它是一棵空树,要么它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。    将二叉树上结点的左子树深度减去右子树深度的值称为平衡因子BF,那么平衡二叉树上的所有结点的平衡因子只可能是-1、0和1。只要二叉树上有一个结点的...

2018-08-13 14:56:59 213

原创 堆 之 Sift-up和Sift-down

 1.sift-up假定对于某个i&gt;1,H[i]变成了键值大于它父节点键值的元素,这样就违反了堆的特性。我们需要使用Sift-up运算把新的数据项移到在二叉树中适合它的位置上。Sift-up的运算沿着从H[i]到根节点的唯一一条路径,把H[i]移到适合它的位置上。在沿着路径的每一步上,都将H[i]键值和它父节点的键值H[⌊i/2⌋]相比较。常用于:插入操作代码:...

2018-08-13 14:56:43 2422

原创 堆排序之数据结构实验之排序四:寻找大富翁(堆排序,数组建堆)

预备知识(容易理解)堆排序  堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。堆  堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图:同时,我们对堆中的结点...

2018-08-13 11:14:53 509

原创 对堆的深入理解

堆是一种基本的数据结构。在这里我用数组来形容,在一个二叉堆的数组中,每一个元素都要保证大于等于另外两个特定位置的元素。同时相应的,这些元素又要大于等于另外两个相应位置的元素,整个数据结构以此类推。如果我们将整个数据结构画成树状结构,就能够清晰地看出整个结构的样子。 开始认为堆上层元素是必须全部大于下层元素的,后来发现这是不正确的当一颗二叉树的每个结点都大于等于它的两个子节点时,它被称...

2018-08-10 10:13:07 325

原创 2828 字典树

这个提交了很多次都显示Memory Limit Exceeded  后来发现只能申请静态内存才可以,改后成功AC#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;string.h&gt;typedef struct TRIETREENODE{ int cnt;//判断是否为单词 st...

2018-08-09 20:51:05 1301 1

原创 sdut Fence Repair

之前做这个题利用了c++的priority_queue#include&lt;stdio.h&gt;int n;int a[200005];int main(){ int t,i,temp; long long x=0; scanf("%d",&amp;n); for(i=0; i&lt;n; i++) { scanf("%d"...

2018-08-09 15:08:01 158

原创 从最大堆H中取出键值为最大的元素,并删除一个结点

从最大堆H中取出键值为最大的元素,并删除一个结点 ElementType DeleteMax( MaxHeap H ){ /* 从最大堆H中取出键值为最大的元素,并删除一个结点 */ int Parent, Child; ElementType MaxItem, temp; if ( IsEmpty(H) ) { printf("最大...

2018-08-09 11:31:11 374

原创 已知一棵二叉树的中序遍历和后序遍历,求二叉树的先序遍历

求二叉树的先序遍历Time Limit: 1000 ms Memory Limit: 65536 KiBSubmit StatisticProblem Description 已知一棵二叉树的中序遍历和后序遍历,求二叉树的先序遍历Input 输入数据有多组,第一行是一个整数t (t&lt;1000),代表有t组测试数据。每组包括两个长度小于50 的字符串,第一个字符串表示...

2018-08-07 16:20:48 3565

原创 已知一棵二叉树的前序遍历和中序遍历,求二叉树的后序遍历和层序遍历

数据结构实验之求二叉树后序遍历和层次遍历Time Limit: 1000 ms Memory Limit: 65536 KiBSubmit StatisticProblem Description 已知一棵二叉树的前序遍历和中序遍历,求二叉树的后序遍历和层序遍历。Input 输入数据有多组,第一行是一个整数t (t&lt;1000),代表有t组测试数据。每组包括两个长度小...

2018-08-07 16:13:24 4266

原创 二叉树day1

二叉树day1代码:二叉树的创建 二叉树的前序遍历 中序遍历 后序遍历 层序遍历 二叉树叶子结点和深度的计算#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;char s[55];int i, len, num, sum;struct tree{ char data; struct tree *Lchild;...

2018-08-07 10:13:10 251

原创 KMP算法————对上一文章的改进

#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;void prefix_table(int prefix[], int pattern[], int n){ prefix[0] = -1; int len = -1, i = 0; while(i&lt;n) { if(pattern[i] =...

2018-08-04 10:18:58 267

原创 kmp字符匹配算法————sdut学密码学一定得学程序

  在b站上学会的,地址https://www.bilibili.com/video/av16828557?t=301#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;string.h&gt;void prefix_table(char patten[], int prefix[], int n){ ...

2018-08-03 20:38:34 237

原创 字符串排序------printf("%s",*p);和printf("%s",p);区别

字符串排序 Time Limit: 1000MS Memory Limit: 65536KB Problem Description 输入3个字符串,按字典序从小到大进行排序。 Input 输入数据有一行,分别为3个字符串,用空格分隔,每个字符串长度不超过100。 Output 输出排序后的三个字符串,用空格分隔。 Example Inputabcd cdef bcdeExample

2017-12-22 11:27:36 1456 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除