Codeforces Round #165 (Div. 1)

本文解析了算法竞赛中的四个问题:如何通过合并找到最大箱子堆;如何通过最少的移动使序列变为非递减;如何设定流量网络的方向以达到流量平衡;并提供了详细的解答思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A:求出对于每堆箱子满足条件的最大的那个就好了,因为对于两个“大箱子” A B,里面各自都嵌套了很多相同的小箱子,体积小的那一个必然可以放进体积大的那一个(2^k),体积相等时也可以合并为1个,因为题目保证每种箱子都是不一样大小,所以A 或 B中的箱子的体积肯定是不同的,所以可以将A中的所有箱子放入B中,(假设A中箱子的体积较小),所以可以通过不断的合并合并成最大的那个。

B:尽可能通过少的移动使得序列变得非递减,很明显的贪心,求一个最长不下降子序列。

C:给出一个流量网络,但不告诉你方向,让你给每条边规定方向,使得流量平衡,即除了起点和终点外,每个点的流入 = 流出,贪心即可 ,因为只有一个源点1,所以可以从1出发构造流量网络,有点类似于拓扑排序,不过用个广搜就好了,队列中的点都是满足了流入等于sum/2的,也就是说已经确定了流入,接下来都是流出。http://codeforces.com/contest/269/submission/3061226

D:

E:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值