01 2019 档案
摘要:浅谈队列: "https://www.cnblogs.com/AKMer/p/10314965.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2276" 假设一段区间满足不降的要求,那么充要条件是$l_{max} include
阅读全文
摘要:浅谈队列: "https://www.cnblogs.com/AKMer/p/10314965.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1047" 对于每一行用单调不增和单调不减队列分别维护最小值和最大值。 对于列,也用单
阅读全文
摘要:浅谈队列: "https://www.cnblogs.com/AKMer/p/10314965.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3403" 直接双端队列模拟即可。 时间复杂度:$O(S)$ 空间复杂度:$O(S)$
阅读全文
摘要:浅谈队列: "https://www.cnblogs.com/AKMer/p/10314965.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2096" 尺取法,详见这篇博客: "https://www.cnblogs.com/
阅读全文
摘要:浅谈队列: "https://www.cnblogs.com/AKMer/p/10314965.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1293" 这里介绍一种尺取法。(此处的尺意味游标卡尺) 从左至右依次测量以当前点为右
阅读全文
摘要:浅谈队列: "https://www.cnblogs.com/AKMer/p/10314965.html" 题目传送门: "https://www.luogu.org/problemnew/show/P2629" 对于这种环状的序列问题,我们可以破环成链,两倍延长数组即可。 所以,以$k$开头的方案
阅读全文
摘要:浅谈队列: "https://www.cnblogs.com/AKMer/p/10314965.html" 题目传送门: "https://www.luogu.org/problemnew/show/P1714" 区间和转化为前缀和相减的形式,那么以$i$结尾的区间最大和就是$sum[i] sum[
阅读全文
摘要:浅谈队列: "https://www.cnblogs.com/AKMer/p/10314965.html" 题目传送门: "https://www.luogu.org/problemnew/show/P1886" 扫两遍,单调队列维护最值即可。 时间复杂度:$O(n)$ 空间复杂度:$O(n)$ 代
阅读全文
摘要:浅谈队列: "https://www.cnblogs.com/AKMer/p/10314965.html" 题目传送门: "http://acm.hdu.edu.cn/showproblem.php?pid=1387" 用$t+1$个队列,对于每个队伍用一个队列,然后用一个总队列存队伍之间的相对位置
阅读全文
摘要:所谓队列,就是一种先进先出的数据结构。就像是日常生活中的排队一样,遵循先来后到的规矩。 队列由一个$list$数组和$head$以及$tail$这两个变量组成。$head$存队头在$list$里的位置,$tail$存队尾的位置(队尾是空的,留给下一个进队的人的位置)。$list$数组的大小应该不能小
阅读全文
摘要:浅谈$Huffman$树: "https://www.cnblogs.com/AKMer/p/10300870.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4198" 根据题意描述,这就是要你建一棵$k$叉$Huffman$树
阅读全文
摘要:浅谈$Huffman$树: "https://www.cnblogs.com/AKMer/p/10300870.html" 题目传送门: "https://codeforces.com/problemset/problem/884/D" 把分离倒过来就是合并,每次尽量多合并可以保证答案更优,所以问题
阅读全文
摘要:所谓Huffman树,就是叶子结点带权的$K$叉树,假设每个叶子的权值为$v$,到根的距离为$dep$,那么最小化$\sum v_i dep_i$就是$Huffman$树的拿手好戏。 为了最小化这个值,显然我们应该尽量让权值大的叶子深度浅, "合并果子" 就是一个典型$2$叉$Huffman$树问题
阅读全文
摘要:浅谈堆: "https://www.cnblogs.com/AKMer/p/10284629.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2288" 首先我们可以把同符号的全部合成一个数,第一个如果是负数就扔了,最后一个也是。
阅读全文
摘要:浅谈堆: "https://www.cnblogs.com/AKMer/p/10284629.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1150" 显然,这题用贪心转化一下题意就是给你$n 1$个数,选$k$个不相邻的数权值
阅读全文
摘要:浅谈堆: "https://www.cnblogs.com/AKMer/p/10284629.html" 题目传送门: "http://poj.org/problem?id=2442" 我们先简化题意,假设只有两行。 那么显然,最小值是$a_1+b_1$。并且次小值集合是$a_2+b_1,a_1+b
阅读全文
摘要:浅谈堆: "https://www.cnblogs.com/AKMer/p/10284629.html" 题目传送门: "http://poj.org/problem?id=1456" 把物品按照时间排序,显然$t$天就只能卖$t$个物品。 所以我们把物品一个一个扔进堆里,当某天要卖的物品超过当前天
阅读全文
摘要:浅谈堆: "https://www.cnblogs.com/AKMer/p/10284629.html" 题目传送门: "http://poj.org/problem?id=1442" 用对顶堆维护第$k$小即可。保持小根堆大小逐渐递增就行。 时间复杂度:$O(mlogn)$ 空间复杂度:$O(n)
阅读全文
摘要:浅谈堆: "https://www.cnblogs.com/AKMer/p/10284629.html" 题目传送门: "http://poj.org/problem?id=3784" 用一个“对顶堆”动态维护中位数。 一个大根堆维护前半部分的权值,一个小根堆维护后半部分的权值。 新进来一个数如果小
阅读全文
摘要:浅谈堆: "https://www.cnblogs.com/AKMer/p/10284629.html" 合并果子题目传送门: "https://www.luogu.org/problemnew/show/P1090" 瑞瑞的木板题目传送门: "https://www.luogu.org/probl
阅读全文
摘要:堆是一种支持插入,查询最值以及删除最值的数据结构。 堆是一棵二叉树,这棵二叉树所有的叶子都集中在最下面两层,并且如果一个点有右儿子的话一定有左儿子,而且最下面的叶子全部都靠在左边。由于这个性质,我们可以很快找到一个点$p$的父亲$p 1$和左右儿子$p1) { if(tree[pos] 1]) sw
阅读全文
摘要:浅谈栈: "https://www.cnblogs.com/AKMer/p/10278222.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1345" 假设当前序列是单调的,那么显然答案就是从低往高合并的权值和。 假设$a\le
阅读全文
摘要:浅谈栈: "https://www.cnblogs.com/AKMer/p/10278222.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1012" 因为询问的是最大值,我们可以考虑把”在更后面有比这个数大的数“的数删掉。 那
阅读全文
摘要:浅谈栈: "https://www.cnblogs.com/AKMer/p/10278222.html" 题目传送门: "https://www.luogu.org/problemnew/show/P1175" 中缀表达式转后缀表达式之后直接模拟即可。平常我们所用的都是中缀表达式,后缀表达式题面已经
阅读全文
摘要:浅谈栈: "https://www.cnblogs.com/AKMer/p/10278222.html" 题目传送门: "http://acm.hdu.edu.cn/showproblem.php?pid=4699" 用对顶栈模拟即可。$stk1$表示光标之前的数列,$stk2$表示光标之后的数列。
阅读全文
摘要:浅谈栈: "https://www.cnblogs.com/AKMer/p/10278222.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3039" 记录$h "i][j]$表示$(i,j)$可以往上延伸多长,然后做$n$遍[
阅读全文
摘要:浅谈栈: "https://www.cnblogs.com/AKMer/p/10278222.html" 题目传送门: "http://poj.org/problem?id=2559" 贪心的想,最大的子矩阵顶部肯定会与某个矩阵的顶部重合,所以我们可以考虑对于每个矩阵,如果一个子矩阵的高度与它相同,
阅读全文
摘要:浅谈栈: "https://www.cnblogs.com/AKMer/p/10278222.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1113" 从左往右扫,分情况讨论。 1、如果当前矩形和上一个矩形高度一样,那么就直接融
阅读全文
摘要:浅谈栈: "https://www.cnblogs.com/AKMer/p/10278222.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1657" 做两遍 "Look Up" 即可。 时间复杂度:$O(n)$ 空间复杂度:$
阅读全文
摘要:浅谈栈: "https://www.cnblogs.com/AKMer/p/10278222.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3401" 倒着扫,单调严格下降的栈维护最近可以看见的就行了。 时间复杂度:$O(n)$
阅读全文
摘要:浅谈栈: "https://www.cnblogs.com/AKMer/p/10278222.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1660" 假设$x_i$表示可以看见$i$号奶牛的数量,那么答案也可以写作$\sum\
阅读全文
摘要:所谓栈,就是一种先进后出的数据结构。 何为先进后出?想象一个箱子,你往箱底塞了一本语文书,然后往语文书上放数学书。假设箱子底面积与书的面积相同,那么你想把先放进去的语文书拿出来,就必须得先把放在上面的数学书拿出来。所以“先进”的语文书与数学书比较是“后出”的。 在代码中一个栈由一个数组$stk$和一
阅读全文
摘要:浅谈线段树合并: "https://www.cnblogs.com/AKMer/p/10251001.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3307" 每次放物资就树上差分一下,然后用线段树维护差分值$max$,自底向上
阅读全文
摘要:浅谈线段树合并: "https://www.cnblogs.com/AKMer/p/10251001.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3545" 离线,按照权值排序之后就跟 "[HNOI2012]永无乡" 一样了。
阅读全文
摘要:浅谈线段树合并: "https://www.cnblogs.com/AKMer/p/10251001.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2212" 递归去做,统计每个子树内最少会产生多少逆序对,在合并线段树的时候统计
阅读全文
摘要:浅谈线段树合并: "https://www.cnblogs.com/AKMer/p/10251001.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4756" 对于每个结点用一棵值域线段树维护子树内结点的信息,然后该查询查询该合
阅读全文
摘要:浅谈线段树合并: "https://www.cnblogs.com/AKMer/p/10251001.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2733" 对每个联通块维护一个值域线段树,然后该合并合并该查询查询就好了。 时
阅读全文
摘要:浅谈树状数组与线段树: "https://www.cnblogs.com/AKMer/p/9946944.html" 关于线段树合并,网上讲的不多,题目却不少。 所谓线段树合并,就是把两棵线段树合并在一起,然后把之前分开用两颗线段树记录的信息放到一棵线段树上记录。 合并步骤如下: 如果$a$或$b$
阅读全文
摘要:浅谈左偏树: "https://www.cnblogs.com/AKMer/p/10246635.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1367" 显然,如果给出的数组是递增的,那么答案就是$0$。 如果给出的数组是递减
阅读全文
摘要:浅谈左偏树: "https://www.cnblogs.com/AKMer/p/10246635.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4003" 从下往上合并左偏树然后把战斗力低的踢掉。做完之后打标记。因为不会乘负数所
阅读全文
摘要:浅谈左偏树: "https://www.cnblogs.com/AKMer/p/10246635.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2809" 对于每个子树维护一棵满足大根堆性质的左偏树,可以通过当前节点和子树的左偏
阅读全文
摘要:题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1455" 浅谈左偏树: "https://www.cnblogs.com/AKMer/p/10246635.html" 左偏树模板题。 时间复杂度:$O(nlogn)$ 空间复杂度:$O(n)
阅读全文
摘要:可并堆 可并堆顾名思义就是可以合并的堆。 这里不讲二项堆和斐波那契堆,只讲左偏树。 左偏树 左偏树顾名思义就是向左偏的树。 给每个点定义一个$dist$,满足下面三个条件: 1、空结点的$dist$等于$ 1$ 2、每个结点的左儿子的$dist$都大于右儿子的$dist$ 3、每个结点的$dist$
阅读全文
摘要:浅谈$RMQ$: "https://www.cnblogs.com/AKMer/p/10128219.html" 题目传送门: "https://www.luogu.org/problemnew/show/P3379" $st$表也可以求$lca$。在带回溯的$dfs$上,两个点的$lca$就是在该
阅读全文
摘要:浅谈$RMQ$: "https://www.cnblogs.com/AKMer/p/10128219.html" 题目传送门: "https://codeforces.com/problemset/problem/475/D" 我们考虑当$l$固定之后,$r$在某个区间内的$gcd$是一样的, 而且
阅读全文
摘要:浅谈$RMQ$: "https://www.cnblogs.com/AKMer/p/10128219.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1636" 题目传送门: "https://lydsy.com/JudgeOnl
阅读全文
摘要:浅谈区间最值操作与历史最值问题: "https://www.cnblogs.com/AKMer/p/10225100.html" 题目传送门: "http://uoj.ac/problem/164" 论文题。论文做法如下: 首先我们定义一种标记$(a,b)$,表示给这个区间先加上$a$再跟$b$取$
阅读全文
摘要:浅谈$RMQ$: "https://www.cnblogs.com/AKMer/p/10128219.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1067" 关于$RMQ$的部分应该是很裸的了,这题难在分类讨论上。 顺带推销一
阅读全文
摘要:浅谈区间最值操作和历史最值问题: "https://www.cnblogs.com/AKMer/p/10225100.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3064" 我直接用论文写法写的……论文题解如下: 刚接触这一类
阅读全文
摘要:浅谈区间最值操作和历史最值问题: "https://www.cnblogs.com/AKMer/p/10225100.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4695" 吉司机线段树板子大集合。所有信息都封装在一个结构体里
阅读全文
摘要:浅谈区间最值操作与历史最值问题: "https://www.cnblogs.com/AKMer/p/10225100.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4364" 似乎可以不用吉司机线段树的作法……因为只需要维护区间
阅读全文
摘要:浅谈树状数组与线段树: "https://www.cnblogs.com/AKMer/p/9946944.html" 区间最值问题 以 "Gorgeous Sequence" 为例: 对于线段树上每个结点,我们维护最大值,严格次大值,区间和,最大值个数即可。对于修改操作,分为三种情况讨论: 1、如果
阅读全文
摘要:浅谈树状数组与线段树: "https://www.cnblogs.com/AKMer/p/9946944.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1453" 线段树维护行区间,每个结点只记录这个区间最上面一行和最下面一行每
阅读全文
摘要:浅谈树状数组与线段树: "https://www.cnblogs.com/AKMer/p/9946944.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2957" 我们把每个楼房用直线$(0,0,x,y)$的斜率来表示,显然你能
阅读全文
摘要:题目传送门: "https://agc009.contest.atcoder.jp/tasks/agc009_d" 题目翻译 定义只有一个点的树权值为$0$,若干棵(可以是$0$棵)权值为$k$的树任选一个点向一个单独的结点$v$连边,新生成的树的权值为$k+1$。显然对于一棵树他的权值是一个范围$
阅读全文
摘要:浅谈树状数组与主席树: "https://www.cnblogs.com/AKMer/p/9946944.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2877" 这就是个屎题。 而且至今我还不知道为什么洛谷和本地都可以过但是$
阅读全文

浙公网安备 33010602011771号