摘要: ~~不关你 vector 的事~~ 今天看了一篇博客,意识到应该写一篇记一记。 我们知道 STL deque 的初始内存极大,因此广为诟病。据说有不少人因为 deque 挂了。总之,当要求大量双端队列时,应避免写 deque,考虑用 STL list 或手写。但是如果只有少量双端队列,或者要求随机访 阅读全文
posted @ 2022-12-05 18:14 robinyqc 阅读(66) 评论(0) 推荐(1) 编辑
摘要: 例题:POJ3974 Manacher,俗称马拉车(谐音),用于计算最长回文子串长度,时间复杂度与代码量相较其它解决此问题的算法有压倒性优势。线性时间复杂度。 我们发现偶回文串(长度为偶数的回文串)相较奇回文串更加麻烦。因此我们可以做一个预处理,把原字符串转化成易处理的:在字符串两头和每对相邻字符见 阅读全文
posted @ 2022-12-05 11:28 robinyqc 阅读(27) 评论(2) 推荐(0) 编辑
摘要: 题目描述 高桥买了个台钟。这个钟采用 24 小时计时法,显示的时间为 $\overline{AB}:\overline{CD}$。当且仅当 $0\leq \overline {AB}<24$ 且 $0\leq \overline {CD}<60$ 时我们称这个时间是合法的。 高桥决定将满足以下条件的 阅读全文
posted @ 2022-11-20 12:24 robinyqc 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个长度为 $N$ 的序列 $A=(A_1,A_2,\dots ,A_N)$。现在你要进行 $K$ 次以下操作: 删除 $A$ 的第一个元素,再在 $A$ 的末尾添加一个元素 $0$。 输出 $A$ 在操作后的所有元素。 数据范围 $1\leq N\leq 100$ $1\leq K\ 阅读全文
posted @ 2022-11-20 11:54 robinyqc 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 可以在程序内修改词条,也可以在 dictionary.txt 内修改。 词语/短语/句子 释义 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<iostream> #include<fst 阅读全文
posted @ 2022-11-19 16:48 robinyqc 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 概述 单调队列是一种维护队列的队列。它的思想是在决策集合中及时排除一定不是最优解的选择。时间复杂度 $O(N)$。 它是这么实现的: 在队尾加入元素: 若加入该元素不能使队列单调,不断移除队尾元素。否则在队尾加入给定元素。 队首元素出队: 如果队头元素在原队列中应当出队,就不断出队。 这样,单调队列 阅读全文
posted @ 2022-11-12 16:51 robinyqc 阅读(40) 评论(0) 推荐(0) 编辑
摘要: /* High Accuracy Calculator *** To name a new number, you may write like this: num a. Then it'll create a 0 in Decimalism *** But it's also OK to writ 阅读全文
posted @ 2022-11-12 10:56 robinyqc 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 对于一个序列,如果其包含的元素仅存在两种状态,那么它可以用二进制状态压缩。具体的操作如下: |操作|运算| | : | : | |取出整数 $n$ 在二进制表示下的第 $k$ 位| (n>>k)&1 | |取出整数 $n$ 在二进制表示下的第 $0$~$k-1$ 位(后 $k$ 位)|n&((1<< 阅读全文
posted @ 2022-11-12 10:55 robinyqc 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 这道题虽然是模板题,但对作为线段树萌新的我来说很不友好QAQ 主要是对乘法、加法哪个的懒惰标记先处理这个问题的解决:(懒得写了,引用自题解) 加法优先,即规定好 : $$ tree_{2\cdot root} = (tree_{2\cdot root}+mark_{A,root}) \cdot ma 阅读全文
posted @ 2022-11-12 10:47 robinyqc 阅读(19) 评论(0) 推荐(0) 编辑