ACM集训_三天后的自闭

自闭了三天。这是我刚入队训练的头三天。第一天上午学了stl的sort函数,虽说入队前就要求去看点相关知识,但我自认为我掌握得不深(可能是懒吧。。),这个sort函数呢,重点就是如何写一个cmp比较函数,之前我用的qsort很不好用,全靠死记硬背,没有一点理解,各种“ * ”搞得人都晕了,于是乎,c++的语法优势就体现出来了,一个结构体的cmp函数,可以直接用注诸如(const xx &a,const xx &b)来实现,若其中的字符数组成员要按字典序排序,可以用strcmp(a.p,b.p)<0来实现,没有了“ * ”号,神清气爽!接着下午开始了并查集的内容,可惜我身体不适,临时请假在寝室睡了一下午。。大概四点爬起,自个学习并查集的内容。总的来说,目前接触的并查集题目都不难,都是模板题,在总体框架已经写好之下,改变一些自由变量即可,一个find函数来找祖先,一个join函数来合并。

第二天,开始最短路入门,噩梦的开始。上午讲了floyd求最短路,这个代码由初始化、读入和三个for循环组成,很简单,缺点就是时间复杂度高,为O(n^3),我也终于解决了hznuoj1023这道题(心疼我以前中规中矩地构造结构体去解还wa了。。。)。下午讲了Dijkstra,中文叫迪杰斯特拉(一直念错),说实话,也不难,但代码略长,我就算努力地边理解边手打出来,也时不时会有错误,在模板题上做做还可以,就怕题目花样一多,就死翘翘了。这个算法同样由初始化、读入和for循环组成,但时间复杂度为O(n^2)(未堆优化)。然后晚上呢,讲了叫什么链式前向星的玩意,没懂(没听,疯狂debug)。。。

第三天,也就是今天,二分法!这个没有固定的模板,它是一种思想,是一个快速的搜索算法,有些看似复杂的数学题可以巧妙地用二分法的思想来ac,比如高阶方程的解,总不能直愣愣地求出解的通式吧?比如hdu的这道题,或者hznu的这道题,后者的二分还要求是最后一项。哎!hdu的oj太可怕了,这么多英文题,我好无奈啊,每次都要百度翻译。

呜呜呜明天开始学搜索了,什么广度搜索啊深度搜索啥的,早有耳闻,但一窍不通,希望我能听懂吧。。。

(小总结)---------------------------------------------------------------------------------------------------------

三天的训练过去了,是我入队以来第一次集训,看得出来,确实有几个人挺强的,可能他们大学前已有基础,或者这学期来,比我更努力。我深知自己已经落下了很多,但我必尽我所能,追赶他们,那么多人都在期待着我,即使不为他人,也要为了自己啊!我不想让未来的我失望。大佬只不过起步比我早而已,尽我所能就行了。keke power!

猜你喜欢

转载自www.cnblogs.com/powerkeke/p/10290246.html