训练日记-4

这篇训练日记记录了作者在解决两道DFS(深度优先搜索)题目时的经历。一道题涉及将点分组并最大化组间距离,另一题是9x9数组的填充问题。在第一题上遇到困难,经过思考和参考题解才理解到正确策略,即在数字换组时更新权值。作者意识到自己对DFS的掌握还需提升,并计划加强这方面的练习。

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

       今天由于家里有事的原因只刷了两道题,今天这两道题都是DFS深搜题。其中一道为将N个点分为两组,要求求这两组点之间距离的最大权值问题;另一道为一个9*9的二维数组补充数字的问题,要求每行、每列、每小3*3数组中的数字都由1-9组成。做DFS题还不是特别有思路,尤其是对于第一道题,刚虽然猜到了要用DFS,但是刚开始完全没有思路,想了半天终于有点思路后,然后就开始写,写完了大体框架了,在写主要函数体的时候,边想边写,然后发现自己刚才的思路并不对。在后来再怎么想有没有想出正确的思路来,然后只能求助于题解大大,才发现这个题的巧妙之处。在每个新数字从一个组转移到另一个组的时候,只需前一个状态的权值减去这个数与刚加入的这个组之间的距离,然后加上这个数与离开数组中数字之间的距离即可,这样一想,这道题就很容易解决了。

       通过做今天这两道DFS题,发现自己对DFS的理解还是欠佳,以后尽量加强这方面的训练。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值