学习日记5

来源:互联网 发布:ubuntu怎么移动文件 编辑:程序博客网 时间:2024/06/05 01:20

      今天中午复习了一下图论的知识,只复习了一下欧拉回路,哈密尔顿环,弗洛伊德算法。并且尝试这做了一道题,一道需要找出是否有负权回路的问题,这道题本来是理解错意思了,理解成能否找出欧拉回路。。。后来看了题解改正后,过了。在中午回宿舍没事时,我把并查集的知识看了看,只看了kruskal算法,没看prim,导致我下午做并查集的题都是用的kruskal算法。

      下午做了两道并查集的基础题,都差不多,不过,下午杭电炸了,一直不能提交上去,这两道基本就是模板题改一下就行了,其中一道因为输出不对,提交了很多次,因为在最后输出完之后不能加换行,而中间有换行,好久没做这种题,忘记写了。还有一道就是模板题,但是因为打代码打累了,把变量i , r, j 什么的搞错了几个,一直运行错误,其中这个题的代码,我是复制的上个题的,改了几个地方,导致数组开的小了,也出现了各种错误,知道我重新按照这道题,看了一遍代码,彻底改了一下,才ac。

      在期间看了两道题,其中一道时用dfs和bfs一起解题的那道题,一道是套用弗洛伊德算法模板的一道题,先说那个套用模板的题,那道题先是自己算出边的权值,再用数组保存好,开始套用模板。那道综合的搜索题,废了很大劲才明白怎么做,bfs好些,只是普通的走迷宫,按照套路来就好了,那两个一直靠右或者左走,可有点不好弄,我是想的用if分类,根据起点位置的不一样,每次进行dfs先开始的方向也不一样,里面四个步骤的顺序根据左右来区别,但是感觉这样太麻烦,要写好多代码,这个题很早就开始看和写了,最后晚上看了题解,原来其他人也是这么想的。。。但也是有的代码长,和我想法一样,有的短,最短的晦涩难懂,我借鉴了一个写的不错的,过程清晰明了的,改善了一下过程,但还是有地方做了,比如,在bfs中,步数加一的地方,我记错了前面的步骤直接++了,导致我看了好久,改了好久,最后终于ac。

     五天过去了,就是感觉背疼。qaq。。。

原创粉丝点击