摘要:
引入 link。 我们可以分析出上题就是带修改的最大子段和。 遇到这种类型的题目应该想到用线段树。 实现 对于原数列,先建起一棵线段树,每个节点包含 最大前缀、最大后缀、最大字段和、区间和 信息。 当你明确一道题是线段树时,要先思考 pushup 和 pushdown 怎么写,因为剩下的都是差不多的 阅读全文
摘要:
分析题面,发现题目求的是是否存在一个白点被 \((1, 1)\) 和任意一个黑点围成的矩形内。 先将所有黑点按 \(x\) 坐标排序。 枚举所有的白点。 找到所有横坐标不比该白点横坐标小的所有黑点的纵坐标的最大值所属点。 如果该点的纵坐标小于该白点的纵坐标: (蓝点代表题目中的白点,红点反之) 此时 阅读全文
摘要:
link。 贪心做法。 本题贪心做法的实质就是用整数尽量多地抵消该整数后面的负数。 如果正着做,没有办法考虑全该数后面的所有负数,所以倒着做。 例如当前遍历到了 \(50\),此时序列如下: \[\dots,50,-50,-10,-20 \]易得我们 \(50\) 应该抵消的是 \(-10,-20\ 阅读全文
摘要:
小学二年级就会的基本一次函数知识。 抽象一下题意: 求 \(n\) 个点 \((X_i, H_i)\) 中任意两个点组成的直线的截距的最大值(不小于 \(0\),\(X_i\) 递增)。 先说结论:先特判 \(n = 1\),然后答案只可能是由编号相邻的两个点组成的一次函数的截距。 为了方便,我们记 阅读全文
摘要:
引入 给定一个长度为 \(n\) 的序列,每一个元素都有一个键值 \(a\),记 \(f(i)\) 为 \(a_i \le a_j\) 且 \(i \ne j\) 的 \(j\) 的个数(一位偏序)。 求 \(d \in \left [ 0, n \right )\),\(f(i) = d\) 的 阅读全文
摘要:
前文 Day -1 上午考试了,多少分忘了。 晚上老师布置模板题。 Day 0 继续前一天的模板题,并没有 AK。 Day 1 J 组 先看 T1,发现是一道简单的水题,切了。 再看 T2,也是水题,切了。 看了 T3,起初以为是个数位 dp,发现好像没那么难,列出尾数共有多少个 \(8\),最后把 阅读全文
摘要:
听说有人不会树链剖分? 前置芝士 线段树 树状数组 Splay FHQ-Treap 以上五种任意一种即可,这里主要讲线段树做法。 引入 树链剖分(Tree Line Pow Divide),一种解决树上快速路径修改查询问题的算法,一般指 重链剖分(Heavy Path Decomposition)。 阅读全文
摘要:
引入 顾名思义, \(\texttt{bitset}\) 是用 \(\texttt{bit}\) 组成的 \(\texttt{set}\); 区别于普通的 \(\texttt{bool []}\) 或 \(\texttt{vector<bool>}\),\(\texttt{bitset}\) 的每一 阅读全文
摘要:
关于 SPFA, 它还苟延残喘地活着…… 题意 一个无向图,每条边有两个权 \(x, y\),求能否通过删除一些边使得 \(x\) 的最短路 \(1 \to n\) 不小于 \(T\),输出删除的边的 \(y\) 的最大值的最小值。 题解 观察到如果我们枚举一个 \(y\) 的最大值 \(k\),我 阅读全文
摘要:
题意 求 \(n\) 个一样的球放到 \(k\) 个盘子里的方案数(每个盘子至少一个)。 题解 考虑记 \(f(i, j)\) 为结果。 我们可以一次性只加一个球(新放到一个盘子里),也就是可以从 \(f(i - 1, j - 1)\) 转移过来。 也可以用已有的盘子每个盘子放一个球,就是从 \(f 阅读全文