摘要:
该博客已停止同步更新,查看新内容请移步 https://robinyqc.cn 或者 我的洛谷专栏。 阅读全文
摘要:
这是个很奇怪的的问题。但自己摸索收获了很多乐趣。 之前自己慢慢摸索研究过 typeid 语法(编译器是 g++),主要是网上似乎没有详细的教程,至少我不是很找得到。 我发现 typeid 就像一门语言,研究它的过程就像破译古代文字。 先讲一下破译工具和方法。大家可以自己尝试破译一下,乐趣多多。 1. 阅读全文
摘要:
题面 题目描述 定义区间 $l,r$ 的长度为 $r-l$ 。(注意,区间不能有 $l=r$) 定义两个区间 $A,B$ 的 $\rm and$ 为所有满足 $S\subseteq A$ 且 $S\subseteq B$ 的区间中的长度最长的区间(这里可以理解为两个区间的交集)。特别的,如果无任何 阅读全文
摘要:
~~这么臭的题有必要存在吗?~~ 题意转化 题目所说的“先辈”序列,其实就是一个不下降序列。一个不下降序列,就是“先辈”。这个不再证明。 所以要求的就是:维护一个支持区间加的序列,可以判断区间是否为不下降序列。 实现方式 我们考虑简单的写法:用线段树维护。显然区间加可以用延迟标记来维护,这里不再赘述 阅读全文
摘要:
例题:Luogu P3373 【模板】线段树 2 step 0 - 引子 在看了众多题解后,我仍然没明白这样一个问题:为什么会想到延迟标记下传要分加法和乘法,而做乘法时还要把加法的 tag 一并乘了?如何想到这种联系? 显然,在尝试一个 lazytag 不行之后,我们肯定能想到同时维护两个延迟标记。 阅读全文
摘要:
写在前面 由于我不会用 allocator,所以以下内容模板 T 选项的类型需要默认构造函数,如果没有,请补一个没有用的。 因为这里的大部分是手搓代码,不带 STL,又不会 allocator,所以没有动态内存,有些情况还是请用 STL 吧。 头文件与快读快写,主函数。(以后一定要记得写 cstdi 阅读全文
摘要:
Upd on 2023/4/24:整理博客的时候发现以前写错了,Dev 一个 IDE 哪里会有问题呢?其实是 TDM-GCC 的问题。 库是一个神奇的东西。C++ 的标准库众所周知地使用 std 作为名字空间。但是 C++ 还包含许多拓展库,比如 pb_ds 和 cxx。下图标蓝的就是可用的库的命名 阅读全文
摘要:
秦九韶算法 秦九韶算法是由中国古代数学家秦九韶提出来的多项式算法,将一个一般多项式化为若干个一次多项式计算。优点很明显:不用乘方了。具体操作如下: $$a_0+a_1x+a_2x^2+a_3x^3+\dots+a_nx^n$$ $$=a_0+x(a_1+a_2x+a_3x^2+\dots+a_nx^ 阅读全文
摘要:
1. 多测(多组数据评测) 注意看题!请注意本题是不是多测。而且通常题目中只有一句话,有时又藏得隐蔽,一定要细心看! 数据较多时,多测避免用 vector 以及基于 vector 的容器。因为多测一般要清空,而 vector 清空不会释放内存,这就导致内存爆炸。 注意清空!但是更要注意内存。 mem 阅读全文
摘要:
erase() 函数 不论是使用关联式容器还是序列式容器,使用 iterator erase(const_iterator __position) 成员函数时应注意写法。因为一旦 erase 掉,该迭代器就会失效,不能继续进行操作。下面示范了错误样例: map<int,int> MyMap; //插 阅读全文