随笔分类 - OI
摘要:61.Deck 直接使用 deque 模拟即可。 62.Paint All 考虑建图。 表示 要在 后面涂黑。考虑一个点能作为最后一个涂黑的点当且仅当他的要求里有一个是自己,于是把这种点入队。最后看能不能跑到所有点即可。 63.Monoch
阅读全文
摘要:31.VS AtCoder 考虑 sg 函数,每次异或上 的 sg 函数看最后是不是 即可。注意 那一位的上界为 而不是 。 32.AtCoder Ekiden 考虑全排列枚举跑步顺序并判断不合法即可。 33.Not
阅读全文
摘要:1.Yokan Party 不难考虑到二分答案,check 函数只需使用贪心,如果当前段能选就选即可,最后判断段数是不是大于等于 。 2.Encyclopedia of Parentheses 考虑暴力枚举每一位,然后线性判断括号串是否合法,把合法的括号串排个序输出即可。 判断方法:初
阅读全文
摘要:T1 题意简述:给定一个序列 ,每次将当前 的第一个元素加入 的末尾然后翻转 ,然后删除 的第一个元素,求最后的 是什么。 。 考虑模拟一下这个过程,发现就是奇数次向最后添加,偶数次向开头添加,最后再翻转 \
阅读全文
摘要:边双连通分量 我们首先定义两种边:返祖边为从一个点指向其祖先的边;横叉边从某个点指向树中另一个子树中的点的边。两者统称为非树边。而剩下的边即为树边,树边也就是再搜索树上的边。 考虑设 为点 是第几个被搜索到的, 表示点 通过走若干条边之后
阅读全文
摘要:强连通分量 我们首先定义两种边:返祖边为从一个点指向其祖先的边;横叉边从某个点指向树中另一个子树中的点的边。两者统称为非树边。而剩下的边即为树边,树边也就是再搜索树上的边。 我们定义 为 是第几个被 到的, 从 出发走任意
阅读全文
摘要:普通平衡树 我们这里着重介绍一下 。 首先我们会用一个结构体存下平衡树的节点。这道题中需要存左右儿子编号,优先度(随机的一个值),点上存的数是多少,子树中有多少数。我们记作 。 接下来我们一个一个讲解函数:
阅读全文
摘要:左偏树 可以发现左偏树的别名叫可并堆,就是可合并的堆。于是我们的主要操作便是合并。 我们定义外节点为左儿子或右儿子至少有一个为空的节点。我们定义外节点的 为 ,其余点的 为到其子树内最近的外节点的距离加上 。 左偏树是一棵二叉树,首先其具有堆的
阅读全文
摘要:可持久化线段树 注意,它的全称为可持久化权值线段树。 例题 :可持久化线段树 首先我们考虑几个暴力: 对于每次询问,找出区间中的所有数,直接排序求第 小。这样做的时间复杂度为 的。 对于每次询问,建出一棵权值线段树,然后权值线段树上二分查找即可。
阅读全文
摘要:扫描线 经典问题之求矩形面积并,可以使用线段树和扫描线。 比方说我们要对这俩东西求面积并,我们简单分割一下。 然后扫描线就是,从最下面一条绿线向上扫过去,遇到下底边则加上这个矩形,遇到上底边则减去这个矩形。 回到这道题,发现给了我们矩形的两个角,那么上底边和下底边是好求的。 发现这样对图形分层之后,
阅读全文
摘要:我们先说一下 套 大概是个什么东西。 感性理解一些,你现在有一个动态规划数组 ,然后你的 用 的某种方式作为下标进行转移。 事实上,这个 需要满足单调性,然后相当于你是在一个 上做 。为什么要满足单
阅读全文