首页 > 其他分享 >B - Minimum Sum

B - Minimum Sum

时间:2024-08-11 12:05:24浏览次数:7  
标签:遍历 暴力 左边 Sum 扩展 决策 Minimum 当前

原题链接

题解

\(O(n^3)\) 的暴力方法:

遍历所有区间,然后找出每个区间内的最小值

\(O(n^2)\) 的暴力方法:

考虑每个点的贡献,往左扩展直至出现比其小,往右扩展直至出现比其小的

观察 \(O(n^2)\) 的暴力方法,我们发现往左扩展和往右扩展相互独立

所以我们只观察往左扩展

”往左扩展直至遇见比自己小的“ 这个不就是找到左边第一个比自己小的这样一个经典 的问题吗?

如果一个选手年龄比你小还比你强,那你可以退役了,也就是说,我们不需要每次遍历其左边所有元素

考虑当前数需要遍历的决策点,如果存在某个决策点,其左边的数比自己大,那么左边这个数就是无用决策点,可以删除

这样一来,当前数需要考虑的决策点是一个从左往右下标递增,数的大小递增的序列

如果序列的末尾数比当前数大,那么就删除,因为不会对后面的答案产生贡献,如果比自己小,那么这个数就是当前数的左边第一个比自己小的的数

然后把当前数插入决策点序列

这样一来,时间复杂度就是 \(O(n)\)

标签:遍历,暴力,左边,Sum,扩展,决策,Minimum,当前
From: https://www.cnblogs.com/pure4knowledge/p/18353237

相关文章

  • 在 SQL 中,怎样使用聚合函数(如 SUM、AVG、COUNT 等)来计算数据的总和、平均值和数量?
    在SQL中,可以使用聚合函数来计算数据的总和、平均值和数量。以下是一些常用的聚合函数的示例:SUM函数:计算指定列的总和。SELECTSUM(column_name)FROMtable_name;AVG函数:计算指定列的平均值。SELECTAVG(column_name)FROMtable_name;COUNT函数:计算指定列的数......
  • [lnsyoj2246/luoguCF979D]Kuro and GCD and XOR and SUM
    题意给定集合\(S\),初始为空,进行\(q\)次修改或查询操作:修改操作将\(x\)加入集合;查询操作给定\(x,s,k\),要求找到满足\[\max_{u\inS,u+x\les,k|\gcd(u,x)}\{u\oplusx\}\]的最小的\(u\)。sol集合、异或、可查可改,可以自然地想到0/1-Trie。我们假设\(k=1\),此时不需......
  • 跟《经济学人》学英文:2024年08月03日这期 Investors beware: summer madness is here
    Investorsbeware:summermadnessishereThisyear’shottestmonthsareshapinguptobeespeciallywildshapingup:看起来,逐渐变成Shapingup:这个短语的意思是逐渐形成或变得某种样子。在这个上下文中,指的是今年最热的几个月看起来将会特别狂野或极端。例子:T......
  • P10008 [集训队互测 2022] Range Minimum Element
    MyBlogsP10008[集训队互测2022]RangeMinimumElement难点在于双射构造。首先考虑给定了\(b\)如何进行判定。从小到大填数\(x\),每次把能填的地方(\(b_i>x\)的区间之外)全部填上\(x\),这样填一定是最优的。合法当且仅当这样生成的序列\(a\)对应的\(b\)就是\(b\)本身......
  • LeetCode | 1 Two Sum
    分析Givenanarrayofintegersnumsandanintegertarget,returnindicesofthetwonumberssuchthattheyadduptotarget.Youmayassumethateachinputwouldhaveexactlyonesolution,andyoumaynotusethesameelementtwice.Youcanreturnthean......
  • torch.einsum 的计算过程
    概论a=torch.randn(3,2,2)b=torch.randn(3)c=torch.einsum('...chw,c->...hw',a,b)上面的einsum如何计算的?简单说,把b广播为a的形状,然后做矩阵乘法,即逐位相乘运算,注意,不是点积,是逐位的相乘运算。注:这里符合背景需求,背景是,a是深度学习的某个张量,b是a的权重,......
  • einsum 函数
    einsum是Einsteinsummation的缩写,即爱因斯坦求和约定。einsum函数源自NumPy,后来在PyTorch等其他科学计算库中也得到了实现。它是一种强大而灵活的函数,可以用来处理各种张量运算,如矩阵乘法、转置、批量点积、内积、外积等。爱因斯坦求和约定(EinsteinSummationConvent......
  • from type [java.lang.String] to type [org. apache.kafka.clients.consumer.Consume
    kafka消费消息的时候,报错Noconverterfoundcapableofconvertingfromtype[java.lang.String]totype[org.apache.kafka.clients.consumer.ConsumerRecord<??>,没有消费到数据,这种情况可能是发送方发送的数据是封装了多个ConsumerRecord<??>对象发送过来的,需要用Consume......
  • B. Parity and Sum
    题意:给定n个数,每次操作任选两个数,将其中较小的数改为它们的和。问最小操作次数可以让n个数奇偶性相同。思路:如果初始时奇偶性相同,则不操作,否则,最后结果一定是数组中全为奇数。找到最大的奇数,对偶数排序后考虑所有的偶数。如果当前奇数>偶数,则更新奇数最大值为偶数和奇数的和。......
  • 托福暑假学习的计划与目标[Plan and Goal of TOEFL Learning in Summer]
    时间即日起至8.31日,共计25天任务二十套听力+阅读=听力lecture3*20=60听力conversation2*20=40阅读2*20=40计划分为五个部分进行阅读每日:长难句分析五句话特殊情况,当日完成了一篇托福阅读可以免除长难句分析,但是必须要分析题目听力每日:边词边......