2021.11.15模拟赛总结

博主参与编程竞赛,分享了从8:30到12:30的时间安排和解题思路。T1尝试利用字符串特性与马拉车算法,T2采用暴力解决,T3构建树形结构解决,T4对题意理解不透彻。对于T2和T3的算法复杂度分析不足导致扣分,反思了在解题过程中应注意算法正确性和复杂度控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间

8:30~8:50

总体看了一边题目,T1字符串||dp,T2除了暴力没什么思路,T3树上dp,T4可能类似于数学问题。

8:50~9:30

T1按照前后若相等能拆就拆的思路去写,想了想大数据,认为可以利用马拉车算法中r变量的用法,但好像复杂度也没快到哪里,就先看了下一题。

9:30~9:50

T2真没什么思路,写了一个n2n^2n2暴力就溜了。

9:50~10:30

设法求出以每个店为根节点的树中,与根节点相距小于等于ddd的节点,构造出一个二维矩阵,表示当前点与其他节点在d范围以内,此时若同一列有2个或两个以上的节点,他们三个就是一个合法的三元组,问题就在树的遍历上,想了想没什么好方法,就直接n遍dfs。

10:30~11:30

T4我语文理解比较差,看了半天没太读懂题意,后来读懂了也不是特别理解所谓的最优策略最优策略,琢磨了一会,决定把15分的特殊情况手推,剩下的数据点直接开!。

11:40~12:30

想了想T2,觉得50分在d很小的时候好像可以把这些点放在一个图中,通过遍历这个200*200的图以及拆解曼哈顿距离来求解(埋伏笔),但复杂度…想了想还是写上去了。

** 12:30~1:00**

又想了想T4的最优,检查了一下就交了。

得分

期望:60+20+30+15

实际 :60+0+15+38

分析

T2后来想到的那种离谱算法不仅没分,还因为数组问题把暴力也拖下水了…

对代码复杂度的分析还是不足,有些算法或函数的具体复杂度要记清楚,在思考的时候要保证算法的正确性,例如今天的T3本来复杂度上没有什么问题,实际上算法本身就存在问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值