时间安排
7:30–7:40 读题,感觉今天的题非常神奇。
7:40–8:30 T1,2,3暴力,T1状压,T2,二分答案,T3 dfs
8:30–8:50 T1,链的情况可以组合数。
8:50–9:30 T1,n<=50 可以n^5 DP,维护某个根,选了几个点,距离根的距离,因为写法问题可能要稍微容斥一下,卡不满可以过。
9:30–9:50 T2,对于一个天数x,放宽限制,那么假设之前全是x,那么最少需要num/x上取整的机器人,这就是某个天数对答案的贡献。上取整取个max就可以了。复杂度严格n^2。感觉可以拓展到正解。(出题人应该把n扩大到5000~6000的,nQlogn时间复杂度完全不对的做法竟然莽过去了)
9:50–10:30 T3,发现图可以变成DAG拓扑。用bitset可能可以冲过50pts。但空间复杂度30000*30000。于是非常蛋疼地我不会算bitset的空间,输出sizeof发现只有1e7,以为算错了就搞了个一位的bitset发现size是8,于是就按8*900000000来算了,空间达到了800MB,就没写。后来发现这个可以用线段树合并代替,每个点最多合并2次,于是我就傻乎乎的以为复杂度是2nlog左右,写了100多行。数据不太好造,于是过掉大样例就没在管了。(但实际上我这个线段树合并时空复杂度上界都是n^2左右)。
10:30–11:50 T2,考虑怎么维护上取整。发现可以把1/x当作增量,只要维护最大值就可以了。显然可以打tag,但是对于一个区间的tag不好计算影响。线段树上貌似不可取,考虑分块,怎么更新影响呢?不太会。
赛后: T1,T2 60pts拿到了。T3 炸掉了,线段树合并空间RE,开大了之后TLE。(学会了怎么算bitset空间)
反思
upding…