摘要: 堆对于stl priority_queue ,我们自己定义的类自己重载<,对于非自定义类我们默认大根堆,如若改成小根堆则写成std::priority<int,vector<int>,greator<int> >。时间复杂度除了pop push是O(log)外都是O(1)。当然手打会比stl快不少, 阅读全文
posted @ 2017-09-26 20:41 TS_Hugh 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 搜索问题的关键:优秀的搜索策略以及行之有效的减枝 对于这道题我们阶乘搜肯定不行所以我们按位搜,我们对每一位的三个数进行赋值,然后判解。 对于此一类的搜索乘上一个几十的常数来减枝往往要比直接搜要快得多,因为这样的问题他们都会有一个庞大的"之后",而且判断不存在较为容易,以我们多花一些时间进行减枝往往能 阅读全文
posted @ 2017-09-26 17:27 TS_Hugh 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 树状数组一个被发明以来广为流行的数据结构,基于数组,核心是lowerbit()操作。他向前lowerbit()操作为前缀,向后lowerbit()操作为上辖,我们运用树状数组都是使一个由O(1)变为O(log),一个由O(n)变为O(log),有两种类型一种是上辖修改前缀查询,典型的为前缀和,前缀最 阅读全文
posted @ 2017-09-26 17:02 TS_Hugh 阅读(401) 评论(0) 推荐(0) 编辑