摘要:
题意 给你长度为 $n$ 的序列,要求分成 $k$ 段连续非空的区间,求所有区间和的 $or$ 最小值。 分析 定义 $f_{i,j}$ 表示前 $i$ 个点分成 $j$ 段的最小 $or$ 是有问题的,因为可能有一位一定在后面出现而某一位没有必要在后面出现,这时贪心就出现了问题。 考虑按位贪心,假 阅读全文
摘要:
题意 一共有 $n$ 种物质,已知开始你有 $m$ 种物质且数量足够多,再给出 $K$ 个物质的转化规则(一堆物质变成另一堆),问一共能够得到多少种物质。 分析 对 $n$ 种物质和 $K$ 种转移分别建点,转化成图论问题。 一种物质显然只要有一个转移满足了就可以得到,而一种转移可以完成当且仅当所有 阅读全文
摘要:
题意 一个 $n$ 个点的完全图,两点之间的边权为 $(i\ xor\ j) C$ ,同时有 $m$ 条额外单向路径,问从 $S$ 到 $T$ 的最短路。 $n\leq 10^5,\ m\leq 5\times 10^5,C\leq 100$. 分析 如果没有额外的边,会直接从 $S$ 到 $T$ 阅读全文
摘要:
题意 初始 $1$ 个节点,每次选定一个叶子节点并加入两个儿子直到叶子总数为 $n$,问 叶子节点深度和的平均值 的期望以及 最大叶子深度 的期望。 $n\leq 100$ . 分析 对于第一问,根据答案定义状态 $f_i$ 表示有 $i$ 个叶子节点的深度和平均值的期望。 考虑对于之前的每一棵树对 阅读全文
摘要:
题意 "题目链接" 分析 将询问差分并不断加入颜色。 每种颜色,一个位置 $p$ 都只会走到与之左右相邻的两个位置之一,分类讨论 $\rm |A B|$ 的符号。 实现可以使用树状数组。 总时间复杂度为 $O(nlogn)$。 代码 ~~~cpp include using namespace st 阅读全文
摘要:
题意 一个长度为 $n$ 的序列,每个权值互不相同,给出形如 $l,r,p$ 的信息表示 $[l,r]$ 区间中最小的数是 $p$ ,问第几个信息开始出现矛盾。 $n\leq 5 \times 10^5$ . 分析 二分答案再判前 $mid$ 个信息是否合法。 相同 $p$ 的区间的 $p$ 一定出 阅读全文
摘要:
题意 给你一个长度为 $len$ 的环,以及 $n$ 个区间,要你选择尽量少的区间,使得它们完全覆盖整个环。问最少要多少个区间。 $len,n\leq 10^6$ . 分析 考虑普通的区间覆盖的贪心做法,这里只需要倍增一下。 如果区间 $r 处理区间覆盖的技巧:记录 后缀最小值 $mn$,如果$mn 阅读全文
摘要:
题意 给定一棵以 $1$ 为根的树,你每次可以选择跳到某个叶子节点,再跳到和他深度差不超过 $k$ 的祖先。询问最多能够跳到多少个叶子节点。 $n,k\leq 10^6$ . 分析 最后的决策一定是跳很多叶子然后回到 $u$ 后向下跳上不来。 发现如果能够跳进 $u$ 子树再跳回 $u$,取决于最浅 阅读全文
摘要:
题意 给定 $n$ 个节点的树,点有点权 $w$ ,划分成多条儿子到祖先的链,要求每条链点数不超过 $L$ ,和不超过 $S$,求最少划分成几条链。 $n\leq 10^5$ . 分析 贪心,从叶子节点开始向上合并,倍增计算出以一个节点为链底,能够最多到达哪个祖先 ${up}_u$。 每个节点合并和 阅读全文
摘要:
题意 给出 $n$ 个点的树,求 $\sum_{i=1}^n{\sum_{j=i}^n{\lceil \frac{dis(i,j)}{2} \rceil}}$ . $n\leq 2 \times 10^5$ . 分析 点分治SBT.考虑更快速的做法。 如果直接统计总的贡献唯一的问题在于奇数路径统计时 阅读全文