01 2019 档案

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