===== 赛中记录 Replay ===== 12:00~13:00 开场后,hqy从前面看题,很快确定了C题,jrt和lcj主要来思考F题,hqy和jrt简单讨论了一下C题的构造方法,然后hqy上机写C题。 13:00~14:00 hqy通过了C题,开始思考G题。jrt上机开始写F题,但WA了一次,这时候换hqy上机写G题,jrt静态debug,hqy在13:30左右通过了G题,这时候lcj指出了jrt程序中的bug(在dirt中分析),jrt再度修改程序,很快也通过了F题。 14:00~15:00 hqy和lcj讨论J题,并逐渐思考出了一个dp做法,复杂度接近时间限制。之后,jrt和hqy也开始讨论K题,hqy发现了K题异或和的规律,但是K题中关于如何动态查询一个区间中所有数重复出现次数选两个的方案数这个子问题的解法一时没有思路(最初打算用主席树,但是发现那个只能知道区间中出现至少一次的数的种类数,并不能知道子问题的答案)。 hqy上机开始写J题。 15:00~16:00 J题超时了(超时原因见Dirt)。这时jrt再次估计了一下复杂度,发现其实不用主席树,可以用莫队来做,于是换jrt上机写K题。 16:00~17:00 K题提交后始终WA(原因见Dirt)。 ===== Dirt记录 ===== F题的bug,忘记讨论n=1的情况,此时时候用链表会出错,实际上并不能得到糖果。 J题超时的原因,endl太慢了,在使用cout的时候,应该是使用`\n` K题WA的原因,由于每个人取石子不能一下子把整堆都取走,所以应该是-1之后再求异或前缀和,所以考场上求得前缀和是错的,剩余的部分,算法是正确的,不过las数组开小了,所以补题的时候刚开始也是错的,后来改了过来。