随笔分类 - 杂算法
摘要:【前置知识】 convex 与 concave:这是对于数组的概念。类比函数,下凸就是 convex,上凸就是 concave。 【<min,+>卷积问题】 考虑两个数组 ,定义它们的<min,+>卷积结果 : 。
阅读全文
摘要:打的算不错的了。就是 C 的部分分没时间打满了。 警示:调试的时候切忌过分相信自己的某一部分代码!!!请把任何一个函数都注释一遍检查错误源头。 T1 签到题。记录 表示从前往后尽量少走、从后往前尽量多走,会走到哪里。 然后枚举 ,看 \(pf
阅读全文
摘要:一个参考 WQS 二分用来处理一些答案构成凸函数的问题。 最经典、最常见的形式,就是 "从若干个物品中恰好选给定个数的最优" 型问题。 适用要求:如果不考虑选的物品的个数限制,可以很快求出答案。 最经典例题:P2619 Tree I 从所有白边中选 条,然后加上若干条黑边形成生成树
阅读全文
摘要:模拟费用流,顾名思义,就是直接跑费用流会超时,于是尝试用数据结构模拟费用流的过程。 在某些题里,模拟费用流就是 "反悔贪心"。 标一下 command_block 的博客 LOJ574:黄金矿工 LOJ6405:征服世界 UOJ455:雪灾与外卖 P6122:Mole Tunnels 【普通模型】
阅读全文
摘要:传送门 题意:给定一个 01 矩阵,每次可以交换两行或交换两列,要使最终每行每列都有一个 ,是否可行? 如果 ,则第 行和第 列连边。每行每列都有一个 ,相当于匹配数为 。 交换某行某列,对图的结构没有本质影响,所以对一
阅读全文
摘要:传送门 这玩意是 T2 ??? 观察到 或 ,所以我们可以尝试让每个栈里面都保持两张牌。同时保留一个空栈,用来消栈底。 记这个保留的空栈为 。 策略 1: 如果当前牌堆顶的牌能消,必然消; 否则除了 ,如果存在一个没有填到两张牌的栈,
阅读全文
摘要:参考(先看) 这个题解最后的式子写错了,看最后 (注意一下算层数要 n /= 2 !) 这里面关于 的用法:为什么是 已经讲得很清楚了。 主要补充一下怎么求 的部分。 如图,三个决策点的所在部分可以视作
阅读全文
摘要:如果发现自己莫名其妙错了,可能是代码 UB,还开 O2!!!!!!!!!!! 传送门 首先,对于每个操作 2,将 连边。连边之后每个连通块内部可以在总和不变的情况下任意改变。 用并查集将每个连通块缩点,然后对于每个操作 1,将 连边。得到的图又会分成若
阅读全文
摘要:只做了 A,成功被 sb 错误卡住。 A 每次挑最右边的左移。 B 每次一定是优先向最近的怪物打,打完一个打下一个最近的。 子弹不一定只能打两个怪物,所以打的时候用循环判断子弹是否打完。 C l = r 不行 否则考虑全 1 再把所有 的都 +1,这需要 \(cnt1[r]-cn
阅读全文
摘要:自己做不出来,看现在题解区的题解讲的都不咋清楚。懂了之后来为后人铺路。而且我的马蜂比较好看 题目传送门 我能看懂这道题,主要是依靠了这篇题解的帮助。 首先我们只关注数的相对关系,所以可以离散化。注意到值域 ,用数组离散化。 这道题可以用贪心做。(有一些定义先往下看) 定义一个无缝子序
阅读全文
摘要:传送门 注意题目保证新加入的区间长度一定最大,想一想,这是保证了新区间不会被包含。 区间关系有三种:如果两个区间相交,则两个区间互相可达;如果是包含关系,小的能到大的;如果相离,都不能到。 显然当区间 与 相互可达, 与 相互可达,则
阅读全文
摘要:传送门 先将括号序列建树。 具体而言,假设当前根结点为 ,当前括号序列为 。若 能分成 组括号,则 有 个儿子。对于第 个儿子,以它为新根结点,第 组括号为新括号序列,递归建树。 例如 (()()
阅读全文
摘要:传送门 题意;找出最浅的点分树。 发现这是一个等价问题:给每个结点一个标号,当两个结点标号相同时,它们的路径上必有严格更小的标号。如果找到了这样一种标号方法,每个结点的标号就是它的深度。 同时我们还可以把每个结点的标号 对应到 ,也是一一对应。问题又变成路径上必有严格更
阅读全文
摘要:A 最大值 - 最小值 B 题意:在 的方阵中选择若干个方块,使得至少有 条对角线上有选择的方块。 观察:如果选择第一行的 个,和最后一行的中间 个,可以覆盖 条对角线,这其中每一个格子都恰好覆盖两条对角线。 所以
阅读全文
摘要:S1 题解 S2 显然最少次数就是叶子个数 。那么 都不会用到。 对于 ,我们要尽量让它们放在路径上。 枚举每一条根到叶子的路径,选择路径上深度最低的 与这条路径匹配(没有就不匹配了)。 用树剖即可。 S3
阅读全文