训练日记-4

来源:互联网 发布:windows安装清理工具 编辑:程序博客网 时间:2024/05/18 22:40

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

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