随笔分类 - 数据结构 树状数组
摘要:【算法】离散化+树状数组(求逆序对) 【题解】经典,原理是统计在i之前插入的且值≤i的个数,然后答案就是i-getsum(i) #include<cstdio> #include<algorithm> #include<cstring> #define lowbit(x) x&(-x) using
阅读全文
摘要:【算法】(manacher+贪心)||(manacher+DP+树状数组/线段树) 【题解】 manacher求回文串,后得到线段,做一点计算映射回原串线段。 然后问题转化为可重叠区间线段覆盖问题,可以贪心解决。 排序左端点,同一左端点取最长段,然后在此段中找到右端点最靠右的线段,线性更新并累加。
阅读全文
摘要:【平衡树】★平衡树 by onion_cyc 【莫队算法】 问题:给定长度为n的序列和m个区间询问,支持快速增减相邻元素维护区间信息。 将询问按左端点分块,块大小为$Q=\frac{n}{\sqrt m}$,块内按右端点排序。 然后依次回答询问,需要O(1)从(l,r)转移到(l,r+1),(l,r
阅读全文
摘要:【题意】两种操作,[L,R]种新的树(不覆盖原来的),或查询[L,R]树的种类数。n<=50000。 【算法】树状数组||线段树 【题解】这题可以用主席树实现……不过因为不覆盖原来的,所以有更简单的方法。 括号法,对于每个K=1的操作标记左右括号的位置。 对于每个K=2的操作,答案就是right前面
阅读全文
摘要:【算法】 【算法】网络流 【算法】树 【算法】数学 ————【专题】生成树计数(矩阵树定理) ————【专题】计数问题(排列组合,容斥原理,卡特兰数) ————【算法专题】卡特兰数(计数数列) ————【专题】数论 ————【专题】概率和期望 【算法】动态规划 【算法】数据结构 ————【专题】平衡
阅读全文
摘要:【算法】二维树状数组 【题解】 1.树状数组尽量不要出现0,因此所有坐标+1 2.面积求法(默认1开始):(x1,y1)(x2,y2)=sum(x2,y2)-sum(x1-1,y2)-sum(x2,y1-1)+sum(x1-1,y1-1)[sum表示(1,1)(x,y)] 原来这个也算树套树……树状
阅读全文

浙公网安备 33010602011771号