1221模拟赛
这场模拟赛T1用了1个半小时,最开始想了个思路就开写,最后发现不对,调废了挺大劲,这警示我们想一个思路要确保它对了才能写,要不然容易寄。
然后就开始打T3,最开始想正解,未果,又是自以为对,所以要像仔细了再整啊!尤其是能手模的样例还是要手模一下啊!花了将近一个半小时,实再是有点长了,T3切不了正常,涉及到一个trick,暴力应该仔细想想,有可能想出来的25分。然后T4没看,这挺不好的,要是仔细看看有可能还能拿20分暴力,哎!
T3的trick:要求极差最小可以枚举最小值,指针只往一个方向推最大值,然后再中间计算。
T2:首先\((abc)^2=a^2b^2c^2\),所以可以将每个异或区间单独抽出来平方再乘再加,式子:

然后发现这样时间复杂度不行,由于异或,可以往按位上考虑,首先考虑没有平方情况,可转化成:
当有了平方,考虑二进制乘法性质:如果乘积的二进制第k位上为1,则两个乘数必有一个二进制p位为1,二进制q位为1,且\(p+q=k\),所以可转化为:
由于要维护i前面一堆\(f_i\)的和,所以定义一个\(w_{k,e,p,t}\)表示某数k为e,p位为t的\(f_j\)总和,用它转移\(f_i\)。

浙公网安备 33010602011771号