随笔分类 -  数据结构

摘要:#include <iostream> using namespace std; template <typename T>//通用类模板,模拟了栈并未真正实现 class Stack{ public: Stack();//构造函数 ~Stack();//析构函数 void push(T t);// 阅读全文
posted @ 2020-10-05 23:20 ACWink 阅读(227) 评论(0) 推荐(0)
摘要:给出一个电话列表,如果列表中存在其中一个号码是另一个号码的前缀这一情况,那么就称这个电话列表是不兼容的。假设电话列表如下:·Emergency 911·Alice 97 625 999·Bob 91 12 54 26在此例中,报警电话号码(911)为Bob电话号码(91 12 54 26)的前缀,所 阅读全文
posted @ 2020-07-27 17:12 ACWink 阅读(297) 评论(0) 推荐(0)
摘要:有一天,达达捡了一条价值连城的宝石项链,但是,一个严重的问题是,他并不知道项链的主人是谁!在得知此事后,很多人向达达发来了很多邮件,都说项链是自己的,要求他归还(显然其中最多只有一个人说了真话)。达达要求每个人都写了一段关于自己项链的描述: 项链上的宝石用数字0至9来标示。一个对于项链的表示就是从项 阅读全文
posted @ 2020-07-27 15:58 ACWink 阅读(252) 评论(0) 推荐(0)
摘要:一些主要城市拥有树形的地铁系统,即在任何一对车站之间,有且只有一种方式可以乘坐地铁。此外,这些城市大多数都有一个中央车站。想象一下,你是一名在拥有树形地铁系统的城市游玩的游客,你想探索该城市完整的地铁线路。你从中央车站出发,随机选择一条地铁线,然后乘坐地铁行进。每次到达一个车站,你都将选择一条尚未乘 阅读全文
posted @ 2020-07-27 15:34 ACWink 阅读(201) 评论(0) 推荐(0)
摘要:给定一个M行N列的01矩阵(只包含数字0或1的矩阵),再执行Q次询问,每次询问给出一个A行B列的01矩阵,求该矩阵是否在原矩阵中出现过。输入格式第一行四个整数M,N,A,B。接下来一个M行N列的01矩阵,数字之间没有空格。接下来一个整数Q。接下来Q个A行B列的01矩阵,数字之间没有空格。输出格式对于 阅读全文
posted @ 2020-07-27 15:11 ACWink 阅读(204) 评论(0) 推荐(0)
摘要:很久很久以前,森林里住着一群兔子。有一天,兔子们想要研究自己的 DNA 序列。我们首先选取一个好长好长的 DNA 序列(小兔子是外星生物,DNA 序列可能包含 26 个小写英文字母)。然后我们每次选择两个区间,询问如果用两个区间里的 DNA 序列分别生产出来两只兔子,这两个兔子是否一模一样。注意两个 阅读全文
posted @ 2020-07-26 18:21 ACWink 阅读(233) 评论(0) 推荐(0)
摘要:给定一个大小为n≤106<?XML:NAMESPACE PREFIX = "[default] http://www.w3.org/1998/Math/MathML" NS = "http://www.w3.org/1998/Math/MathML" />n≤106的数组。有一个大小为k的滑动窗口, 阅读全文
posted @ 2020-07-26 17:02 ACWink 阅读(144) 评论(0) 推荐(0)
摘要:有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地。这片土地被分成N*M个格子,每个格子里写着’R’或者’F’,R代表这块土地被赐予了rainbow,F代表这块土地被赐予了freda。现在freda要在这里卖萌。。。它要找一块矩形 阅读全文
posted @ 2020-07-26 16:00 ACWink 阅读(124) 评论(0) 推荐(0)
摘要:1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 #include <vector> 5 using namespace std; 6 const int SIZE = 1e6; 7 int heap[SIZE], 阅读全文
posted @ 2020-07-25 11:50 ACWink 阅读(356) 评论(0) 推荐(0)
摘要:先用线段树做了一下,结果用cin超时,数据太变态了,此题正解应该是倍增算法。先看看线段树怎么做这题;如果不懂线段树的先看此视频:https://www.bilibili.com/video/BV1cb411t7AM?from=search&seid=130930450619969892401.线段树 阅读全文
posted @ 2020-04-26 22:27 ACWink 阅读(320) 评论(0) 推荐(0)
摘要:单链表不会数组模拟的参考此博客:https://blog.csdn.net/Satur9/article/details/104072845?depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaid 阅读全文
posted @ 2020-04-26 21:34 ACWink 阅读(194) 评论(0) 推荐(0)
摘要:如上图所示,我们看这代码分析首先,单调栈必须保证单调对吧,所以说我们将大于栈顶元素的元素入栈,直到遇到一个小于栈顶元素的数,然后因为是单调栈,所以我们想让它入栈,就必须删除栈中比他大的元素,但是又要不影响结果,所以每个栈顶元素出栈是都要计算它与前面出栈元素组成的最大矩形,直到在栈中找到一个比待入栈元 阅读全文
posted @ 2020-04-26 19:19 ACWink 阅读(341) 评论(0) 推荐(0)
摘要:用两个栈来模拟光标的移动,sum来维护A栈的前缀和,f用来维护最大值。 1 #include <iostream> 2 #include <algorithm> 3 #include <stack> 4 using namespace std; 5 stack<int> A, B; 6 conste 阅读全文
posted @ 2020-04-26 15:15 ACWink 阅读(166) 评论(0) 推荐(0)
摘要:1 #include <iostream> 2 #include <string> 3 4 using namespace std; 5 6 const int N = 1e5 + 10, M = 1e4 + 10; 7 8 int m, n; 9 string p, t; 10 11 int ne 阅读全文
posted @ 2020-04-26 10:48 ACWink 阅读(216) 评论(0) 推荐(0)