制作网站的模板下载,网站升级维护中 模板,市场推广的方法和规划,wordpress分类的id几乎所有种类问题都可以转化成两种模型之一 1.直接维护ans数组 2.统计二维数点问题
前置知识
二维静态数点
以y为第一元素#xff0c;x为第二元素#xff0c;原点优先级大于查询点#xff0c;对所有点#xff08;原点查询点#xff09;#xff0c;然后求 for(int i1;…几乎所有种类问题都可以转化成两种模型之一 1.直接维护ans数组 2.统计二维数点问题
前置知识
二维静态数点
以y为第一元素x为第二元素原点优先级大于查询点对所有点原点查询点然后求 for(int i1;iq;i){if(q[i].tag1)add(q[i].x,1);else ans[q[i].id]q[i].m*ask(q[i].x); }
//q[i].m表示符号区间最值 例题
例题1
例题2 第一个方法 维护ans数组当从L到L1时next[i]到next[next[L]]-1这个区间整体减一就是查看每个数的贡献是什么样的 利用线段树维护 第二个方法 计数点为倒数第二个点因为题目要求出现两次及以上 点i为倒数第二个点next[i]就是最后一个 什么点符合要求 next[next[i]] r , l i r 以i为横坐标next[next[i]]为纵坐标 二维数点
例题3 第一个方法 .到nxt[i]-1 的区间-1 2. nxt[i] 到nxt[nxt[i]]-1的区间1 第二个方法
例题4 只出现一次的电影的权值和