首页 > 其他分享 >CF1887C Minimum Array 题解

CF1887C Minimum Array 题解

时间:2023-12-26 17:56:49浏览次数:47  
标签:题解 CF1887C Minimum 序列 Array 加回来

Problem - 1887C - Codeforces

Minimum Array - 洛谷

  • 有点被降智了/ll

  • 首先区间修改显然先转化成差分序列单点修改。

  • 显然对于相同的操作序列,\(a_i\) 的取值对答案无影响,因此我们可以先让 \(a_i\) 全部取 \(0\),最后再加回来即可

  • 假如说操作到某一时刻,\(a_i\) 的值中第一个非 \(0\) 的位置 \(<0\),则显然这个操作比 \(a_i\) 全 \(0\) 时的序列更优,我们就重新把这个序列定义为”基准序列“,也就是说我们重新让 \(a_i\) 全部变为 \(0\);否则继续操作

  • 维护第一个非 \(0\) 的位置可以使用 \(set\) 解决,复杂度 \(O(n \log n)\)

标签:题解,CF1887C,Minimum,序列,Array,加回来
From: https://www.cnblogs.com/fox-konata/p/17928957.html

相关文章

  • 洛谷B3647 【模板】Floyd 题解 floyd算法 求 多源多汇最短路
    题目链接:https://www.luogu.com.cn/problem/B3647floyd算法:https://oi-wiki.org/graph/shortest-path/#floyd-算法示例程序:#include<bits/stdc++.h>usingnamespacestd;constintmaxn=101;intn,m,f[maxn][maxn];intmain(){scanf("%d%d",&n......
  • c zero length array 零长度数组
    structuserdata{uint32_tlen;uint8_tdata[0];};在阅读一些开源代码时,比如linuxkernel,会发现上面这种用法,这种叫做零长度数组。有什么作用呢?简单来说为了开发便利,顺便节省空间。使用限制只能放在结构体结尾,也就是一个结构体只能有一个零长度数组。使用场景比......
  • Arrays.asList方法返回对象
    上例子int[]arr={1,2,3};Listlist=Arrays.asList(arr);for(Objectobject:list){System.out.println(object);}可以看到输出的其实是一个对象,并不是1,2,3解决方法Integer[]arr={1,2,3};......
  • [题解]CF1811D Umka and a Long Flight
    思路假设原题目中的\(n\)在本文中为\(num\),则原长方形的长\(m=f_{num+1}\)和宽\(n=f_{num}\)。显然对于最初始的长方形,显然是要将一个\(f_{num}\timesf_{num}\)的长方形丢进去的,并且要么放最左边,要么放在最右边。因为对于当前的\(m=f_{num+1}=f_{num}+......
  • CF768G The Winds of Winter题解
    我们考虑暴力咋做,每次得到一个森林之后,必定是从最大的树上摘一棵子树,挪到最小的树上,所以此时的答案为\(max(siz_{mx}-x,siz_{mn}+x,siz_{次大值})\),于是发现\(x=\frac{siz_{mx}-siz_{mn}}{2}\)时答案最优,所以只需找到这个值的前驱后继即可我们使用\(\text{multiset}\)实现,......
  • 无涯教程-PostgreSQL - ARRAY函数
    PostgreSQLARRAY_AGG函数用于将包含null的输入值连接到数组中。要了解ARRAY_AGG函数,请考虑将 COMPANY 记录为跟随-testdb#select*fromCOMPANY;id|name|age|address|salary----+-------+-----+-----------+--------1|Paul|32|California|......
  • CF1917 C Watering an Array
    Link首先我们研究全是0的情况,显然的,每次操作2最多可以得到1分。那么显然的,不如直接一次操作一一次操作二,这样是最优的。然后再研究初始数组,很难用很快的方式得到应该从什么时候开始第一次操作二。不过可以注意到,第一次操作2最多可以得到n分,那么我们再\(2n+1\)天以后进行第一次......
  • HNOI2017影魔题解
    HNOI2017影魔对于两种贡献,都只用考虑左边第一个比自己大的,和右边第一个比自己大的数,分别记为\(l_i、r_i\)对于询问一,每个数对\((l_i,r_i)\)构成全部情况对于询问二,可以拆分成\(x=l_i\)时,\(y\in[i+1,r_i-1]\),以及\(y=r_i\)时,\(x\in[l_i+1,i-1]\)我们考虑用扫描线......
  • 软件测试/测试开发|selenium NoSuchDriverException问题解决
    前言我们在使用selenium进行web自动化测试时,有时候会遇到NoSuchDriverException的问题,这个异常通常是由于WebDriver无法找到指定的浏览器驱动而引起的。在这篇文章中,我们将讨论NoSuchDriverException的原因以及如何解决这个问题。NoSuchDriverException是什么?NoSuchDriverExce......
  • CF1051C Vasya and Big Integers 题解
    Problem-1051E-CodeforcesVasyaandBigIntegers-洛谷感谢女队提交记录推荐给我的一道题\(Orz\)首先\(O(n^2)\)的\(dp\)是simple的,如果你没看出来你可能是像我一样把题目看错了设\(dp_i\)表示考虑前\(i\)个的方案数,转移枚举长度后比较字典序。虽然看......