首页 > 其他分享 >P10173 「OICon-02」maxiMINImax

P10173 「OICon-02」maxiMINImax

时间:2024-03-23 20:45:26浏览次数:29  
标签:02 min max sum OICon 区间 枚举 P10173

P10173 「OICon-02」maxiMINImax

首先观察所求的式子,我们可以很容易发现 \(\min_{[l_2,l_2]}>\max(\max_{[l_1,r_1]},\max_{[l_3,r_3]})\),否则贡献一定为 \(0\)。

此时如果要考虑枚举其中一个区间,我们肯定选择中间的 \([l_2,r_2]\),但是这样复杂度仍然至少是 \(O(n^2)\)。

我们思考是否真的需要枚举区间。枚举区间的意义是能够知道 \([l_1,r_1]\) 和 \([l_3,r_3]\) 的区间范围,达到题目条件中的三个区间不交。但是我们发现,假如 \([l_2,r_2]\) 与 \([l_1,r_1]\) 相交,那么在相交区间内一定存在一个位置 \(p\),使得 \(\min_{[l_2,r_2]}\le a_p\le \max_{[l_1,r_1]}\),无法满足第一个条件。

此时我们知道,只需要满足 \(\min_{[l_2,l_2]}>\max(\max_{[l_1,r_1]},\max_{[l_3,r_3]})\),区间一定不交。

考虑计算贡献,我们容易用单调栈预处理出每个位置作为最大值/最小值的区间数 \(c_i/d_i\)。

此时枚举 \(a_i\) 作为 \(\min_{[l_2,l_2]}\),所有位置的答案即为 \(\sum c_{min2}d_{max1}d_{max3}(min2-max1)(min2-max3)\)。

如何维护这个东西?考虑拆开式子,发现只需要维护 \(\sum c\),\(\sum d\),\(\sum cmax\),\(\sum dmax\)。

我们在计算时要满足第一个条件,这里用一个技巧,就是把数从小到大放进去同时维护树状数组即可,当然也可以用权值线段树分别维护前缀和后缀。

复杂度 \(O(n\log n)\)。

标签:02,min,max,sum,OICon,区间,枚举,P10173
From: https://www.cnblogs.com/FireRaku/p/18091650

相关文章

  • P9871 [NOIP2023] 天天爱打卡
    P9871[NOIP2023]天天爱打卡经典dp+线段树优化+离散化前两个步骤略讲,主要是离散化。首先考虑dp,朴素的,容易写出状态\(f_i\)表示考虑到第\(i\)个位置,且强制第\(i\)天跑步的最大能量值。考虑枚举最后一段跑步的时间,有\(f_i=\max(\max\limits_{k<j}f_k-(i-j)\timesd+\sum......
  • SAR图像辐射分辨率和等效视数(CSDN_20240323)
            辐射分辨率和等效视数,是基于面目标评价SAR图像质量的两项重要指标。在介绍辐射分辨率和等效视数之前,首先介绍SAR图像的均值和方差。均值图像均值指的是SAR幅度图的统计平均,该指标反映了地物目标的平均后向散射系数,具体定义如下:其中,M和N分别表示SAR图像的......
  • [暴力题解系列]2023年蓝桥杯-子串简写
    ​ 大伙都说暴力是最低级的算法,啊那确实。但是好的暴力才是真正牛逼的骗分。咱就是说,暴力如何骗分呢?就是基于最暴力的算法一步步优化到能得更多分的暴力。子串简写这题,首先第一步就能想到一件事情:暴力枚举子串开头和末尾的位置,检查是否是符合题目要求的字符,如果是,并且长度大于......
  • python-day02
    python判断语句if、elif、elseif条件:结果elif条件:结果else条件:结果随件数产生importrandom#随机产生1-10的随机数num=random.randint(1,10)while循环while条件:循环体eg:while循环实现九九乘法表i=1whilei<=9:j=1whi......
  • 2000-2022年上市公司客户、供应商集中度数据
    2000-2022年上市公司客户、供应商集中度数据1、时间:2000-2022年2、来源:上市公司年报3、指标:年份、股票代码、股票简称、行业代码、省份、城市、省份代码、城市代码、上市状态、前五名客户产生的营业收入_亿元、占全年营业收入的比例、前五名供应商产生的采购额_亿元、占全年......
  • 2002-2022年各地区出口技术复杂度数据(含原始数据+计算代码+结果)
    2002-2022年各地区出口技术复杂度数据(含原始数据+计算代码+结果)1、时间:2002-2022年2、来源:原始数据整理自国研网、海关总署、国家统计局3、范围:30省4、指标:进出口原始数据:时间、流向名称、商品编码、商品名称、伙伴编码、伙伴名称、主体编码、主体名称、方式编码、方式名......
  • 2023年红蓝对抗-HW蓝队基本知识点
    1.Linux排查思路(1)首先检测用户账号安全,如新增用户和可疑用户以及高权限用户。(2)history命令查看历史linux指令,uptime查看用户登录信息(3)检查端口(netstat命令)和进程(ps命令),重点观察资源占用率高的进程(4)检查日志信息,var/log文件夹内的一些系统日志和安全日志。(5)利用自动......
  • 2024年上海市高职院校学生技能大赛“软件测试”赛项规程
    2024年上海高职院校学生技能大赛“软件测试”赛项规程赛项名称:软件测试专业大类:电子信息大类赛项编号:GZ034需要竞赛资源或者培训可私信联系博主!本项目技术描述是对本竞赛项目内容的框架性描述,正式比赛内容及要求以竞赛当日公布的赛题为准。1.项目简介1.1项目描......
  • 2024华为OD统一考试(C卷)最新题库(Java & Python & C++)
    关于华为OD​华为的员工补充途径有三种,分别是校招、OD转正和社招。校招是华为唯一的正式员工入职途径,但是从近几届开始竞争非常激烈,尤其是在CV、AI、NLP等赛道上,所以对于C9等专业的学生来说,可以考虑转向一些冷门方向。​OD转正是指在华为工作满一年之后,可以根据部门OD......
  • 2024-03-23:用go语言,一张桌子上总共有 n 个硬币 栈 。每个栈有 正整数 个带面值的硬币,
    2024-03-23:用go语言,一张桌子上总共有n个硬币栈。每个栈有正整数个带面值的硬币,每一次操作中,你可以从任意一个栈的顶部取出1个硬币,从栈中移除它,并放入你的钱包里。给你一个列表piles,其中piles[i]是一个整数数组,分别表示第i个栈里从顶到底的硬币面值。同时给你......