订正

· · 个人记录

T1:

大模拟,没有什么可以说的。

写的时候思路不清晰,写了4.5k,中间有许多代码重复或类似,应该写成函数的。

当时写了两个多小时(大部分时间在调试),90分,没法调了,订正时判了一个询问,过了

记录:儒略日

以后还是要多练一些码量大,思路复杂的题目

(结果下午就考了,虽然码量不大……

T2:

不仅没有特判,而且左移时1没有写成1ll,多丢了二十分。

同时用map当了桶,虽然没被卡,但以后要注意读题

记录:动物园

T3:

考场上没去想正解,忙着打暴力,原本在CCF的水数据下能过70的,结果取模写错了,只有30分

正解是把乘法转为对加法执行次数的贡献,然后topo排序加后缀积来算执行次数。

记录:函数调用

T4:

考场上没开,70分直接丢掉……

首先我们可以发现一条蛇如果能做决策,就一定不会让自己被吃。 并且一条蛇吃过后不是最小,在它下一次决策前都不会是最小,原因是之后决策的蛇本身更小,吃的蛇更大(如果可能出现比当前决策更小的蛇,那条蛇会在吃之前停止)。以此类推,可以推出新产生的蛇单调递减。

所以如果吃了之后不是最小,就一定吃,是最小且下一条最大蛇能稳定吃,就不吃。

然后如果吃了之后可能被吃,但下一条蛇吃了后处境相同,就可以递归下去求出几条蛇后可以稳定吃,然后推出自己吃后会不会死,算出答案后就可以条出,因为下一条蛇状态和自己必然不同,所以一定可以结束。

原来的题目保证原序列单调递增,新产生的蛇单调递减,所以可以像NOIP2016蚯蚓一样开多个队列来维护最大最小

记录:蚯蚓

贪吃蛇