20170627总结
20170627总结
今天进入真正的图论,复习了DFS序、LCA和最小生成树。LCA的两种方法,倍增写得很熟,RMQ则不那么熟练,学长提及了玄学的ST表,于是又把这个构造O(n)查询O(1)的神奇结构复习了一遍。我记得RMQ除了线段树,树状数组和ST表以外,还有一种叫莫队的东西。我九上的时候接触过,现在都忘完了,期待过几天讲数据结构的时候能遇到。关于最小生成树,虽然知道kruskal和prim两种算法,但是自己感觉这个东西如果研究深了也是很棘手的。比如今天的例题NOI2014魔法森林,虽然费劲脑力听懂了思路,但是自愧写不出来,对代码要求很高。增量最小生成树和次小生成树我都在CSDN上看了博客,思路清晰了,但是不知道写的时候会不会出问题。学长最后讲的有向图最小生成树,即最小树形图,我没听懂,因为时间匆忙,也没有问,得多研究研究CSDN的两篇博文。
下午考试三道打baoli居然还得了130,意料之外。三道题都比较难。T1和货车运输很像,因为写过货车运输,惯性思维就想到LCA,事实证明我想复杂了。这道题多用笔画画图应该能想出正解。T2也是差一点想到正解,也是想复杂了。这里我总结出一种化繁为简的思考方法,即不要全面地考虑整个问题,应该把它分成子问题,逐个击破,而且想一个子问题的时候就不要受另外子问题的干扰。这道题我做复杂了,写了一个SPFA,两个BFS,一个DFS才写出来,不过我能在40分钟把它写和调出来还是值得欣慰的,看来多考考对代码能力提升很大。T3貌似数据有些问题,到现在还不知道怎么做,等明天大神讲。