3/3考试总结

时间安排

7:30–7:50 看题,怎么感觉三道构造,T3 貌似有网络流背景。
7:50–8:30 T1,有一些简单的性质,缩减两端点后枚举一下翻转的区间就可以了。然后花了一点时间写 spj 调试。
8:30–10:20 T2,比较纯粹的构造题。有网络流做法,但是复杂度过于紧,空间也卡的很死,估摸着也就比手玩多个 5 到10 分左右。考虑构造,手玩一下没找到什么规律。琢磨样例发现有几个比较固定的方案,于是把这些方案拼起来。细节一大堆写写写写到 10:20 。直接去看 T3 了。
10:20–11:30 T3,状压是好求的。考虑更高的部分分,显然可以用网络流求个最大独立集什么的,然后 dfs 一下发现不是二分图,于是就不会了。想了想不可能裸上网络流,应该是有性质什么的,瞪了一会没瞪出来。
11:30–11:50 回头看了一眼 T2 ,随便玩了几个小样例发现好像有反例,但是没什么规律性,好像也没法变成系统的构造方案。

回顾反思

T2:
赛时一直在找规律的构造。
然而事实上赛后参考了一下同学的做法,发现就没啥规律,对小数据硬打表然后把小规模的方案拼起来。
还是要勤于动手去搜。
一个人类智慧的点是,用单位长度为 4 的规模取拼的时候可能会遗留一些不够 4 的很小的空隙,小的空隙不好归纳,可以考虑牺牲一些已经拼好的位置将其规模扩大 4 然后做。
T3:
没有发现边的传递性。
发现边是传递闭包后,可以钦定一个边的方向,于是由无向图变为dag,变成了求最小链覆盖问题。
于是就可以建出拆点二分图的模型了。
最小链覆盖的模型不太熟悉。这种性质的敏感度要加强一下。
这个可以网络流解决。不过需要优化。
一个神奇点是,尽可能贪心的匹配后,剩下的未匹配的点数量是 n \sqrt n n 级别的。这个题解里没有给出证明,我也不太会证。
以匈牙利算法为例,增广的过程中,一个优化是,对于一个点 x ,有若干出边 y ,那么之后递归到点 z 时的增广无需再考虑出边 y 。因为传递闭包,z 考虑出边 y ,不如 x 考虑出边 y 。于是一次増广中每个点的出边只被考虑一次。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值