首先,树链剖分本身内容并不太难,但树链剖分要运用到线段树的内容。初学线段树时便遇到许多问题的,代码调试很久找不出错误,于是这次树链剖分多多少少有些害怕。所以基础常用的知识一定要掌握牢,如dfs,bfs,线段树等等。前面的内容不掌握扎实,会影响后面的学习。
其次,写代码不仔细很大程度导致了我写线段树的代码总是错,每次dbug好久才发现原来是右子树打错,又或者是mid写错m,又或者是参数位置没对齐(由于函数太多,参数也很多,且要反复调用函数,所以一错可能错很多)等等。所以一定要仔细地写代码,争取实现bug—free。
最后,在写树链剖分题目时,看到一个题目我无法及时针对题目要求适当更改代码实现其功能。所以,要真正掌握一个知识点还是要多做题,才能对同一类型的不同题目,根据要求快速作出更改,真正理解这一类题目。