11 2018 档案
摘要:浅谈树分治: "https://www.cnblogs.com/AKMer/p/10014803.html" 题目传送门: "https://www.spoj.com/problems/FTOUR2/" 我们设$f_i$表示只经过$i$个黑点的路径的最长距离。从目前的根到当前点的路径上黑点个数为$c
阅读全文
摘要:题目传送门: "https://agc012.contest.atcoder.jp/tasks/agc012_c" 题目翻译 如果一个字符串是好的,那么这个字符串的前半部分和后半部分肯定一模一样。比如$aa$与$bubobubo$就是好的串,而空串,$a$与$abcabcabc$以及$abba$就不
阅读全文
摘要:题目传送门: "https://agc012.contest.atcoder.jp/tasks/agc012_d" 题目翻译 给你一排一共$N$个球,每个球有一个颜色$c_i$和一个重量$w_i$,如果两个球颜色相同,重量相加不超过$x$那我就可以交换这俩个球的位置。如果两个球颜色不同,重量相加不超
阅读全文
摘要:浅谈树分治: "https://www.cnblogs.com/AKMer/p/10014803.html" 题目传送门: "http://poj.org/problem?id=1741" 这是一道树分治的模板题。 我们考虑当前经过联通块的重心$rt$的路径小于等于$k$的有多少条,不经过$rt$的
阅读全文
摘要:题目传送门: "https://agc014.contest.atcoder.jp/tasks/agc014_e" 题目翻译 有一棵有$N$个点的树,初始时每条边都是蓝色的,每次你可以选择一条由蓝色边构成的简单路径,让这条路径的两个端点间连上一条红边,然后断开这条路径上的某条蓝边。这样做$N 1$次
阅读全文
摘要:题目传送门: "https://agc006.contest.atcoder.jp/tasks/agc006_c" 题目翻译 数轴上有$N$只兔子,从$1$到$N$编号,每只兔子初始位置是$x_i$。现在兔子们要开始做运动,运动都有$M$个步骤,对于第$i$个步骤,我们用$a_i$来形容它,意思是:
阅读全文
摘要:因为树具有一般的图没有的特殊性质,所以树考的比图要多 得多 。而树上分治算法则是解决树上路径信息静态统计的一大利器。 点分治 以点为分界线的分治,每次选取一个点,把经过这个点的路径信息统计完,再在这个点的子树里递归统计没有经过这个点的路径信息,这样可以保证不重不漏的统计每一条路径的信息。如果每次选择
阅读全文
摘要:浅谈$splay$: "https://www.cnblogs.com/AKMer/p/9979592.html" 浅谈$fhq$_$treap$: "https://www.cnblogs.com/AKMer/p/9981274.html" 题目传送门: "https://www.lydsy.co
阅读全文
摘要:浅谈$splay$: "https://www.cnblogs.com/AKMer/p/9979592.html" 浅谈$fhq$_$treap$: "https://www.cnblogs.com/AKMer/p/9981274.html" 题目传送门: "http://poj.org/probl
阅读全文
摘要:浅谈$splay$: "https://www.cnblogs.com/AKMer/p/9979592.html" 浅谈$fhq$_$treap$: "https://www.cnblogs.com/AKMer/p/9981274.html" 题目传送门: "https://www.lydsy.co
阅读全文
摘要:浅谈$splay$: "https://www.cnblogs.com/AKMer/p/9979592.html" 浅谈$fhq$_$treap$: "https://www.cnblogs.com/AKMer/p/9981274.html" 题目传送门: "https://www.luogu.or
阅读全文
摘要:浅谈$splay$: "https://www.cnblogs.com/AKMer/p/9979592.html" 浅谈$fhq$_$treap$: "https://www.cnblogs.com/AKMer/p/9981274.html" 题目传送门: "https://www.lydsy.co
阅读全文
摘要:浅谈$splay$: "https://www.cnblogs.com/AKMer/p/9979592.html" 浅谈$fhq$_$treap$: "https://www.cnblogs.com/AKMer/p/9981274.html" 题目传送门: "https://www.lydsy.co
阅读全文
摘要:浅谈$splay$: "https://www.cnblogs.com/AKMer/p/9979592.html" 浅谈$fhq$_$treap$: "https://www.cnblogs.com/AKMer/p/9981274.html" 题目传送门: "https://www.lydsy.co
阅读全文
摘要:浅谈$splay$: "https://www.cnblogs.com/AKMer/p/9979592.html" 浅谈$fhq$_$treap$: "https://www.cnblogs.com/AKMer/p/9981274.html" 题目传送门: "https://www.lydsy.co
阅读全文
摘要:浅谈$splay$: "https://www.cnblogs.com/AKMer/p/9979592.html" 浅谈$fhq$_$treap$: "https://www.cnblogs.com/AKMer/p/9981274.html" 题目传送门: "https://www.lydsy.co
阅读全文
摘要:$BST$ 二叉查找树,首先它是一颗二叉树,其次它里面每个点都满足以该点左儿子为根的子树里结点的值都小于自己的值,以该点右儿子为根的子树里结点的值都大于自己的值。如果不进行修改,每次查询都是$O(logn)$的。 $fhq$_$treap$ 一种支持分离与合并的二叉查找树,由于合并使用了随机函数,所
阅读全文
摘要:$BST$ 二叉查找树,首先它是一颗二叉树,其次它里面每个点都满足以该点左儿子为根的子树里结点的值都小于自己的值,以该点右儿子为根的子树里结点的值都大于自己的值。如果不进行修改,每次查询都是$O(logn)$的。 $Splay$ $splay$是一种支持旋转的二叉查找树,由于旋转可以维护它的深度,使
阅读全文
摘要:浅谈主席树: "https://www.cnblogs.com/AKMer/p/9956734.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=2653" 首先,我们判断一个序列的中位数是否大于等于$limit$,我们可以
阅读全文
摘要:浅谈主席树: "https://www.cnblogs.com/AKMer/p/9956734.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=4571" 直接从高位到低位贪心。我们可以一位一位确定还没与$b$异或起来的$
阅读全文
摘要:浅谈主席树: "https://www.cnblogs.com/AKMer/p/9956734.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=4408" 我们先把问题简化,给你一个可重集,求最小的不能被凑出来的正整数。
阅读全文
摘要:浅谈主席树: "https://www.cnblogs.com/AKMer/p/9956734.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=3674" 因为要支持历史操作,所以我们用可持久化线段树来维护并查集的祖先数组
阅读全文
摘要:浅谈主席树: "https://www.cnblogs.com/AKMer/p/9956734.html" 浅谈标记永久化: "https://www.cnblogs.com/AKMer/p/10137227.html" 题目传送门: "http://acm.hdu.edu.cn/showprobl
阅读全文
摘要:浅谈主席树: "https://www.cnblogs.com/AKMer/p/9956734.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=3772" 简化题意就是求$\sum$覆盖路径$i$的路径条数。 假设路径$i
阅读全文
摘要:浅谈主席树: "https://www.cnblogs.com/AKMer/p/9956734.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=3932" 用主席树维护任务差分值,类似于树状数组的区间修改单点询问。 时间复
阅读全文
摘要:浅谈主席树: "https://www.cnblogs.com/AKMer/p/9956734.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=3123" 如果是一棵树,维护树上路径第$k$大,我们令$rt[i]$为加入$
阅读全文
摘要:浅谈主席树: "https://www.cnblogs.com/AKMer/p/9956734.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=1926" 这题应该算是两题……首先贪心的想,我们肯定是尽量选厚的书。对于前$
阅读全文
摘要:浅谈主席树: "https://www.cnblogs.com/AKMer/p/9956734.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=3524" 假设数列不是一开始就给你的,而是一次一次修改操作让你插入数值$x$
阅读全文
摘要:可持久化数据结构 可持久化数据结构就是支持历史询问的数据结构。比如一共有$5411$次操作,我问你第$251$次操作之后这个数据结构长啥样,你能在约束的时间空间内回答出来就算支持了可持久化,否则就不算。一种很××的做法就是每次更改构之后我都把它保存下来,然后你问哪次我就去哪次里面找就是了。但是这显然
阅读全文
摘要:浅谈树状数组与线段树: "https://www.cnblogs.com/AKMer/p/9946944.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=1018" 我们把第一行和第二行的城市一起处理,对于每一个区间[$l
阅读全文
摘要:浅谈树状数组与线段树: "https://www.cnblogs.com/AKMer/p/9946944.html" 题目传送门: "https://www.luogu.org/problemnew/show/P3960" 所有出队的人都在第一排的部分分,显然就是维护一条链,支持动态分离出一个数字丢
阅读全文
摘要:浅谈树状数组与线段树: "https://www.cnblogs.com/AKMer/p/9946944.html" 题目传送门: "http://acm.hdu.edu.cn/showproblem.php?pid=1828" 扫描线求周长。如果你不知道什么是扫描线可以先去做这题: "https:
阅读全文
摘要:浅谈树状数组与线段树: "https://www.cnblogs.com/AKMer/p/9946944.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=1382" 扫描线模板题。假设有一条直线从左往右扫过平面,那么每一单
阅读全文
摘要:浅谈树状数组与线段树: "https://www.cnblogs.com/AKMer/p/9946944.html" 题目传送门: "http://acm.hdu.edu.cn/showproblem.php?pid=3911" 用线段树维护六个信息,分别是区间最长子段,最左边连续的最长段,最右边连
阅读全文
摘要:浅谈树状数组与线段树: "https://www.cnblogs.com/AKMer/p/9946944.html" 题目传送门: "https://codeforces.com/problemset/problem/1076/E" 因为询问只有一次,所以我们可以考虑怎样快速的找出会影响当前点的操作
阅读全文
摘要:浅谈线段树和树状数组: "https://www.cnblogs.com/AKMer/p/9946944.html" 题目传送门: "http://poj.org/problem?id=2182" 线段树,倒着确定每一个数字。因为最后一个是唯一的,得知最后一个是什么之后倒数第二个就是唯一的了。每次询
阅读全文
摘要:浅谈树状数组与线段树: "https://www.cnblogs.com/AKMer/p/9946944.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=2028" 这题一开始我只会平衡树写法,打死都想不出线段树怎么写。然
阅读全文
摘要:浅谈树状数组与线段树: "https://www.cnblogs.com/AKMer/p/9946944.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=1798" 线段树区间加区间乘区间询问裸题。因为乘标记会影响加标记,
阅读全文
摘要:浅谈树状数组与线段树: "https://www.cnblogs.com/AKMer/p/9946944.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=1878" 用线段树的话显然在线肯定是做不了的……这个倒是让我想起来
阅读全文
摘要:树状数组和线段树都是用于维护数列信息的数据结构,支持单点/区间修改,单点/区间询问信息。以增加权值与询问区间权值和为例,其余的信息需要维护也都类似。时间复杂度均为$O(logn)$。 树状数组 对于树状数组,编号为$x$的结点上统计着[$x lowbit(x)+1,x$]这一段区间的信息,$x$的父
阅读全文
摘要:$Day0$ 上午听$zy$口胡,中午一点半从衡阳出发去长沙,$4$点多到。 往年都是住在理工大学里的学术交流中心里的,但是这次$zy$叫巴士司机把车停在我初二打普及组住过的那个看起来脏脏的小宾馆旁边时,我就知道这一次的旅途必然不简单了。 ~~还我国际学术交流中心!!!!~~ 晚上和学弟打$LOL$
阅读全文
摘要:"赛前" 我们可以变着花样玩,但是赛时只有寥寥几个小时,还是稳健一点吧。 1、合理分配做题时间 不要被题目顺序蒙蔽了双眼,有时候可能简单的题在后面。也可能会有非常难的题在前面。最好开场把三道题全部看完,先从有感觉得开始开。如果发现不对劲了,应该果断舍弃打暴力去。 2、打暴力 不管是对拍用还是拿部分分
阅读全文
摘要:在很久之前我准备$LOL$冲段位的时候,去掌盟看了些攻略文章。对于一些讲套路和英雄玩法的攻略我都觉得看完之后受益匪浅,而一篇讲要我在排位之前“吃好喝好睡好”的文章我则不以为然。最后结果就是段位总是上不去,明明有很多操作很多意识自己都烂熟于心,可以身体却跟不上节奏反应不过来。 然后我又去看攻略,才意识
阅读全文
摘要:何为对拍 假设我在考场上写了一个能过样例的算法。然后它也能过大样例但是我觉得有些担心某些细节会出错,或者是它连大样例都过不了但是大样例过大无法肉眼差错,这个时候我们就需要对拍了。 所谓对拍,就是对着拍数据。写一个保证正确性的暴力的程序,写一个随机造数据的程序,写一个批量处理文件,让暴力程序、造数据程
阅读全文
摘要:在$OI$学习过程中,数据是必不可少的。不管是在$OJ$上提交狂$Wa$不止时,还是考场上怀疑自己的算法但出题人给的数据又能正确$AC$时,数据都显得尤为重要。所以我特地写一篇随机数据生成的博客来总结一下。 随机函数 首先我们需要认识一下$C++$自带的随机函数$rand()$。头文件$algori
阅读全文
摘要:algorithm $algorithm$头文件里面包含了很多十分实用的函数,至少于我而言,这是我用的最多的$stl$。由于所有对区间进行操作的函数都遵循左闭右开的原则,所以假设操作区间为[l,r],那么写在函数里的应该是[l,r+1]。 reverse 翻转一个$vector$:$reverse(
阅读全文
摘要:bitset $bitset$相当于一个多位二进制数,八位一字节,支持基本的 "位运算操作" 。不过对两个数的运算符操作只能对相同长度的$bitset$使用。直接输出一个$bitset$相当于直接输出一个长度为你定义的$01$串,也就是那个二进制数。 声明方式 相当于一个长达$5411$的二进制数字
阅读全文
摘要:deque $deque$头文件主要包括一个双端队列容器。是一个支持在两端插入两端删除的线性储存空间,与 "vector" 和 "queue" 相似。与$vector$比起来,$deque$可以在$O(1)$的时间内在首端插入元素。与$queue$比起来,$deque$又能像数组一样随机访问。 声明
阅读全文
摘要:queue 头文件$queue$主要包括循环队列$queue$和优先队列(也就是堆)$priority$_$queue$两个容器。优先队列默认是大根堆,需要重载小于号。 声明方式 q.size() 返回队列/堆大小 q.empty() 返回队列/堆是否为空 q.clear() 清空队列/堆 q.pu
阅读全文
摘要:vector $vector$可以理解成动态数组,动态占用空间,动态释放空间。 声明方式 $vector$支持任意访问,跟数组一样直接调用下标。但是不支持任意插入,只支持在末端插入。$vector$动态占用空间和释放空间都是二的若干次方的占用和释放,也就是若实际占用等于最大占用,最大占用空间将翻一倍
阅读全文
摘要:set $set$头文件主要包括$set$和$multiset$两个容器。他们都是有序集合,不过$set$存的元素不可重复。 两者内部实现都是红黑树,在使用方法上差别不大,支持的函数基本相同。 声明方式 $s$与$t$都是维护$int$类型数据的有序容器,其中$t$内的元素可重。迭代器$it$仅支持
阅读全文
摘要:map $map$是一棵红黑树,它作为一个容器储存的是一个键值对另一个关键码的映射。必须要定义键值类型的小于号。 声明方法是: 其中$a$和$b$是数据类型,$name$是这棵红黑树的名字。 一般$map$都可以当做$hash$表来用,但是因为$map$内部是靠平衡树维护的,所以复杂度是$O(log
阅读全文
摘要:我对贪心的理解: "https://www.cnblogs.com/AKMer/p/9776293.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=1217" 显然对于树最下面那一层点,肯定都会被父亲上或者祖父上的消防局管
阅读全文

浙公网安备 33010602011771号