上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 25 下一页
摘要: 有两种方法: 最大费用流。 把网络流作为贪心的工具。 建图:原图中的点也当作新图中的点。对于一条原图的边,新图中建两条:一条容量 \(1\) 费用 \(1\),一条容量 \(+\infty\) 费用 \(0\)。(深海机器人的方法)\(s\) 向所有入度 \(0\) 的点(还有出度 \(0\) 向 阅读全文
posted @ 2024-02-28 08:36 FLY_lai 阅读(9) 评论(0) 推荐(0) 编辑
摘要: S1 观察发现,所有靶子右上角必须斜率负数,右下角必须斜率正数,左端点没有要求。先判断斜率中负数和正数的数量是否都达到 \(n\),否则无解。 其次,如果现在有两条线和两个 \(x\) 相等的点,斜率较大的线配了 \(y\) 较小的点。交换这两个匹配,发现让两个与 \(y\) 轴的交点更靠近了。由此 阅读全文
posted @ 2024-02-27 20:58 FLY_lai 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 狄利克雷卷积:\((f*g)(n)=\sum_{d|n}f(d)\times g(\dfrac{n}{d})\)。两积性函数的狄利克雷卷积还是积性函数。 数列的卷积:\((a*b)_n=\sum_{i=1}^n a_i\times b_{n-i+1}\)。 数列的二项式卷积:\((a*b)_n=\s 阅读全文
posted @ 2024-02-27 07:51 FLY_lai 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 传送门 如果一个排列 \(P\) 满足对于所有的 \(i\) 都有 \(|P_i-i|\neq k\),则称排列 \(P\) 为合法的。现给出 \(n\) 和 \(k\),求有多少种合法的排列。 由于答案很大,请输出答案对 \(924844033\) 取模的结果。 \(2\leq n\leq 2\t 阅读全文
posted @ 2024-02-26 22:22 FLY_lai 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 传送门 题意:给定两个数组 \(a_i,b_i\),若 \(a_i\le b_j\),则他俩可配对。求极大匹配的方案数。(极大不是最大,最大一定是极大) 先考虑最大匹配方案数怎么求。 把 \(a\) 和 \(b\) 从小到大排序。则每个 \(a_i\) 能匹配的 \(b\) 都是一段后缀,且随着 \ 阅读全文
posted @ 2024-02-26 20:53 FLY_lai 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 前四题水。 G 时限五秒,两只 log 都能过。 建线段树,每个结点上面存一个 multiset,包含所有作用到这个结点区间上的修改。 删除直接找到对应 multiset 删除即可。 阅读全文
posted @ 2024-02-25 09:29 FLY_lai 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 左偏树是一种可并堆(一系列的堆),支持以下操作: 删除一个堆的最值。 查询一个堆的最值。 新建一个堆,只包含一个元素。 合并两个堆。这个复杂度是 \(O(\log)\) 的。 左偏树是一颗二叉树。定义 “外结点” 为儿子数量不等于 \(2\) 的结点,定义每个结点的 \(dist\) 为该结点到最近 阅读全文
posted @ 2024-02-24 17:16 FLY_lai 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 只做了 A,成功被 sb 错误卡住。 A 每次挑最右边的左移。 B 每次一定是优先向最近的怪物打,打完一个打下一个最近的。 子弹不一定只能打两个怪物,所以打的时候用循环判断子弹是否打完。 C l = r 不行 否则考虑全 1 再把所有 \(c_i=1\) 的都 +1,这需要 \(cnt1[r]-cn 阅读全文
posted @ 2024-02-24 08:59 FLY_lai 阅读(37) 评论(0) 推荐(0) 编辑
摘要: CF10E 题解 翻转 性质:如果翻转的区间所有数对个数为偶,则整个逆序对个数奇偶性不变;否则改变。 证明:首先翻转区间外的逆序对个数不会变化,翻转区间与翻转区间外的逆序对个数也不会变化。 假设翻转前翻转区间内有 \(cnt\) 个逆序对,则翻转后有 \(len\times (len-1)/2-cn 阅读全文
posted @ 2024-02-20 19:11 FLY_lai 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 无向基环树找环,遍历模板: #include <bits/stdc++.h> using namespace std; typedef long long ll; const int inf = 0x3f3f3f3f; int n; vector<int> e[500005]; bool vis[5 阅读全文
posted @ 2024-02-19 11:19 FLY_lai 阅读(15) 评论(0) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 25 下一页