整体总结:
1.部分分仍是一个大问题 在部分分的情况下容易写炸
2.以后尽量把最后1h的时间全分配给打暴力 时间少了容易写炸或者写不完
3.少用unordered_map
这东西太慢了 OJ的机子能把这种写法卡炸 尽量使用gp_hash_table
常数小 时间复杂度非均摊所以不容易被卡
4.以后一定要在本地自己造大数据跑 要确保不会超时 如果感觉很悬可以评估一下评测机的性能再适度卡常
T1
在草稿本上推导了一下发现是个dp 写了个转移 拿unordered_map
维护了一下就过了 我原本的状态设计和题解是一样的但是被大样例卡了 后面多记录了一个数组才过 好像我是唯一一个设dp_{i,0/1/2}的
T2
这种题目很容易想到可以二分 考虑如何check 我们把图画出来就可以发现其实建出来的是一个内向基环树森林 考虑经典套路 将环上的每一个节点为根的树统计 分讨一下其实只有两种情况 直接讨论+指针优化查找可以做到 \(O((n+m)log2(m))\)
T3
赛时打了三个性质 挂了两个 只拿到了最简单的一个性质 一个无解判错 一个实现有问题 要加强部分分
我们考虑对于原序列的最大子段和和取出区间的子段和讨论一下 先不考虑最大子段和唯一的情况 显然是简单的 直接拿最大子段和减去子段和即可
再考虑唯一的情况需要在序列上进行分讨 直接线段树维护区间子段和即可
T4
赛时没看懂题 其实自己画一下样例的矩阵就很好理解了 直接分析性质得到输出2得五分
分析完后需要许多群论知识来推导(