
数据结构
是Elie呀
人生苦短,莫忘初衷;凡事相信,凡事期待。认真做事,认真做人!翁恺老师寄语:“其实学习终归是一件痛苦的事情,所以呢面对学习你还是得要认真,用功,努力地去学习。享受的是什么?是学习之后获得的那种成就,快乐是从成就中来的。”
展开
-
3341数据结构实验之二叉树二:遍历二叉树
数据结构实验之二叉树二:遍历二叉树 Problem Description 已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并按中序和后序的方式遍历该二叉树。Input 连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。Output 每组输入数据对应输出2行: 第1行输出中序遍历序列; 第2行输出后序原创 2017-08-08 12:28:55 · 375 阅读 · 0 评论 -
2056不敢死队问题——约瑟夫变形
不敢死队问题 Problem Description 说到“敢死队”,大家不要以为我来介绍电影了,因为数据结构里真有这么道程序设计题目,原题如下: 有M个敢死队员要炸掉敌人的一个碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。如果前一个战士没完成任务,则要再派一个战士上去。现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执原创 2017-07-27 17:20:24 · 438 阅读 · 0 评论 -
2119数据结构实验之链表四:有序链表的归并
数据结构实验之链表四:有序链表的归并Problem Description 分别输入两个有序的整数序列(分别包含M和N个数据),建立两个有序的单链表,将这两个有序单链表合并成为一个大的有序单链表,并依次输出合并后的单链表数据。 Input 第一行输入M与N的值; 第二行依次输入M个有序的整数; 第三行依次输入N个有序的整数。 Output 输出合并后的单链表所包含的M+原创 2017-07-26 08:59:17 · 426 阅读 · 0 评论 -
2054数据结构实验之链表九:双向链表
数据结构实验之链表九:双向链表Problem Description 学会了单向链表,我们又多了一种解决问题的能力,单链表利用一个指针就能在内存中找到下一个位置,这是一个不会轻易断裂的链。但单链表有一个弱点——不能回指。比如在链表中有两个节点A,B,他们的关系是B是A的后继,A指向了B,便能轻易经A找到B,但从B却不能找到A。一个简单的想法便能轻易解决这个问题——建立双向链表。在双向链表中,A有原创 2017-08-06 19:42:59 · 304 阅读 · 0 评论 -
2171上升子序列
上升子序列Problem Description 一个只包含非负整数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列{a1, a2, …,aN},我们可以得到一些上升的子序列{ai1, ai2, …, aiK},这里1 ≤ i1 < i2 <…< iK ≤ N。例如:对于序列{1, 7, 3, 5, 9, 4, 8},有它的一些上升子序列,如{1,原创 2017-07-26 14:51:07 · 265 阅读 · 0 评论 -
(树状数组--区间更新、单点访问,即插线问点)NYOJ123 士兵杀敌(四)
传送门:NYOJ123 士兵杀敌(四)描述南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战(编号相近的人经常在一块,相互之间比较熟悉),最终他们获得的军功,也将会平分到每个人身上,这样,有时候,计算他们中的哪一个人到底有多少军功就是一个比较困难的事情,军师小工的任务就是在南将军询问他某个人的军功的时候,快速的报出此人的军功,请你编写一个...原创 2018-07-30 21:44:10 · 166 阅读 · 0 评论 -
(主席树或分块)hdu5919 Sequence II----【2016中国大学生程序设计竞赛(长春)】
传送门:hdu5919 Source2016中国大学生程序设计竞赛(长春)-重现赛原创 2018-07-31 17:21:52 · 269 阅读 · 0 评论 -
堆栈学习笔记
运算符优先级 例如,‘+’‘+’:左边的‘+’比右边的‘+’优先级大。1.后缀表达式求值策略: 从左向右“扫描”,逐个处理运算数和运算符号。2.如果将ABCD四个字符按顺序压入堆栈,是不是ABCD的所有排列都可能是出栈的序列?可以产生CADB这样的序列吗? 如果有三个字符ABC出入栈时,全排列有3!=6种可能。其中的CAB是没法生成的。 因为先输出C,需要C进栈再出栈,而要求按照A原创 2017-10-15 10:15:49 · 977 阅读 · 0 评论 -
DFS序——树链剖分前驱知识
目录定义:dfs序:每个节点在dfs深度优先遍历中的进出栈的时间序列。 性质:dfs序可以把一棵树区间化,即可以求出每个节点的管辖区间。对于一棵树的dfs序而言,同一棵子树所对应的一定是dfs序中连续的一段。dfs序的七个基本问题:定义:dfs序:每个节点在dfs深度优先遍历中的进出栈的时间序列。 定义两个数组,in[x],out[x]。dfs从根结点开始,每个结点分别...原创 2018-09-20 21:21:19 · 8457 阅读 · 3 评论 -
[kuangbin]树链剖分专题
原创 2018-10-04 16:13:02 · 248 阅读 · 0 评论 -
2080最长公共子序列问题
最长公共子序列问题Problem Description 给定两个序列X=Input 输入数据有多组,每组有两行 ,每行为一个长度不超过500的字符串(输入全是大写英文字母(A,Z)),表示序列X和Y。 Output 每组输出一行,表示所求得的最长公共子序列的长度,若不存在公共子序列,则输出0。Example InputABCBDABBD...原创 2017-07-27 14:52:58 · 497 阅读 · 0 评论 -
单链表的头插法与尾插法
头插法:在头结点(为了操作方便,在单链表的第一个结点之前附加一个结点,称为头结点。头结点的数据域可以存储数据标题、表长等信息,也可以不存储任何信息,其指针域存储第一个结点的首地址)H之后插入数据,其特点是读入的数据顺序与线性表的逻辑顺序正好相反。 尾插法:将新节点插入到当前节点的表尾结点之后。#include <stdio.h>#include <stdlib.h>typedef struct原创 2017-07-27 15:12:03 · 762 阅读 · 0 评论 -
1960共用体练习
共用体练习Problem Description 给定n和m,接下来有n个描述,每个描述包含一个类型标志和一组相应的数据。类型标志共3种:INT DOUBLE STRING,然后对应一组相应的数据。紧接着有m个询问,每个询问仅包含一个整数x,要求输出第x个描述对应的数据(STRING类型保证不含空格,每组对应STRING数据不会超过19个字符)。Input 输入的第一行为两个整数,n和m原创 2017-08-01 17:47:39 · 326 阅读 · 0 评论 -
3479青蛙过河
青蛙过河Problem Description 1)一条小溪尺寸不大,青蛙可以从左岸跳到右岸,在左岸有一石柱L,石柱L面积只容得下一只青蛙落脚,同样右岸也有一石柱R,石柱R面积也只容得下一只青蛙落脚。 2)有一队青蛙从小到大编号:1,2,…,n。 3)初始时:青蛙只能趴在左岸的石头 L 上,按编号一个落一个,小的落在大的上面—–不允许大的在小的上面。 4)在小溪中有S个石柱、有y片荷叶。 5)规原创 2017-07-28 10:23:05 · 461 阅读 · 0 评论 -
切割平面问题
平面内n条直线,把这个平面最多分成几部分? 第1条分成2个, 第2条分成4个, 第3条分成7个, 第4条分成11个, 第2条比第1条多分2个, 第3条比第2条多分3个 第4条比第3条多分4个 所以第n条,比第n-1条多分n个. 第2条的个数:4=2+2 第3条的个数:7=2+2+3 第4条的个数:11=2+2+3+4 第原创 2017-07-24 14:33:41 · 519 阅读 · 0 评论 -
3478数值分解
数值分解Problem Description 对一个自然数N ( 1 <= N <= 50 ) ,N可以分解成若干个数字(数字可以是1,2,3,….,9)之和,问题是如何分解能使这些数字的乘积最大。Input 输入数据有多组,每组占一行,每行包含一个自然数N(1 <= N <= 50)。输入文件直到EOF为止!Output 对每组输入,输出有2行。第一行是N分解出的所有数字,以空格原创 2017-07-25 21:56:29 · 356 阅读 · 0 评论 -
1959简单枚举类型——植物与颜色
简单枚举类型——植物与颜色Problem Description 请定义具有red, orange, yellow, green, blue, violet六种颜色的枚举类型color,根据输入的颜色名称,输出以下六种植物花朵的颜色: Rose(red), Poppies(orange), Sunflower(yellow), Grass(green), Bluebells(blue),原创 2017-07-26 08:51:01 · 1023 阅读 · 0 评论 -
2058三国佚事——巴蜀之危
三国佚事——巴蜀之危Problem Description 话说天下大势,分久必合,合久必分。。。却道那魏蜀吴三国鼎力之时,多少英雄豪杰以热血谱写那千古之绝唱。古人诚不我欺,确是应了那句“一将功成万骨枯”。 是夜,明月高悬。诸葛丞相轻摇羽扇,一脸愁苦。原来是日前蜀国战事吃紧,丞相彻夜未眠,奋笔急书,于每个烽火台写下安排书信。可想,这战事多变,丞相运筹 帷幄,给诸多烽火台定下不同计策,却也原创 2017-07-24 16:04:36 · 383 阅读 · 0 评论 -
3460Fighting_小银考呀考不过四级
Fighting_小银考呀考不过四级Problem Description 四级考试已经过去好几个星期了,但是小银还是对自己的英语水平担心不已。 小银打算好好学习英语,争取下次四级考试和小学弟小学妹一起拿下它! 四级考试的时候,监考老师会按考号分配固定的座位,但唯一不变的是每两个人之间肯定至少会留下两个空座位,原因相信大家都懂得。 那么问题来了,我们现在只关注教室里的一排座位,原创 2017-07-24 15:02:31 · 390 阅读 · 0 评论 -
1299最长上升子序列
最长上升子序列Problem Description 一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1<= i1 < i2 < … < iK <= N。比如,对于序列(1, 7,...原创 2017-07-26 15:50:33 · 314 阅读 · 0 评论 -
1197约瑟夫问题
约瑟夫问题Problem Descriptionn个人想玩残酷的死亡游戏,游戏规则如下: n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。请输出最后一个人的编号。 Input输入n和m值。 Output 输出胜利者的编号。 Example Input5 3Example Output4Hint 第一轮:3被杀第二轮原创 2017-07-27 12:05:45 · 449 阅读 · 0 评论 -
单调栈学习
学习可参考如下博客:单调栈原理及应用 详解 附各种类型的题目练习视频学习:【算法讲堂】【电子科技大学】【ACM】单调队列与单调栈单调栈:顾名思义,单调递增或单调减的栈,跟单调队列差不多。提到单调栈,有的人又和ST算法进行了对比,所以,我又查询了下ST表(链接),求法很像树状数组。解决的问题:最基础的应用就是给定一组数,针对每个数,寻找它和它右边第一个比它大的数之间有多少个...原创 2019-04-08 21:05:33 · 236 阅读 · 0 评论