随笔分类 - 线段树/树状数组
摘要:Algorithm:树状数组优化DP 性质:相同数对少,实际状态少 朴素dp:dp[i][j]=max(dp[k][l]+2)——如果a[i]==a[j] 由于每个数字最多只出现4次,所以数对数量不超过C(4,2)/4 1e5 f[k]表示dp[a[k].first][a[k].second],用一
阅读全文
摘要:T1:动态规划,f[i][0/1]表示前i位,最后一位是否是c的方案数。 曾经妄想用组合数学去算,由于无法解决重复计算问题最终放弃转而思考动态规划,成功AC 代码略 T2:数学+卡时限 简单的“变化求和顺序” ,经典变形: $\sum_{i=1}^N \sum_{j=i}^N$ = $\sum_{j
阅读全文
摘要:吉司机最经典的应用,区间最值更新 "HDU 5306" 其中对最大值和次大值及其个数的维护方式值得学习
阅读全文
摘要:线段树/标记永久化 复杂度 $O(nlogn)$ 题解有误,并非所有与线段树节点[l,r]相交的所有区间[s.t]都要存入vector 插入区间[s,t]时,我们覆盖了一段完整的区间,如图 实质上是覆盖了表面的一层,即标记不下传 故我们merge时要考虑每一层的vector 插入时,如果两个区间恰好
阅读全文
摘要:也叫小清新线段树,用于解决区间最值修改问题 具体可以参考jiry_2神犇的集训队论文和WC2016上的PPT 此题就作为模板好了,模板的话写法是比较精妙的
阅读全文
摘要:线段树 $O(nlogn)$ 本来是做过这道题的,原题是POJ2528 Mayor's posters 但是POJ上的数据有问题,导致我以为自己AC了。像这种区间的题尤其要注意离散化时要离散化左右边界 举个洛谷上的例子 回顾这道题,因为是区间修改,所以可以用线段树。查询答案时既可以递归到叶子节点再返
阅读全文
摘要:RT 复杂度 $O(nlog^2n)$ cdq一个nlog,树状数组一个log,排序的话此题用归并排序会更方便,因为 using namespace std; define go(i,a,b) for(int i=a;i=b; i) define mem(a,b) memset(a,b,sizeof
阅读全文
浙公网安备 33010602011771号