2018/3/29
1 算法:看的图论,最小生成树Kruskal算法,Prim算法还没有看完。
2 做题 :
hdu_1232畅通工程(并查集);hdu_1863畅通工程(Kruskal+并查集最小生成树)
2018/3/30
1 算法:prim,看了好几遍
2 做题感受:最小生成树,处理邻接矩阵比较方便。看了一天半终于把prim和Kruskal算法过了一遍,算法思想基本理解,在做题的时候,遇到输入比较复杂的,就无从下手了;
比如Kruskal我只会用结构体来做,输入变成邻接矩阵我就不回了。上午查了一下二维数组的sort排序时间太短了,还是决定学会prim算法,来解决最小生成树。
3 总结,前辈说了很多经典的并查集的题图论题,和最小生成树的题,自己一定要去做,总结出规律,熟能生巧。
解决一类问题时,一定不要死抠这那道题不放,看大神的博客也不要只是懂了,这道题解决的代码,知道要用的算法,把最基本的解决算法学会,再回过来看。
下午:目标 A 掉 5~10个最小生成树的题,掌握Kruskal 和Prim的用法。
想看优先队列
2018/3/31 搜索最后一天
1 昨天总结:昨天又做了一些最小生成树的题。晚上做一个考察并查集判断欧拉回路(通路)的题目,题目的那种输入格式没怎么见过。而且判断欧拉回路的方法也有些忘了,做的特别沮丧。
2 今天上午目标:最短路径的算法,Dijkstra算法和Floyd算法。
下午看动态规划+整理贪心,图论模板。
上午:昨天晚上那道题hdu_1272 OK了,感觉对并查集的理解有上升了一个层次;
下午:看的Dijkstra和Floyd算法,有了之前算法的基础再加上模板书,复习起来很容易。又照着模板,打做了几道小题,需要注意的问题就是,循环变量从哪里开始,哪里结束。
2018/4/1
周赛,10天前了。这次感觉比以前配合的好。
现在做的题还是比较基础,做的时候还花了很长时间,要是难一点估计就做不出来几道了。
2018/4/10
好久没有写做题日志了,之前的模块是数论。我看得都是比较基础的数学问题,数论是数学的一个分支,图论也是。数学真是博大精深。一个中国剩余定理,就把我给难到了,看大神的博客中说用求逆元的方法,选拔赛之前就,不会求逆元,现在看还是很蒙,不过有几个公式很好用,用对了,求得效果和逆元是一样的,人家算法实现逆元求解,我全是套着公式,手动出结果。
还有康拓展开,模板打出来了,至于原理还是蒙;
组合数,有三种方法,普通的一次性,数组打表,大神写的运用逆阶乘来求。具体操作实现的数都不大,要是带取模的还能算的范围大一些;
数学函数的用法,log至于换底公式,我就蒙了;还有一些三角函数,目前没有遇过;
经典的数学公式题,得公式者,就很好解,找不着公式,手工模拟加暴力;
、、、、、、、、、、
现在_图论的第三天,图论总共有四天的时间;
我的时间不多了,本来是两个人来图论的,图论里面也有很多有搜索,这个另外两个队友快包圆了。
我现在也不知道我能看啥,说的自己好laji。
目标:现在就一个算法一个算法的看,精通这个算法的一类题,为队友准备好模板。
2018/4/11
今天是图论的最后一天。集训的计划虽然只有4天,对我来说 4天是远远不够的。图论的思维,在之后的训练中,也要培养好。
昨天看到一片大神的博客,他以一个acm过来人写的。做题的时候最好不要去直接搜代码,而是把问题想清楚,思路想好之后,自己用代码实现。有一些题我们想不到合适的算法,需要我们去学习掌握这种算法,再去做对应的题目时,就会得心应手。
我们学长也说过,做题时一定要锻炼自己的思维能力,不要一遇到不会的题目就直接搜代码。有的题也许过一段时间再看,就可以解决了。
我现在终于知道自己的问题了,不是因为题目变难了,而是自己掌握的算法,了解的知识面太窄了。
2018/4/12
数据结构总共有三天,今天是第一天_结束(时间好快Q^Q)。
1.今天成果:
上午看的双端队列,整理的基础操作代码;解决了一道括号匹配的基础题;
下午完善了双端队列的模板,看的优先队列,析构函数,整理想要学习的知识点;
看的哈希散列与之前学的散列方式有些不一样,看到学长分享的资料有些没看懂。
晚上做一道简单的二叉树题目时,以前学过的构造和遍历二叉树全忘了。看了别人的代码,掌握基本的思路后明天再自己实现。
2.发现问题:
有些代码写的很简单,但与以前学的不太一样,对那些精简的代码,懂其中的思路就好,并不提倡使用它们。
因为这样的代码不够经典,针对性太强了,只是对于某一道题适用。
有些时候对于一道题目来说,自己真的是毫无头绪,一点思路也没有。有时候看了别人的代码,才知道这道题的解题思路。
我觉得最好不要直接去看别人的代码,知道了考察的知识点后,学会对应的算法,自己设计程序,我觉得那样是最有趣的时候。
3.明日目标:多掌握算法思想,学会kk想学的知识点,自己动手实践题目;
2018/4/14
1.并查集删除元素;
3.晚上整理模板了,很多算法还要仔细琢磨,添加一些注释,之前写模板的时候很熟悉没怎么写注释,现在要看好半天T_T;
明天第二次周赛加油!明天上午英语竞赛,我现在的英语水平去了也是打酱油。