
----------其他----------
文章平均质量分 57
linkfqy
A link to FQY.
展开
-
莫队算法
【前言】莫队算法(Mo’s algorithm)是由莫涛队长发明的,一种处理区间问题的离线算法,由于其代码简便,常数巨小,适合各种打暴力。另:关于带修改的莫队,可以看这里【做法】前提:如果已知区间[L,R]的答案,可以很快(log或常数级别)地得到区间[L±1,R±1]的答案。 对于区间询问[L,R],我们可以先读进来所有询问,按照某种顺序依次处理(线性移动L,R端点),就可以得到所有询问的答案。原创 2017-04-26 21:52:41 · 1667 阅读 · 1 评论 -
C++ STL nth_element原理与应用
LZ最近的考试中,某题可以通过调用nth_element()来水过70%的数据 但是LZ并不会啊(历史总是惊人的相似) 于是就有了这篇blog在编写代码时,有时会有“在一个无序表中快速得到第K小的元素”的需求 而直接排序 不能水过一些测试点 时间不能承受 于是STL的algorithm头文件就给我们提供了nth_element()这样的部分排序函数调用的正确姿势是这样的:nth_elemen原创 2017-07-09 08:57:23 · 10714 阅读 · 3 评论 -
C++ bitset使用教程
前言话说昨天考试有一道题目,可以用bitset艹过去 可是LZ并不会啊……于是只好打暴力…… 结果可想而知…… 于是LZ下定决心一定要把bitset学透 然后……就有了这篇blogbitset定义与初始化bitset是用于记录01串的容器 也就是bitset的每个元素只能为0/1用bitset之前别忘了:#include<bitset>以下是正确的定义方式:bitset<16> a; /原创 2017-07-06 19:34:55 · 2475 阅读 · 3 评论 -
模拟退火与爬山算法
前言最近学习了一些元启发算法,感觉这些算法的原理都挺有趣的 结合了物理,生物学的现象 (不得不感叹一下前人的脑洞)爬山算法先来讲下爬山算法。考虑这样一个问题: 假设有一个函数 f(x)f(x)如何求它的最大值? 画出它的图像如下: 每次在当前位置的两侧判断是否比当前更高 就像爬山一样往高处爬,最终会到达一个较高的位置但是这通常不是整体最优解,而是局部最优解 像这样: 登山者到原创 2017-07-18 22:38:57 · 5973 阅读 · 4 评论 -
整体二分小结
最近做了一些整体二分的题目,对此有一些体会,在此小结。一般的二分答案算法每次只能处理一个询问而整体二分是同时对所有询问进行二分的算法。一般来说,整体二分的思想如下:定义divide(L,R,S)divide(L,R,S)表示答案在[L,R][L,R]范围内的询问集合为SS往往会有一些事件对答案产生贡献考虑[L,mid][L,mid]中所有事件对每个询问的影响然后根据询问的限制,将所有询问分至S1,S原创 2017-10-06 14:00:42 · 735 阅读 · 0 评论