2021.2.24 模拟赛总结

时间安排

7.30-7.35 审了T1,思路看完就有了,分两半做,前一半dp,后一半多重集组合计数

7.35-7.50

写T1的上述想法,朴素的写了一下两部分
算了一下复杂度
前半部分的dp空间复杂度m3可过,时间复杂度m4不可过,需要优化,但很显然可以拿个前缀和搞一下
后半部分的组合预处理一下阶乘和逆元即可,空间复杂度O(n+k),时间复杂度O(m*w),均可过
那这个题已经可A了,但为了避免我前一部分就已经写错,加了优化后,代码复杂而导致Debug的难度,所以我决定先对拍

7.50-8.00

瞎写了一个甚至拿不到分的dfs,不过无所谓,拍出来n=m时我的多重集会出错,特判一下就没大问题了

8.00-8.10

继续对拍的同时进行优化dp,前缀和很快就写完了,简单调试后过了样例

8.10-8.20

将优化前后程序对拍大数据,无误
同时造了极端数据进行测时,无误

8.20-8.30

向后推T2,暂无想法,仅想到了最基础的30分暴力Kruskal

8.30-8.45

写完T2暴力,开始向后推T3

8.45-9.00

T3也只会n^4暴力
如果暴力判断每个位置能不能放下船,复杂度n4,如果用bitset预处理一下二维位置,O1判断,那预处理也是n4的复杂度
如果融合一下呢,我只用bitset压一维,另一维在判断时用,这样就可以把复杂度均摊下来了,应该是n^3的,也许可过…?

9.00-9.20

实现上述想法,已经得到了哪些位置可以停船,思考如何统计答案
应该也挺好实现的,同样用bitset,找到所有位置或一下就行了

9.20-9.35

完成整题,测时无误,准备对拍

9.35-9.50

写了一份T3的暴力程序

9.50-10.40

进行对拍,发现错误
1.边界错误
2.bitset我用s|=(1<<i),就会炸掉,直接s.set就好了
3.bfs写错
4.sb了,测时用的sol800ms 我看成了用了1800ms,吓了一跳
测时无误,对拍无误

10.40-10.45

当前期望到手230,只剩T2,但没思路

10.45-11.40

摆烂了,感觉T2像是个莫队,再拿个什么可持久化维护一下,但是我不会,第二档分我也只会维护加点而不会删点

赛后总结

期望得分 230
T1 A了
T2 确实不会
T3 没算bitset 的复杂度,我以为是O(1)的,总复杂度O(n^3)的,就挂掉了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值