摘要:
实现功能——1:区间加法;2:区间求和最基础最经典的线段树模板。由于这里面操作无顺序之分,所以不需要向下pushup,直接累积即可 1 var 2 i,j,k,l,m,n,a1,a2,a3,a4:longint; 3 a,b:array[0..100000] of longint; 4 ... 阅读全文
摘要:
实现功能——1:区间覆盖值;2:区间求和相比直接的区间加,这个要注重顺序,因为操作有顺序之分。所以这里面的tag应该有个pushup操作(本程序中的ext) 1 var 2 i,j,k,l,m,n,a1,a2,a3,a4:longint; 3 a,b,d:array[0..100000]... 阅读全文
摘要:
实现功能——1:区间加法 2:区间乘法 3:区间覆盖值 4:区间求和这是个四种常见线段树功能的集合版哦。。。么么哒(其实只要协调好三种tag的关系并不算太难——前提是想明白了线段树的工作模式)代码长度几经修改后也大为缩水还有!!!——通过BZOJ1798反复的尝试,我的出来一个重要结论——尽量减少p... 阅读全文
摘要:
实现功能——操作1:将两个数字合并到一个集合内;操作2:判断两个数字是否在一起第6行是亮点,这个优化能快出不少,真的 1 var 2 i,j,k,l,m,n:longint; 3 c:array[0..100000] of longint; 4 function getfat(x:lon... 阅读全文