02 2019 档案
摘要:我们知道如果要我们给一个序列排序,按照某种大小顺序关系,我们很容易想到优先队列,的确很方便,但是优先队列也有解决不了的问题,当题目要求你把两个优先队列合并的时候,这就实现不了了 优先队列只有插入 删除 取数的操作,但是却没有合并两个优先队列的操作。 这也是它的局限所在。 本次要介绍的左偏树拥有优先队
阅读全文
摘要:一、相关定义 优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素。但是它有一个特性,就是队列中最大的元素总是位于队首,所以出队时,并非按照先进先出的原则进行,而是将当前队列中最大的元素出队。这点类似于给队列里的元素进行了由大到小的顺序排序。元素的比较规则默认按元素值由大到小排序,可以重载“<
阅读全文
摘要:算法是真的很高级,经常有这个感慨,越学越觉得算法很牛逼。 学习博客:https://www.cnblogs.com/SeekHit/p/7498408.html https://blog.csdn.net/qq_33114231/article/details/52352668 看代码: int s
阅读全文
摘要:尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案。尺取法比直接暴力枚举区间效率高很多,尤其是数据量大的时候,所以说尺取法是一种高效的枚举区间的方法,是一种技巧,一般用于求取有一定限制的
阅读全文
摘要:http://poj.org/problem?id=2010 Moo University - Financial Aid Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 12189 Accepted: 3609 Descript
阅读全文
摘要:题目链接:http://poj.org/problem?id=3579 Median Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11805 Accepted: 4164 Description Given N numbers
阅读全文
摘要:题目链接:https://vjudge.net/problem/UVA-10129 题目大意:输入N 代表有n个字符串 每个字符串最长1000 要求你把所有的字符串连成一个序列 每个字符串的第一个字母是前一个字符串的最后一个字母 思路:这是学的欧拉回路的第一道题 ,把单词的首字母和尾字母看做结点,单
阅读全文
摘要:在一个有向图中,对所有的节点进行排序,要求没有一个节点指向它前面的节点。 先统计所有节点的入度,对于入度为0的节点就可以分离出来,然后把这个节点指向的节点的入度减一。 一直做改操作,直到所有的节点都被分离出来。 如果最后不存在入度为0的节点,那就说明有环,不存在拓扑排序,也就是很多题目的无解的情况。
阅读全文
摘要:题目链接:https://vjudge.net/problem/UVA-816 题目大意: 有一个最多包含9*9 个交叉点的迷宫。输入起点,离开起点时的朝向和终点,求一条最短路(多解时任意输出 一个即可) 思路: 这个迷宫的特殊之处其实就两点,一是朝向会影响往哪走,而是要记录走的路径。 所以我们要解
阅读全文
摘要:题目链接:http://poj.org/problem?id=2976 Dropping tests Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 20830 Accepted: 7052 Description In a ce
阅读全文
摘要:题目链接:http://poj.org/problem?id=3258 River Hopscotch Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 22092 Accepted: 9138 Description Every
阅读全文
摘要:题目链接:https://vjudge.net/problem/UVA-1103 题目大意:每组数据包含H行W列的字符矩阵(H<=200,W<=50) 每个字符为为16进制 你需要把它转化为二进制。 转化为二进制之后 1代表黑点 0代表白点 问你出现的所有符号 并按字典序输出! 思路:首先看到这道题
阅读全文
摘要:题目链接:https://vjudge.net/problem/UVA-297 题目大意:如上图所示,可以用一个四分树来表示一个黑白图像,方法是用根节点表示整副图像,然后把行列各等分两等分,按照图中的方式进行编号,从左到右对应4个结点 如果某子结点对应的区域全为黑或白,则直接用一个黑结点或者白结点表
阅读全文
摘要:题目链接:https://vjudge.net/problem/UVA-699 题目大意:给一颗二叉树,每个结点都有一个水平位置 :左子节点在它左边的1个单位,右子结点在它右边1个单位。从左向右输出每个水平位置的所有结点的权值之和。 思路:用sum[i]表示第i个水平位置的总和 。 其实这题并不难
阅读全文
摘要:题目链接:https://vjudge.net/problem/UVA-839 题目大意:输入一个树状天平,根据力矩相等原则,判断是否平衡。 如上图所示,所谓力矩相等,就是Wl*Dl=Wr*Dr。 其中Wl和Wr分别为左右两边砝码的重量,D为距离 采用递归的方式输入:每个天平的格式为Wl,Dl,Wr
阅读全文
摘要:题目: 匪警请拨110,即使手机欠费也可拨通! 为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练! 某批警察叔叔正在进行智力训练: 1 2 3 4 5 6 7 8 9 = 110 请看上边的算式,为了使等式成立,需要在数字间填入加号或者减
阅读全文
摘要:题目: 如【图1.jpg】, 有12张连在一起的12生肖的邮票。 现在你要从中剪下5张来,要求必须是连着的。 (仅仅连接一个角不算相连) 比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。 答案是:116 思路:这题说实话刚开始懵了,DFS吧 感觉并不是,因为深搜的话 选一个
阅读全文
摘要:题目链接:https://vjudge.net/problem/UVA-548 题目大意:给一颗点带权(权值各不相同,都是小于10000的正整数)的二叉树的中序遍历和后序遍历,找一个叶子结点使得它到根的路径上的权值和最小。如果有多个解,该叶子本身的权值应尽量小。输入中每两行表示一棵树,其中第一行为中
阅读全文
摘要:stringstream是 C++ 提供的另一个字串型的串流(stream)物件,和之前学过的iostream、fstream有类似的操作方式。要使用stringstream, 必须先加入这一行: stringstream主要是用在將一个字符串分割,可以先用.clear( )以及.str( )將指定
阅读全文
摘要:题目链接:https://vjudge.net/problem/UVA-122 题目大意:输入一颗二叉树,你的任务是按从上到下,从左到右的顺序输出各个结点的值。每个结点都按照从根节点到它的移动序列给出(L表示左,R表示右) 在输入中,每个结点的左括号 和右括号之间没有空格,相邻结点之间用一个空格隔开
阅读全文
摘要:二者都属于c的库函数 包含在<string.h>函数中 不同的是 : strchr是查找单个字符在串中出现的位置 strstr查找的是字符串在串中出现的位置 看代码:
阅读全文
摘要:学习博客:https://blog.csdn.net/yanyanwenmeng/article/details/82753014 具体看代码:
阅读全文
摘要:题目链接:https://vjudge.net/problem/UVA-679 题目大意:t组样例,每组包括D M 层数是D 问第M个小球落在哪个叶子节点? 每个节点有开关 刚开始全都是关闭的,小球走到节点 节点开关变为与当前相反 每个小球从根节点释放 思路:这题是第一道二叉树遍历的题目,二叉树暴力
阅读全文
摘要:题目链接:https://vjudge.net/problem/UVA-12657 题目大意:输入n,m 代表有n个盒子 每个盒子最开始按1~n排成一行 m个操作, 1 x y :把盒子x放到y的左边 2 x y: 把盒子x放到y 的右边 3 x y:调换x y盒子的位置 4 表示反转整条链 思路:
阅读全文

浙公网安备 33010602011771号