首页 > 其他分享 >[ABC288D] Range Add Query

[ABC288D] Range Add Query

时间:2023-11-16 23:22:04浏览次数:32  
标签:Add 差分 Range ABC288D 序列 Query 我们 同余

先考虑将原序列差分一下,事实上,我们对于这类每次可以操作一个区间减去固定值的时候,我们一般都需要差分,因为差分后,我们的操作实际上相当于 **在差分序列上修改两个点**,这个时候的问题是好考虑的。

这时候问题转化为,我们每次可以选择两个距离恰好为 $k + 1$ 的点,将 $l$ 加上 $w$,将 $l + k$ 减去 $w$。

这个长度的限制很棘手,但是我们发现,**对 $k \ \bmod $ 同余的点我们都可以相互转移到**,这个是显然的。

那么如果想让最终的差分序列为全 $0$,我们必须让所有下标同余的位置和为 $0$。

细节上,对于 区间 $[l, r]$ 我们其实还有一种操作。对于同余于 $r + 1$ 的点而言,我们可以全部转移到 $r + 1$,并且由于我们要求只需要 $[l, r]$ 区间合法,所以实现上我们不需要考虑与 $r + 1$ 同余的点。

事实上,当原序列真的全变成 $0$ 时,$l$ 处应该为 $0 - w_{l - 1}$,所以对于同余 $l$ 的也需要特殊处理。

时间复杂度 $O(nk + qk)$。

[code](https://atcoder.jp/contests/abc288/submissions/47624981)

 

标签:Add,差分,Range,ABC288D,序列,Query,我们,同余
From: https://www.cnblogs.com/Rainsheep/p/17837532.html

相关文章

  • SQL(Structured Query Language)简介和常见 SQL 命令示例
    简介SQL(StructuredQueryLanguage)是一种用于访问和操作关系型数据库的标准语言。它是一个功能强大的语言,用于执行各种数据库操作,包括检索数据、插入新记录、更新记录、删除记录、创建数据库、创建新表、设置权限以及执行存储过程和视图等。以下是SQL的一些重要方面:SQL的目的......
  • SQL(Structured Query Language)简介和常见 SQL 命令示例
    简介SQL(StructuredQueryLanguage)是一种用于访问和操作关系型数据库的标准语言。它是一个功能强大的语言,用于执行各种数据库操作,包括检索数据、插入新记录、更新记录、删除记录、创建数据库、创建新表、设置权限以及执行存储过程和视图等。以下是SQL的一些重要方面:SQL的目......
  • 无涯教程-Dart - Using the List.replaceRange() 函数
    dart:core库中的List类提供了replaceRange()函数来修改List元素,此函数替换指定范围内的元素的值。使用List.replaceRange()函数的语法如下所示-List.replaceRange(intstart_index,intend_index,Iterable<items>)Start_index   -代表要开始替换的索引位置的整数。......
  • 转载——jQuery的formValidator详细使用教程
    原文链接使用插件必须加载的文件//加载jQuery类库<scripttype="text/javascript"src="jquery-1.7.1.min.js"></script>//加载插件<scripttype="text/javascript"src="formValidator-4.1.1.min.js"></script>//加载扩展库(如果想用里......
  • 界面控件Kendo UI for jQuery R3 2023 - 发布全新金字塔图表类型
    Telerik & KendoUI R32023版本带来了30多个新的UI组件,丰富的设计系统文档、多种自定义选项、支持Linux的现代化报表体验等。借助R32023,开发人员能够在现代框架上快速构建强大的数字体验功能,满足不断变化的业务需求等。今天将为大家主要介绍KendoUIforjQuery R32023的一......
  • 一些WQL(WMI Query Language) 查询示例
    目录WQL介绍一些WQL查询示例怎么执行WQL查询?WMIC在PowerShell里输入命令WQL介绍WQL(WMIQueryLanguage)是一种SQL的变体,用于查询和设置Windows管理工具(WMI,WindowsManagementInstrumentation)的信息。WMI是Windows操作系统的一部分,提供了一个统一的方式来获取系统管理......
  • HTML03(函数,DOM,jQuery,正则表达式)
    基础js是弱类型的脚本语言;在浏览器的控制台打印:console.log();定义对象varobj={};对象的属性名默认就是字符串;函数前置声明varresult=fun(12,23.44);console.log(result);functionfun(a,b){//参数不需要声明类型retu......
  • [题解]AT_abc328_f [ABC328F] Good Set Query
    思路带权并查集模板。如果对于一个三元组\((a,b,c)\)如果它能够添加到\(S\)中一定满足如下条件中的一条:\(X_a,X_b\)满足其中有一个是「不确定」的。在这里\(X_i\)「不确定」指\(X_i\)没有与其它的任意\(X_j\)有关系。\(X_a,X_b\)有间接或直接的关系,但是能计算......
  • [LeetCode] 715. Range 模块
    题目Range模块是跟踪数字范围的模块。设计一个数据结构来跟踪表示为半开区间的范围并查询它们。半开区间[left,right)表示所有left<=x<right的实数x。实现RangeModule类:RangeModule()初始化数据结构的对象。voidaddRange(intleft,intright)添加半开区......
  • CF1322E - Median Mountain Range - 总结
    CF1322E-MedianMountainRange考虑分别对每个位置求出最后的数字。先枚举出这个数\(x\),并将\(a_i\gex\)的数设为\(1\),\(a_i<x\)的数设为\(0\),然后做题目中的操作,若为\(0\),则最终结果小于\(x\),为\(1\)则大于等于\(x\)。使用二分可以优化到\(\Omicron(n^2\log......