自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 字母交换(树状数组+归并排序)

时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述某正教授级特级教师获得了一段古老的文字,全部由 26 个大写英文字母组成。他产生了一个疯狂的想法,即想把这段文字中所有字母按 A 到 Z 的顺序排序,即所有 A 放在开头,然后跟着所有 B,再是所有 C,最后是所有 Z。比如原字符串为“HELLOWORLD”,排序后应变为“DEHLLLOORW”。但是特教毕竟领着国务院的特殊津贴,于是他还有一个要求,即排序时每次只能交换相邻两个字母。现在他想知道最少交换多少次能完成排序?输

2020-05-27 22:54:57 347

原创 八目鳗(双变量贪心)

时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述米斯蒂娅去捕捉八目鳗为开店作准备。现在,她在一个有八目鳗的池塘边。她知道池塘里的有n条八目鳗,把第i条八目鳗从池塘弄回小店需要ti∗2个单位的时间(毕竟需要往返)。这些八目鳗会自己吃P点!随着时间的推移,米斯琪把它们弄回来所消耗的体力与时间成正比,即在第t个时刻开始运第i条八目鳗所消耗的体力为t∗ci,其中,ci是给定的常数。一开始所有的八目鳗都没有P点,也就是说运送第一条八目鳗所消耗的体力为0。米斯琪想知道把所有八目鳗运

2020-05-22 21:49:03 583

原创 优先队列ADT的实现

优先队列是一种特殊的队列,基于二叉堆实现,在插入、删除元素上具有较好的算法性能。由于二叉堆的高度为logN,故在插入、删除元素时最多调整logN次,时间复杂度为O(logN)。给出优先队列ADT的代码,其中priority_judge为优先级判断,一般来说,在插入操作时,优先级较高的应往堆顶调整,优先级低的应该往堆底调整。在调整元素时,为了排除常数的影响,首先将要调整的目标元素备份,然后依次将要调整的元素与该元素比较,具体来说,在插入元素时,我们采用的是上滤的思想,因此在调整过程中,从堆底比较子节点与父节

2020-05-19 21:54:52 797

原创 数据结构与算法:图ADT的基本实现

假设图结构具有n个元素(顶点,n不大于500),数据元素为字符,如果是加权图,权值为整数。请编码实现图ADT。存储结构的选择: 1: 邻接矩阵 2: 邻接表执行的操作:1:创建图2:输出图的存储结构(邻接矩阵或邻接表,格式见后面说明)3:计算各个顶点的度(有向图时,分为入度和出度)4:深度遍历(需要输入遍历开始顶点)5:广度遍历(需要输入遍历开始顶点)0:退出注:(1)图的类型分为4种,1:无向,不加权2:有向,不加权3:无向,加权4:有向,加权(2)边用一对顶点元素

2020-05-18 00:05:42 2153

原创 read(模拟)

时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述Carol是一个爱学习的小朋友,他最近在读一本书,这本书的某些页十分晦涩难懂,需要阅读完另一页的内容才能完全理解。而有些页则比较通俗易懂,阅读完当前页即可理解。Carol是一个喜欢钻研的小朋友,他每天都会从这本书中页数最小的从未读过的一页开始读,读到完全理解这一页的内容为止。例如对于当Carol某一天要读这本书的第a页时,这一页要求读完第b页才能理解,于是Carol又要去读第b页,而第b页要求读完第c页才能理解,于是Ca

2020-05-12 21:38:12 259

原创 魔法石(二分+前缀和)

时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述你习得了魔法,并学会了熟练运用魔法石。你得到了n颗魔法石,魔法石有两种属性,分别为火属性和水属性。你一开始得到的是这n颗魔法石的一个排列。定义这n颗魔法石释放出来的能量,为最长的属性相同的魔法石连续段的长度。作为一名熟练的魔法师,你还可以至多修改k个魔法石的属性。你现在想知道这n颗魔法石最多可以释放出多少能量。输入第一行为两个正整数n,k,表示魔法石的个数和最多可以修改的魔法石数量。接下来一行为一个长度为n的字符串,

2020-05-11 23:05:42 566

原创 数据结构与算法:二叉树的建立和输出

