首页 > 其他分享 >一类区间统计点对贡献的题目

一类区间统计点对贡献的题目

时间:2023-06-22 22:22:43浏览次数:32  
标签:题目 贡献 有用 扫描线 LCA 区间 一类

大概形如每次给定一个区间 \([L,R]\),每对 \(L\le u<v\le R\) 的 \((u,v)\) 会有一个贡献,要求所有点对的贡献(取min/max,数颜色等)。

考虑点对共有 \(O(n^2)\) 个,遍历一遍所有对也会超时。考虑删除一些无用的点对(例如包含的区间里面有比它更优的),那不看它也会有贡献。如果能证明有用的点对个数较小那就可以扫描线来做。

比如:P7880 [Ynoi2006] rldcot

还是枚举 \(LCA\),对于 \(x\),通过启发式合并可以找出所有 \(LCA(i,j)=x\) 的点对。总点对有 \(n^2\) 个。但观察到对于 \(i\),只用和它的前驱/后继配对就可以。于是有用的点对只有 \(\Theta(n\log n)\) 个,求下来大力扫描线即可。

标签:题目,贡献,有用,扫描线,LCA,区间,一类
From: https://www.cnblogs.com/wwlwakioi/p/17498461.html

相关文章

  • Python学习笔记专题目录
    转载请注明来源:http://www.eword.name/Author:ewordEmail:[email protected]学习笔记专题目录首页Python学习笔记MacBook搭建python开发环境【必须】安装Python【必须】安装pip【必须】virtualenv的安装和使用【推荐】安装PyCharm【推荐】Pycharm虚拟环境......
  • 静态区间第k小
    可持久化线段树 #include<cstdio>#include<algorithm>usingnamespacestd;constintmaxn=200010;inta[maxn],b[maxn],blen,n,CNT;intsum[maxn<<5],lc[maxn<<5],rc[maxn<<5],rt[maxn<<5];intupdate(intk,intl,intr......
  • Android-Kotlin-区间与FOR&LIST&MAP简单使用
    区间与for:packagecn.kotlin.kotlin_base04/***区间与for*/funmain(args:Array<String>){/***Kotlin中提供了区间,例如:存入1到100,在Java中可能要写多行代码,而在Kotlin中很简单,代码如下*1..100*/varnumbers=1..100/***......
  • OOP题目集总结
    目录前言设计与分析踩坑心得改进建议总结一、前言      (1)第七次题目集         一道题目,菜单5      (2)第八次题目集         一道题目,课程成绩统计系统1      (3)第九次题目集      ......
  • 回文质数(快速求出一个区间内的所有回文数)
    题目链接:回文质数code:#include<bits/stdc++.h>usingnamespacestd;vector<int>constructPalindromes(intstart,intend){vector<int>palindromes;if(start<=1){palindromes.push_back(1);start=2;}intstartLen=......
  • 区间选点问题
    题目描述数轴上有\(n\)开区间\((a_i,b_i)\),请选择尽量多的区间,使其两两不相交。(开区间意味着,左右两个端点是不包含的)输入格式第一行\(n(n\le1000000)\),之后\(n\)行,每行两个数分别为\(ai,bi\),输出格式最少需要的点的个数样例样例输入13132435样例输出11数据范......
  • 选择不相交区间
    题目描述数轴上有\(n\)开区间\((a_i,b_i)\),请选择尽量多的区间,使其两两不相交。(开区间意味着,左右两个端点是不包含的)输入格式第一行\(n\)之后\(n\)行,每行两个数分别为\(a_i,b_i\)输出格式最多能选择的区间个数样例样例输入13132435样例输出12数据范围对于\(2......
  • 树状数组详解!(C++_单点/区间查询_单点/区间修改)
    先把这张著名的树状数组结构图摆在最前面,接下来我们就以这张图讲起!       首先图中的A数组就是所谓的原数组,也就是普通的数组形态,C则是我们今天要说的树状数组(可以看出一个树的形状,但其实和树没多大关系)从图中可以明显看到以下几个式子:有点像前缀和不是?但这样还看不出什......
  • CCF_201612-4 压缩编码(C++_区间DP)
    问题描述       给定一段文字,已知单词a1,a2,…,an出现的频率分别t1,t2,…,tn。可以用01串给这些单词编码,即将每个单词与一个01串对应,使得任何一个单词的编码(对应的01串)不是另一个单词编码的前缀,这种编码称为前缀码。使用前缀码编码一段文字是指将这段文字中的每......
  • 第三次博客:PTA题目集6-8总结
    第三次博客:PTA题目集6-8总结 前言:菜单系列终于结束了,但是接踵而至的是全新的选课系列,明明JAVA课都已经上完了,但是大作业的更新却并没有停止,由此可见蔡老师真的太爱我们了。这次的选课系统个人感觉是和点菜大同小异的,菜单==课表,选课==点菜,算......