首页 > 其他分享 >2024解题报告

2024解题报告

时间:2024-03-04 11:56:18浏览次数:22  
标签:报告 text 选取 2024 序列 解题 端点 区间 维护

2024.3.4

A.「ROI 2017 Day 2」学习轨迹

题面:

给定两个二元组序列 \text{A} 和 \text{B},每个二元组表示这个位置的数的编号与价值。

可以对于两个序列各选取一个区间(可以为空),使得两个区间中的数的编号不重复出现,要求在满足该条件的情况下,区间的价值和最大。

思路

首先来考虑最劣解是什么情况,可以发现最劣的情况是全选其中一个序列,另一个序列不选。

所以在分别进行区间选取的时候,一定有一个序列选取的区间里值的总和大于该序列中和的一半。

因为如果两个序列选取区间的取值和都不足该序列总和的一半,全选某个区间一定是更优的。

那先假定序列 \text{A} 选取的和超过一半,那其实可以得到一个必选的点。

假设这个点为 \text{p},那么 \text{p} 需要满足的条件就是 \text{p} 的前缀和大于总和的一半, \text{p} 的后缀和大于总和的一半,这样,不管怎么选,\text{p} 一定会被选中,具体地说,\text{p} 就是前缀和第一个大于总和的一半的位置。

接下来考虑另一个序列 \text{B} 对序列 \text{A} 的影响。

可以发现,如果每次选择一个 \text{B} 中的值,如果这个值在 \text{A} 中出现过,那么一定可以确定一个 \text{A} 所选取的区间的左端点大于某个数或者右端点小于某个数。

原因是显然的,因为在 \text{B} 中选了的数在这 \text{A} 中一定不能再选了,所以自然可以为 \text{A} 确定一个范围。

性质的分析差不多结束了,那么接下来就可以考虑如何求解了。

可以考虑枚举 \text{B} 序列选择的右端点,然后使用个什么东西维护对于该右端点的最大值。

但具体该怎么维护呢?

想到 \text{A} 序列中存在一个必须选的点,那么可以根据类似分治的思想,以这个点为界限,分成左右两个部分考虑。

对于每个新枚举到的 \text{B} 序列中的数,如果在 \text{p} 的左边,那么在这个数之前的 \text{A} 序列的和都要删除,如果在 \text{p} 的右边,那么在这个数之后的 \text{A} 序列的和都要删除。

显然可以使用一个递增的单调栈进行维护,每次加入的时候,先把栈中比这个数位置考前的贡献全部删掉,然后加入这个点的贡献。

贡献的改变可以使用一颗线段树进行维护,注意有点小技巧,在维护的过程中,不单只维护 \text{A} 的值,同时需要把 \text{B} 的区间贡献通过前缀和拆成两部分,把减掉的部分加入线段树中一起维护,加的那部分在枚举的时候直接加上就行,这样才能保证和是最优的。

最后把 \text{A},\text{B} 序列交换再处理一遍即可。

时间复杂度: O(n \log n)

 

标签:报告,text,选取,2024,序列,解题,端点,区间,维护
From: https://www.cnblogs.com/Populus-euphratica/p/18051521

相关文章

  • 联合省选2024游记
    不知道该记什么呢?day0:从[]回[],进入学校。和我们班的留校的同学讨论了一番如何对圈子分类以及基金会的抽象条目,没做什么题。晚上一直在听歌,“未成形的思绪,穿梭在脑叶和神经。”睡觉,睡眠非常灾难,由于不知道为啥,我在刷手机和躺着中辗转,2点多才睡着。day1:6点起床,然后坐车去......
  • P10220 [省选联考 2024] 迷宫守卫
    二分+贪心+DP。跟D1T2思路有点类似,反正很简单。复杂度大约是\({\rmO}(n^22^n)\)。#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=1e5+5;constllinf=1e18;intT,n,q[N];llK,w[N];vector<int>Q;lldp(into,intd,in......
  • 【2024-02-27】家庭应变
    20:00早晨六点钟打开一天的门,我走进生活,一抹年轻的蓝,在窗前问候我。                                                 ——纳齐姆·希克梅特今天我让何太帮我预约了肩......
  • 【2024-02-26】购车计划
    20:00我们不只是今天的,或者昨天的,我们是广阔的时间所塑造的。                                                 ——荣格周末我们一家人去特斯拉4S店看了车,这是我第一......
  • 【2024-02-25】连岳摘抄
    23:59我们在一片安谧中长大成人,忽然被抛进大千世界,无数波浪从四面向我们袭来,我们对一切都兴致盎然,有些我们喜欢,有些我们厌烦,时时刻刻都在出现微微的不安,我们感受着,而我们感受到的,却被各种尘世的纷扰冲散。                      ......
  • 【2024-02-24】连岳摘抄
    23:59东风夜放花千树。更吹落、星如雨。宝马雕车香满路。凤箫声动,玉壶光转,一夜鱼龙舞。蛾儿雪柳黄金缕。笑语盈盈暗香去。众里寻他千百度。蓦然回首,那人却在,灯火阑珊处。                                 ......
  • 寄地欧埃 2024 E 队进不了一点 记
    Day-1?~Day-4加训!打了6场省选模拟赛,成绩没一次过了200,最差成绩70,甚至有几次A题都不会。AKwyc冲击E队!Day-3~Day-12/27回校上学。ycb里人多了好多啊,教室里一如既往地只有我一个信息组。好怀念之前的ycb啊。中午在机房现场观摩qsc秒掉平方数!下午在机......
  • C#/.NET/.NET Core优秀项目和框架2024年2月简报
    前言公众号每月定期推广和分享的C#/.NET/.NETCore优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码......
  • 联合省选2024游记/退役记
    等到风吹过树梢,等到蝴蝶扇动翅膀,等到鹿在林间漫步,等到鲸吞吐海洋。等到历尽千帆,我们再次相逢。Day-4做了一个梦。梦中的自己出现在跑道上,一声哨响过后,奋力向前奔跑。但胸口仿佛负千斤,被压得胸闷,被挤得气短,逐渐远远落于众人身后。醒来时才发觉,胸口的大石,是需要自己移除的......
  • 2023-2024第一学期数字电路与逻辑设计的助教工作总结
    一、助教工作的具体职责和任务 (包括:你和老师是如何配合的、你和课程其他助教是如何配合的(如果有的话))  1.和老师如何配合的:在担任助教的过程中,我会和老师商量如何收作业以及收作业的时间,例如让学委加我QQ约定好时间收作业。老师会和我商量批改作业的问题,以便于及时发还作业。......