摘要: 这个题主要是一些线段树和树剖的基本操作,这里不再赘述(反正大家都会) 不过还是提几个小细节: 1. 注意点的树上编号和新编号的转换和使用(特别是单点修改时)。 2. 点权有负数,maxans的最小值要赋到-30001。 AC代码: 阅读全文
posted @ 2018-09-26 08:27 Christopher_Yan 阅读(179) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #include using namespace std; inline int read() { int x = 0; int k = 1; char c = getchar(); while (!isdigit(c)) if (c == '-') k... 阅读全文
posted @ 2018-09-25 17:03 Christopher_Yan 阅读(280) 评论(3) 推荐(0) 编辑
摘要: 该内容来自CHristopher_Yan的OneNote。 阅读全文
posted @ 2018-09-25 06:55 Christopher_Yan 阅读(676) 评论(0) 推荐(0) 编辑
摘要: 该内容来自CHristopher_Yan的OneNote。 阅读全文
posted @ 2018-09-24 23:36 Christopher_Yan 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 该内容来自Christopher_Yan的OneNote。 阅读全文
posted @ 2018-09-24 20:59 Christopher_Yan 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 英文题面不怎么友好,大家还是自行通过紫书了解题面吧。。。 解题思路: 1. 面对500 ^ 3的数据范围,我们需要先用离散化解决掉爆空间的问题。 2. 由于我们要求的总体积包括内空部分的体积,我们可以用flood_fill来解决。 注意事项:(几个细节问题) 1. unique函数的正确使用姿势:如 阅读全文
posted @ 2018-09-18 11:35 Christopher_Yan 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 拓扑排序 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列, 阅读全文
posted @ 2018-09-18 08:40 Christopher_Yan 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 树状数组概念: 树状数组是一种非常优秀&神奇的数据结构。可以做到区间查询、单点修改,两种操作的复杂度都为log(n),其空间复杂度为O(n)。 理解树状数组的关键在于理解二进制,曾有一个大神对我说:“这个世界本来就是二进制的,人非要主观的构建一个十进制” ,我并没有能力证明这句话的正确性,但我认为这 阅读全文
posted @ 2018-08-16 20:11 Christopher_Yan 阅读(1601) 评论(0) 推荐(4) 编辑
摘要: cin, cout cin 与 cout 由于语法简单,自动识别类型,深受许多初学者的青睐。不过又因为cin cout 个人认为速度较慢,所以初学阶段过后用的也就不多了。而今天这一节课,真的是怀疑世界啊!!! (原来我一前的认知存在不少问题) 然后介绍一下: ios::sync_with_stdio 阅读全文
posted @ 2018-08-16 10:42 Christopher_Yan 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 归并排序 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使 每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 首先 阅读全文
posted @ 2018-08-15 20:05 Christopher_Yan 阅读(107) 评论(0) 推荐(0) 编辑