整体总结:
1.部分分给到的时间不够 T2 40分没写完 T3 20分没来得及写 主要原因是T1想了很久
2.在看完所有题后可以从自己觉得最好写的部分分开始写 例如今天我先写了T4的50分
3.在自己想到一个结论但是不知道是不是对的的时候可以先打出来再看对不对 例如今天T1 T2的思路都是已经想到了 但是实在有点怪 不太符合正常 所以认为它是错的 反复思考了很久
4.找时间可以记录下自己所做过的觉得很好的结论记录下来 今天T4的转化其实就是寒假集训时讲过的题差不多的转化
T1
神题 赛时写了很久 结论不会证明 通过瞪样例+画出样例的图就可以看出与2的次幂有关 然后这个问题是一个经典的二分图模型 想到拆点转化就很容易想到连通块了
T2
赛时想到了有可能可以将两边反着走 但是认为是错的 其实只要画一下就会发现这个是平凡的 并没有办法可以hack掉
然后就可以直接从两边开始往lca跳就行了
T3
扫描线一直不太会 想到了是对于合法的形状进行考虑 但是不知道怎么维护 原来可以将曼哈顿距离转为切比雪夫距离从而将菱形转为正方形 这样就可以扫描线维护了
其他的地方直接拿几个指针扫一下就行了
T4
赛时写了一个50分的暴力dp 在这种情况下尽量把数组开成能过的部分分的最大值 不要开大 可能会爆空间(盗别人的经验) 如果要开大就要滚动数组
先考虑将其优化到70 我们考虑一个经典问题-管道取珠 我们可以将平方拆成选两个数 我们考虑对于一个长度为k的数组 我们在中间放两个小球 这样放方案数是k平方的 这样就可以转化掉一个循环
对于这个我们考虑这个转移其实是两种情况 j>=x 或 j<x 第二种情况显然是简单的
对于第一种情况我们可以考虑dp出它对答案的贡献系数 然后和前面的一起统计就行了