20170706总结
今天学习了一些较为冗杂的小知识点。首先介绍了c++的stl库和algorithm。这些库里的东西虽然好用,但是从空间上和时间上来看,大多数不如手写,有时候为了降低代码复杂度可以使用,但是不能用多了,否则MLE,M得太多甚至会成WA。stl库里有个角bitset的东西很玄学,和分块一样,它可以强行优化暴力,在某些问题上有大用。接着讲了k维偏序。口诀:一维排序,二维分治,三维数据结构。三维在分治的基础上套了一个树状数组或线段树,四维则类似,只是数据结构变成了树套树,代码复杂度应该很高。五维及以上若再套一层树,时间复杂度还不如暴力,因而应该直接暴力,这里就可以用前面讲得bitset优化了。k维偏序的题不太好写,可以多做做题,其中三维和五维最具代表性,可以见识一下。