连续几天的考试都没有总结,今天有些时间,总结一下这几场考试的情况。
10.28场
开场先读题,然后推了推T2,发现是水题。出于对期望的恐惧,没有选择研究T3,而是回头肝T1,想了很久,没有思路。打完T2,自己搓了一些数据,过了,回头打了T1的暴搜,再打了一个表,似乎部分分挺多的。再做T3,有点思路,但思路并不清晰,于是打了特殊数据就完了。
期望得分:70+100+20=190
最终得分:30+100+20=150
结果T1是DP,没看出来。唔...原题,地精部落,题果然还是做的太少了,有些人做过就赚了。波动序列,还行。打完表后,没有改数据分治的条件,还把打表时的条件留着的,后面几个点T飞,惨挂40分。
T2,不出意外,A了。
T3,血亏。实际上不难,只要想到算蚊子的存活的期望,最后再累计答案,即m*n减去存活的期望等于死亡的期望,就是一个裸的树形DP了。考试的时候想到需要存储存活率,也想到需要枚举lca做树形DP,但没有想到整个树形DP都只算存活期望,在最后减。我一直在思考如果一个蚊子之前就死了,那么在后面的点根本就没有贡献,感觉就不可统计,于是就GG了。遇到期望还是不能怂,还有就是正难则反,补集转化的思想一定要有。
10.29场
开场还是先读题,T1感觉是个排序+双指针,T2感觉很奇怪没思路,T3又是期望。一开始T3看错了,感觉是个简单题,一下就推出来了公式,感觉有问题,重新读题,才发现是1~k,2~k+1...,而我一开始读成了1~k, k+1~2*k...我还正纳闷k是否整除n呢。重新写了一个公式,$O(N^{3})$的,感觉没有必要,既然每个作业的权值是随机的,那每一天的期望相互之间应该没有影响,都是相等的,于是用之前读错题时写下的式子,改了一下天数,发现过了样例,看了一下n最为500,这时m为400,改了一下数组,就跑路了。回头肝T1,ltw和wys已经肝了1个多小时的T1了,我打了1个小时多,有点写不下去的感觉,就又做了T2,c没给数据范围打了30分的$(N^{2}logN)$暴力。再写了写T1,考试就结束了。
期望得分:0+30+100=130
实际得分:0+0+65=65
T1果然不是什么思维难题,只是需要时间实现,细节很多,ltw本来可以考场AC的,结果写挂了。我那天晚上改了一个晚上,第二天早上又改了10分钟才把T1改出来。我的解法是排序+二分,最后还要去重,代码250行左右,这个题是真的大。
T2...c可以是负数...我打的暴力中值域线段树没有负数...正解貌似是线段树合并,考试时也想过先离线,以时间为线段树下标,在树上做线段树合并,但并不知道怎么统计答案,就是不知道怎么去重。其实现在也不知道怎么实现,hfu说线段树合并超纲了不用管,我也就没改了。
T3???这出题人是真恶心,数据范围都没有给对,n为500时,m明明为500。当然也有我的问题,中间有一些点写出了m为500,但我并没有认真看中间的数据范围,只看了最后的一个数据点,于是就被坑了。结论还是猜对了,像这种反正也打不来,不如打一个结论,管他是不是对的,运气好就可以撞到分。具体的证明就有些不会了,好像可以分情况讨论。题解?$O(N^{3})$的蛇皮算法。
10.30场
原文地址:https://www.cnblogs.com/Joker-Yza/p/11771672.html