0%

ABC274

F

不算难但有坑点的题。

很容易想到可以抓鱼的时间是当且仅当某两条鱼距离为 $A$ 时。

所以考虑左边那条鱼,分别计算右边的鱼是哪一条时可以抓到的最大重量。

我实现的时候出现了负数时间,但是不能在负数时间抓,故我忽略了负数时间的最大值贡献。

但是考虑到可能第一个正数时间的事件是某条鱼游出了范围,所以需要修正,要么弄个 $0$,要么在每个事件发生前取下最值。

G

有趣的题。你需要放最小数量的监视器到一个矩阵中,矩阵中有监视器不能越过的障碍,每个监视器往上下左右中一个方向看,可以看到自身位置。你需要保证所有非障碍点都被监视。

最开始想的是假定先放横着的贪心放竖着的,但是不行。

后面思考了横着和竖着的关系,发现如果将所有的横块看成一个点,竖块看成一个点,那么能构成一张二分图,二分图的每个边就是每个需要监视的点!

本质上是最小点覆盖问题,可以用网络流解决。

二维网格图的行和列,和二分图有着紧密的联系,涉及对横边和竖边分别操作时,需要求最小或者最大值,一定要考虑到网络流,数据范围如果在 $100-500$,那么就更应该思考网络流的方式。