kk-acm-日志

算法学习笔记

2018/3/29 

1 算法:看的图论,最小生成树Kruskal算法,Prim算法还没有看完。

2 做题 :

ny_20吝啬的国度;  xynu_1345 dfs遍历

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.并查集删除元素

2.RMQ算法  ;nyoj 119_士兵杀敌(三)

3.晚上整理模板了,很多算法还要仔细琢磨,添加一些注释,之前写模板的时候很熟悉没怎么写注释,现在要看好半天T_T;

明天第二次周赛加油!明天上午英语竞赛,我现在的英语水平去了也是打酱油。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值