随笔分类 - 贪心
摘要:"题面" 题解 首先假设每个娃都不套, 那么代价就是 $\sum_{i=1}^{n}b_i in_i$ 然后每次将 $j$ 套进 $i$ 中会减去 $b_i out_j$ 的代价 发现将 $b$ 排序后拿个数据结构维护一下最大的小于等于当前的 $in_i$ 的 $out_j$ 证明直接拿两个套娃,
阅读全文
摘要:"题面" 题解 首先我们要思考一个问题, 公交线路要加到什么程度才能够使得任意两个点两两可达 很容易知道每个点和他的父亲必须两两可达 所以最终所有公交线路新增的边其实就是把原来的边全部反向 那么这些边要如何组成公交线路呢, 必须要满足, 在这条公交线路中, 边的指向相同, 要么都向上, 要么都向下,
阅读全文
摘要:"题面" 题解 题目很简单, 用优先队列维护拓扑序即可 但是他要我们求的东西比较诡异, 导致贪心的策略会不同 对于第一问, 我们一般的思路是直接维护正的拓扑序, 每次选最小的更新 但这样不一定是最优的, 因为选择了当前最小的可能使得更小的拓扑序排在后面, 这样字典序就不一定是最小的了 所以我们维护反
阅读全文
摘要:"题面" 题解 题目意思比较简单, 就不在这里赘述了 本着练习平衡树的思路, 我把方法尝试往上面去套, 结果想不出 只能弃掉平衡树 最后想出来的方法是这样的 我们运用类似于高维前缀和那样一维一维加上去的方法 先横着统计在某个范围内和最小的 $c d$ 矩阵, 把贡献算在范围的右下角 注意, 这里保证
阅读全文
摘要:"题面" 题目大意: 给定一个 $n$ , 所有军人的数量均在 $[1, n]$ 给定 $a_i$ 代表高度为 $i$ 的军人的个数 你要将这些军人分成 $k$ 行, 满足下面两个条件 每行人数相等 同一行任意两个军人的高度差的绝对值不超过 1 问你最多能够选多少个军人分成 $k$ 行 题解 题目满
阅读全文
摘要:"题面" 题解 ~~毒瘤题浪费我大好青春~~ 容易知道, 如果$l$和$r$位数不一样, 直接选形似$99..99$的数, 输出答案即可 $l$和$r$位数一样的话, 当位数确定的时候, 由于已知$p$, 所以每一位要跟$k$中哪些位相乘已经确定了 设$f[i]$为$k$中与$x$中第$i$位相乘的
阅读全文