问题描述:假设二叉树的元素为字符,采用二叉链式存储。请编写算法完成:(1)已知二叉树的中序和后序遍历序列,创建二叉树;(2)实现二叉树的分层输出;输入有三行:第一行,一个整数n,是二叉树中的元素(结点)个数;第二行,二叉树的中序遍历序列第三行,二叉树的后序遍历序列输出:如果二叉树为空,则输出“Binary tree is empty!”如果二叉树不空,则二叉树有几层则输出几行:...

2020-05-05 23:20:20 1222

原创 数据结构与算法:算术表达式的语义二叉树

一个算术表达式的计算语义可以用二叉树唯一的表示出来。假设算术表达式的语义二叉树已经给出,请编码实现算术表达式的中缀形式(保持计算语义)的输出,并计算出该表达式的值。要求:1)使用二叉树的完全前序序列建立表达式的语义二叉树,空子树用符号@表示;2)算术运算符包括:+, -, * , / ; 运算量只考虑单数字字符(1位整数)3 ) 输出时用括号该表优先级;4) 如果结果有小数,小数点后...

2020-05-05 23:18:18 1061

原创 数据结构与算法:二叉树ADT的二叉链式实现

假设二叉数的数据元素为字符,采用二叉链式存储结构。请编码实现二叉树ADT,其中包括创建二叉树、遍历二叉树(深度、广度)、求二叉树的深度(高度)、计算二叉树的元素个数、计算二叉树的叶子数、二叉树的格式输出等。根据输入的符号,执行相应的操作。如下:C:创建二叉树,创建成功输出 “Created success!”。要求实现两种创建算法。输入数字“1" ,是根据完全前序序列创建二叉树,#表示空结点(...

2020-05-05 23:15:34 662

原创 车厢调度(判断是否为合法的出栈序列)

时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合。假设从A方向驶来的火车有n节(n≤1000),分别按照顺序编号为1,2,3,…,n。假定在进入车站前,每节车厢之间都不是连着的,并且它们可以自行移动到B处的铁轨上。另外假定车站C可以停放任意多节车厢。但是一旦进入车站C,它就不能再...

2020-05-05 23:11:40 908

原创 瑞瑞的木板(优先队列)

时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述瑞瑞想要亲自修复在他的一个小牧场周围的围栏。他测量栅栏并发现他需要N(1≤N≤20,000)根木板,每根的长度为整数Li(1≤Li≤50,000)。于是,他神奇地买了一根足够长的木板,长度为所需的N根木板的长度的总和,他决定将这根木板切成所需的N根木板。(瑞瑞在切割木板时不会产生木屑,不需考虑切割时损耗的长度)瑞瑞...

2020-05-05 23:08:54 323

原创 【单调队列】合并果子

时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力...

2020-05-05 23:05:46 235

原创 集合的差(STL set的某些用法)

时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述有两个数列A和B,那些在A中出现但不在B中出现的数就称为集合A和集合B的差:A-B。例如:A={1 ,4, 5, 2, 6} ,B={ 5,3,2,7} , 那么A-B = {1,4,6}。现在给你2个集合A和B,求A-B有多少个数。输入第一行2个整数na和nb,表示集合A和集合B各有多少个整数,1<=n...

2020-05-05 22:54:13 3030

原创 选地址(最短路径+floyd算法)

时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述小X有很多朋友,分布在N个城市。这N个城市之间,有些有直接的道路,有些是间接联通的(保证任何两个城市都可以相互到达。)。但是,经过每条道路都是有代价的,于是,小X希望你来帮他找出一个城市,使得他的所有朋友到这个城市的代价最小。输入输入共2* N+1行,其中第一行为一个整数N,第2~N+1行每行有N个整数...

2020-05-05 22:45:25 709

原创 走出迷宫(bfs+queue)

时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单。假设你已经得到了一个n×m的迷宫的图纸,请你找出从起点到出口的最短路。输入第一行是两个整数n和m,表示迷宫的行数和列数。接下来n行,每行一个长为m的字符串,表示整个迷宫的布局。字符.表示空地,#表示墙,...

2020-05-05 11:59:24 536

原创 最长上升子序列(LIS)模板

给出一个最长上升子序列的模板#include<cstdio>#include<algorithm>using namespace std;int c[1005];//原序列int ans[1005];//以c[i]为末尾的最长上升子序列的长度int main(){ int n,i,j,res=0; scanf("%d",&n); ...

2020-05-05 10:34:00 109

空空如也

空空如也

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

TA关注的人

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