摘要:
"题面" 题解 首先我们发现, 那些保质期短, 价格又贵的我们肯定不会选 所以先拿单调队列弹掉这些 然后就在保质期内选最便宜的就行 这样我们发现, 外卖小哥来的次数少, 我们每次买的就多, 花费就多, 外卖小哥来的次数多, 我们每次买的就少, 但是付外卖的钱又多了起来 经过看题解后发现, 这应该是一 阅读全文
摘要:
"题面" 题解 这个 $n m \leq 100000$ 数据范围告诉我们要根号分治 我们对于一段区间 $[u, d]$ (上下的区间), 将所有拼图分为两类, 一类是这块中在这一段区间从左到右全都是 0 , 或者是只有一部分是 0 那么最后这一段区间的答案就是把全是零的放在中间, 左边接一个 0 阅读全文
摘要:
"题解" 题解 分治不会, 但是会分块(滑稽) 设 $f[i][j]$ 为第 $i$ 块, $0 \to j$ 中最大的是多少 设 $g[i][j]$ 为第 $i$ 块, 膜 $j$ 最大的是多少 把值域分为 $\frac{S}{j}$ 块, $S$ 为值域大小, 对于每一块中膜 $j$ 的最大值取 阅读全文
摘要:
"题面" 题解 转化问题, 即一个点从根节点往下走, 到达任意一个点时, 保证每一个与他直接连通的点都被覆盖了 没有必要向上走, 因为这只会留更多时间来修复 所以我们讨论只下不上的情况 二分一个 mid , 代表当前共有 mid 个人 设 $f[i]$ 为到了 $i$ 点, 且 $i$ 的儿子全部未 阅读全文
摘要:
"题面" 题解 看哪些事件不发生也对答案没有影响 假如说这件事不发生, 那么他的前驱都不会发生 然后把所有入度为零并且不是这件事的前驱的点全部设为发生, BFS 一遍, 看那 M 个是否都能发生 若能, 则该事件不一定发生 若不能, 该事件一定发生 复杂度 $O(nm)$ Code 阅读全文
摘要:
"题面" 题解 这就是一道模拟题 就是看什么是不符合情况的 一种是点数不对, 一种是点数对了边数不对, 一种是每个点的度数不对, 一种是前三个都对了, 但是你模拟完之后发现两个点的编号相同 排除掉这四种就行 至于模拟, 就你有一个 BFS 层数, 原点为 0 , 你对于一个 BFS 序为 $i$ 的 阅读全文
摘要:
"题面" 题解 这个数据范围, 直接 DP 一下就完了 看是这个人新开一个圈还是加到别的圈里去 注意, 新开一个圈最少需要三个人 设 $f[i][j]$ 为前 $i$ 个人组成 $j$ 个圈的方案数 $$ f[i][j] = \begin{cases} f[i 1][j] (i 1)\\ f[i 3 阅读全文
摘要:
"题面" 题解 首先我们要思考一个问题, 公交线路要加到什么程度才能够使得任意两个点两两可达 很容易知道每个点和他的父亲必须两两可达 所以最终所有公交线路新增的边其实就是把原来的边全部反向 那么这些边要如何组成公交线路呢, 必须要满足, 在这条公交线路中, 边的指向相同, 要么都向上, 要么都向下, 阅读全文