"洛谷题目传送门" YCB巨佬对此题有详细的讲解。 "%YCB%请点这里" 思路分析 不能套用静态主席树的方法了。因为的$N$个线段树相互纠缠,一旦改了一个点,整个主席树统统都要改一遍。。。。。。 ~~话说我真的快要忘了~~有一种数据结构,能支持单点修改,区间查询,更重要的是,常数优秀的它专门用来高 ...
分类:
编程语言 时间:
2018-01-21 16:12:48
阅读次数:
187
题目大意:给你一个矩阵T,问另一个矩阵P在这个矩阵T中出现过几次 可以用hash水,常数还小,双hash还卡不了 正解是把P每一行作为一个串,建一个AC自动机 用T的每一行去匹配,维护tot[i][j]表示T中左上角为i,j的T大小的矩阵,出现了T中的多少行 答案为tot[i][j] = x的i,j ...
分类:
其他好文 时间:
2018-01-21 12:25:22
阅读次数:
143
一般情况,我们作左连接 select * from A left join B on A.id=B.a_id;一定认为A就是主表,其实还有另外的情况,我们若将sql改写成 select * from A left join B on on A.id=B.a_id where B.id<cont(常数 ...
分类:
其他好文 时间:
2018-01-20 19:46:27
阅读次数:
286
使用强制转换 i = (const_cast<Iter>(ci)) 会造成编译错误,不能将const_iterator强制转换成iterator。 在STL中,正确的转换方法是: i = vi.begin(); advance(i, distance<ConstIter>(i,ci) ); 这种方法 ...
分类:
其他好文 时间:
2018-01-20 15:04:22
阅读次数:
187
zkw线段树是一种用空间换取操作的简便性和时间常数的线段树。 它使线段树节点的存储位置有规律,从而将线段树的递归操作用循环替代 zkw线段树一般分为有区间修改和无区间修改两种,无区间修改的zkw线段树可以做到O(1)的单点查询,比有区间修改的要快 无区间修改的zkw线段树 建树 下面用一张图解释普通 ...
分类:
其他好文 时间:
2018-01-20 14:07:35
阅读次数:
123
Sort a linked list in O(n log n) time using constant space complexity. 题目要求给定时间复杂度对链表进行排序,但是我个人认为题目要求不是很合理,使用归并排序时间复杂度满足要求,但是空间复杂度并不为常数,所以个人认为这道题不严谨,说 ...
分类:
其他好文 时间:
2018-01-20 14:05:28
阅读次数:
165
1. 定义: STL中的函数配接器,能够将函数子和另一个函数子、常数、普通函数结合起来。 STL中的函数配接器一共有4个,分别是: bind1nd(op ,value) 相当于构成op(value,param),即把value结合成op的第一个参数; bind2nd(op ,value) 相当于构成 ...
分类:
其他好文 时间:
2018-01-19 23:26:38
阅读次数:
156
题意是求多个串的lcs。 这也是道后缀自动机的模板题。对于任意一个字符串建后缀自动机,用其他串查询就行。对于后缀自动机的每个状态要额外记匹配到当前状态的最大长度。 和spoj1811的区别在于这道题不方便后缀数组做。当然,如果不嫌很多个串用奇怪的字符连起来麻烦、判断时常数极大的话,也可以试试。 #i ...
分类:
其他好文 时间:
2018-01-19 15:44:57
阅读次数:
163
CDQ分治是处理数据结构题的有力武器,通俗的讲,它可以替代一层数据结构,从而达到降低代码难度以及常数的作用,缺点是必须离线。 CDQ分治一般可以用来处理偏序问题以及斜率优化DP问题。 与普通分治不同的是,CDQ分治左区间的答案对右区间有贡献,最经典的例子是归并排序求逆序对。 下面先讲讲偏序问题: 二 ...
分类:
编程语言 时间:
2018-01-19 15:44:30
阅读次数:
194
表达式有操作数和操作符组成。 操作数 操作数分为:常数、参数、线网、寄存器、位选择、部分选择、存储器单元、函数调用 常数:表达时间中的整数值可被解释为有符号数或无符号数。如果表达式中是十进制整数,那么被解释为有符号数。 如果整数是基数型整数(定长或非定长),该整数作为无符号数对待。 对基数表示或非基 ...
分类:
其他好文 时间:
2018-01-18 22:04:59
阅读次数:
393