摘要: 「网络流 24 题」搭配飞行员 考虑其实就是二分图最大匹配,建图可以按照如下的形式: 这是样例,所有边权均为 \(1\)。 如上图方式建模即可。 code 求方案就判断一下中间的边是否用掉(原网络图) 阅读全文
posted @ 2023-11-17 12:59 wscqwq 阅读(2) 评论(0) 推荐(0) 编辑
摘要: ![img](https://img2023.cnblogs.com/blog/3107168/202303/3107168-20230318130412170-403196381.png) 阅读全文
posted @ 2023-11-17 12:59 wscqwq 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 「网络流 24 题」圆桌聚餐 上一题的简单改变,我们改一下: 中间的边权值为 \(1\),每个左边的点每往右流 \(1\),就有人派到那张桌子,这样也不会出现同组内多个人去同一张桌子的情况(因为中间边权为 \(1\))。 左边源点边为人数,右边汇点边为桌子容量。 code 类似题:试题库 阅读全文
posted @ 2023-11-17 12:59 wscqwq 阅读(1) 评论(0) 推荐(0) 编辑
摘要: P5482 [JLOI2011] 不等式组 这道题比板子还是难不少,因为有大量的分类讨论。 看到题就可以考虑平衡树了。 \(ax+b>c\iff ax>c-b\),根据不等式乘除法的变号规则分类。 \(a>0\),不等号方向不变,\(x>\dfrac{c-b}{a}\)。 \(a<0\),不等号方向 阅读全文
posted @ 2023-11-17 12:59 wscqwq 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 稳定的牛分配 考虑先二分答案。 然后我们可以枚举区间,比如答案是 3,那么区间可以是 [1,3],[2,4] 这样的。对于每个区间,建立区间对应的边跑网络流,所有情况下如果有一种情况是所有牛恰好都匹配成功则 check 成功。 code 阅读全文
posted @ 2023-11-17 12:59 wscqwq 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 平方 题意 给定 \(n\) 个数,然后让你拟定一个长度为 \(n\) 的数组 \(t\),使得 \(t_i>1\),且满足对于任意的 \(a_i\times a_{i+1}\times t_i\times t_{i+1}\) 为完全平方数,求 \(\min\prod t_i\)。 \(1\le n 阅读全文
posted @ 2023-11-17 12:59 wscqwq 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 分配问题 考虑到类似于飞行员配对问题,唯一区别就是多了一个费用,跑费用流即可。 注意最长路的求法就是最短路的边权全部变成负的,然后最后负回来。 code 阅读全文
posted @ 2023-11-17 12:59 wscqwq 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 运输问题 将超级源和左边的点连 \(a_i\),右边的点和超级汇连 \(b_j\),中间并没有规定只能给多少货物,设为无穷大。 然后就类似于分配问题。 code 阅读全文
posted @ 2023-11-17 12:59 wscqwq 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 数字梯形 考虑网络流拆点。 对于一个点不能多次到达的限制,可以将其拆为两个点,中间容量为 \(1\),权值为点的权值。然后由于点不重合那么边一定不重合,除了起点连下来的边容量为 \(1\),其他边容量只要大于 \(1\) 就可以了。 第二个限制,不需要拆点,将费用放到边上,然后注意虚拟源点容量为 \ 阅读全文
posted @ 2023-11-17 12:59 wscqwq 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 旅程 考虑删边比较难做,于是倒过来加边。 首先先做一遍 Floyd,然后每次加一条边,用这一条来更新,类似于 Bellman-ford,如果更新 \(i,j\),用边 \((x,y)\),则可写作 \(dis_{i,j}=dis_{i,x}+dis_{y,j}+w_{i,j}\),也可以先更新所有点 阅读全文
posted @ 2023-11-17 12:59 wscqwq 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 负载平衡问题 看看就算了,注意 \(X_i\) 的定义最后一项应该是 \(\sum \limits_{j=1}^{i} A_j\) 而不是 \(\sum \limits_{j=1}^{i-1}A_j\)。 code 阅读全文
posted @ 2023-11-17 12:58 wscqwq 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 妹子 考虑到首先判断可以横平竖直的放进去的情况。 先让 \(a_1<b_1,a_2<b_2\),然后判断是否存在 \(a_1\le a_2 \and b_2\le b_2\or a_1\ge a_2 \and b_2\ge b_2\)。 否则,交换使得 \(a_1\le a_2\)。 如图所示。 然 阅读全文
posted @ 2023-11-17 12:58 wscqwq 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 餐巾计划问题 先拆点,将每天拆成两个点,一个表示用完的旧餐巾①,一个表示需要的新餐巾②。 考虑几种边: 购买边,从起点往②点连 \(\inf,p\)。 快洗边,从前 \(m\) 天往②点连 \(\inf,p\)。 慢洗边,从前 \(n\) 天往②点连 \(\inf,f\)。 容量限制边 从②点往终点 阅读全文
posted @ 2023-11-17 12:57 wscqwq 阅读(1) 评论(0) 推荐(0) 编辑
摘要: [![无标题.png](http://image.qingtengbc.com/2023/08/18/f99b5e833882d.png)](http://image.qingtengbc.com/2023/08/18/f99b5e833882d.png) 阅读全文
posted @ 2023-11-17 12:57 wscqwq 阅读(1) 评论(0) 推荐(0) 编辑
摘要: $1$ 阅读全文
posted @ 2023-11-17 12:57 wscqwq 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 你有一个二进制串长度为N,串内包含0 和1 两个数字。现在用一种特殊的算法对该串进 行加密,加密方式是给定一个整数K 满足1 ≤ K ≤ N。对于该串内每个长度为K 的区间,计 算出该区间内数字的和,放进一个新序列里。新序列一共有N −K + 1 项,第i 项代表原序列 中第i 项到第i + K − 阅读全文
posted @ 2023-11-17 12:57 wscqwq 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Alice 正在玩一个翻转串的游戏。这个游戏有一个S 串一个T 串。两个串都是01 串。Alice 每次操作可以把S 串的一个子串翻转。例如”101100”, 她选择”011” 翻转后得到”111000”。 Alice 希望进行最少次的操作,使得操作后的S 串内不包含T 作为S 的子串,你能否帮 助 阅读全文
posted @ 2023-11-17 12:57 wscqwq 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 01串 对于相邻的两个段和\(S_i\)和\(S_{i+1}\)两段之间移动时的差别既删除了i号元素,添加了i+K号元素。如果\(S_i = S_{i+1}+1\)那么说明i号元素是1,i+K号元素是0。(删除1添加0),反之如果\(S_i = S_{i+1}-1\),那么i号元素是0,i+K号元素 阅读全文
posted @ 2023-11-17 12:57 wscqwq 阅读(2) 评论(0) 推荐(0) 编辑
摘要: P9744 「KDOI-06-S」消除序列 我们可以很容易发现操作 1 只可能使用一次。 先考虑序列固定的情况下的做法。 我们设 \(f_i\) 表示 \(1\sim i\) 用操作 1,\(i+1\sim n\) 不用的最小值。(\(i\) 可以取 \(0\),表示不用操作 1) 对于前半部分,先 阅读全文
posted @ 2023-11-17 12:57 wscqwq 阅读(7) 评论(0) 推荐(0) 编辑
摘要: P1972 [SDOI2009] HH的项链 我们考虑将所有询问按照右端点归类。 然后从左往右扫描每个位置,如果前面有位置和它重复,就把前面的位置删掉(这样做是对的,因为右端点只可能在之后了,那么要访问到前面的位置,就必须要到达这个位置,相当于把重复的贡献减掉)。 初始时假设所有位置都不重复,都是 阅读全文
posted @ 2023-11-17 12:57 wscqwq 阅读(5) 评论(0) 推荐(0) 编辑