AtCoder Beginner Contest 270

A. 1-2-4 Test

水题。

B. Hammer

分裂讨论。
code

C. Simple path

一遍 dfs 就完了,怎么还有这种搜索题!
code

D. Stones

观察数据范围,O(NK) 可过。

dpi 表示 i 块石头,第一个玩家最多可以拿走的石头数量。

枚举当前玩家选哪一个数值进行转移即可。 dpi=max{dpi,idpiai}。因为下一个操作的人是另一个玩家,每个人都采取最有策略,则第一个玩家最大拿到的就是 idpiai

code

E. Apple Baskets on Circle

最大关键在于找到拿了多少圈才拿完 K 个苹果。

考虑二分,转化为判定性问题,拿了 x 圈拿了多少个苹果?拿 x 圈等价于每一个果篮都走过 x 次,但是不一定能拿到 x 个,因为一个果篮拿空了就不能再拿了。

注意,二分的时候二分出完整的圈数,剩下还有一点点(不到一圈)直接扫一遍计算即可。

code

F. Transportation

如果除开港口和机场只有道路等价于最小生成树问题。

于是可以开一个虚拟源点,所有港口和虚拟源点连一条边,连完之后可以保证所有港口相连。机场也类似。

但是,有一个坑点,可以不开任何港口或任何机场,所以不一定所有的边都需要连,可以讨论 4 次,具体看代码。

code

posted @   Otue  阅读(112)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示