Warning: session_start(): open(/tmp/sess_902c55baf4b6b8dc1343c6071ab394b6, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239

Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103
2020-2021:teams:the_great_wave_off_kanagawa:week_summary_7

目录

2020/07/19 -- 2020/07/25 周报

本周推荐

airbust

CF 1381A1 Prefix Flip (Easy Version)

kazamori

CF 1382D Unmerge

Ket98

Clam and Fish

分类:思维

题目大意:有$n$个笼子,里面可能有(1)空(2)蛤蜊*1(3)鱼*1(4)鱼*1和蛤蜊*1。有四种操作:(1)把蛤蜊做成饲料供后边的笼子来使用(2)用饲料捕捉鱼(3)如果笼子有鱼,可直接捕捉鱼(4)什么都不做。问最多可以捕捉多少鱼?

思路:题目可能比较长,但其实矛盾点就是在蛤蜊*1的笼子应该是拿去作饲料还是拿去捕捉鱼。这里有两种解法。

比赛的时候我使用倒序读取,need记录目前所需的饲料。碰到空笼子则need++,碰到有蛤蜊的笼子分两种情况(1)need==0时用于捕捉鱼(2)need!=0时用于做饲料。有鱼的笼子全部捉鱼即可。

第二种是顺序读取,贪心把所有的蛤蜊做成饲料,最后把剩下的饲料/2,一半用于做饲料,一半用于捉鱼。

个人

airbust

比赛

kazamori

比赛

* CF 658

Ket98

比赛