随笔分类 - 杂项
摘要:有助于复杂度分析的一些小技巧 本文考虑一个严格大于等于的上界,然后加以感性分析。本文仅考虑最坏情况并忽略可忽略的常数。 按单元分析 也许你可以弄一些什么高级的东西去弄,但是既然是技巧就是简单点的东西。 你可以考虑每个点最多提供多少的复杂度贡献,然后累计分析。 例1:分析线段树合并的空间复杂度,如果我
阅读全文
摘要:我们发现有的时候我们莫队不方便维护加或减中的一个,只方便维护另一个,我们就要考虑另外一种更加针对化的莫队。 回滚莫队 先开一个例题 「JOISC 2014 Day1」历史研究 题目大意:一个序列,多个询问。每次询问一段区间 ,定义重要度为一个数出现次数与其权值的乘积,求区间中的重
阅读全文
摘要:由于算法基于随机,不适宜作为题目正解,但在参数调得好的时候可以得到较高分数甚至AC,用于实在迫于无奈时的算法或暴力算法范围外的骗分算法 典型的邪教算法(我就喜欢邪教的) 基本思想是随机转移,从而确定最优解,大多数用于计算几何(但其实你如果够牛也可以在其他情况下用来骗分) 基本的实现步骤是: 1.取一
阅读全文
摘要:做了相当一部分的退火题练手,现在才算刚刚入了门。 于是做一个经验总结。 随机函数 有没有觉得 莫名的不好用?我们在此为您推荐 在支持 的环境下,可以生成更大的随机数,而且更快,岂不美哉? 实用展示 mt19937 rd_ori(ti
阅读全文
摘要:随便提几笔吧,时间不太充裕就不写太多了。 就是在区间的基础上再加上一个时间。 来个例题 数颜色|维护队列 直接就是考虑按照 所在块, 所在块, 的优先级排序,然后可以证明在块长取 时最优,可用最劣情况证明其复杂度。 然后就是
阅读全文
摘要:引入 如果你已知一个序列,你已知其 的区间和以及原序列,现在要你求的区间和,你会怎么办? 显然我们可以在 的基础上加上原序列的第 7 位,就得到了 的区间和。 同理,如果我们需要求出 的区间和,我们只需要在
阅读全文
摘要:思想就是分治! 然后就是每次二分区间,然后在分治统计左右区间之后,考虑统计跨越左右区间的数对。 给个模板题 陌上花开。 我们对于这个三维偏序问题,可以考虑CDQ分治。 先对于原序列按照a,b,c排序,这样保证a的单调增。 然后分治,对于每个小区间按照b,a,c排序,这样在右边区间的a大于左边区间的前
阅读全文
摘要:概念 中缀表达式 就是我们平时用的式子。 前缀表达式 也叫波兰式,除了处理顺序与后缀表达式相反(从右往左),其他完全一致。 后缀表达式 也叫逆波兰式,从左往右处理,如果扫到数字,就把数字入栈;如果是字符,那么从栈顶取出两个数字进行运算,在将计算结果入栈。最后栈中的元素为结果。 表达式转换 前、后缀转
阅读全文
摘要:对拍模板,很好理解,就不多讲了。 #include<bits/stdc++.h> using namespace std; int main(){ while(1){ system("data.exe > data.in"); int t=clock(); system("hard.exe < da
阅读全文