首页 > 其他分享 >[AGC003E] Sequential operations on Sequence

[AGC003E] Sequential operations on Sequence

时间:2024-09-13 12:24:37浏览次数:8  
标签:operations log 每次 贡献 AGC003E Sequential 序列 操作

题意

给定一个整数序列,有 \(q\) 次操作,每次操作从无限复制的序列里面选择前 \(q_i\) 个元素作为当前的序列。

问 \(1\) 到 \(n\) 每个整数在最终序列中出现的次数。

\(n \le 10 ^ 5, q_i \le 10 ^ {18}\)

Sol

想象一下每次操作,都是复制若干次前一次的序列然后拼上一段余数组成的。

考虑倒推,每次往前乘上一个系数,但是这样还是没法做,因为需要设一个双元组 \((x, y)\) 表示第 \(i\) 次操作的前 \(y\) 个的贡献,记忆化后依然至少是 \(n ^ 2\) 的。

考虑冗余的操作以及计算,注意到事实上若 \(i < j\) 且 \(s_i > s_j\) 那么 \(i\) 一定不会有贡献,换句话说对于操作序列维护一个单调栈,最终栈内的元素才能产生贡献。

回到之前的做法,发现其实第一维没有用!每次我们只需要找到操作序列里第一个大于等于她的位置就行了,因为中间一段的操作对她都没有贡献。

注意到每次操作是模一个数字,也就是对于每个操作与上一个操作的余数,这个层数显然不会超过 \(\log\),因此状态数是 \(O(n \log n)\) 的,递归里需要塞一个 \(\texttt{upper_bound}\),最终复杂度为 \(O(n \log ^ 2 n)\)。

标签:operations,log,每次,贡献,AGC003E,Sequential,序列,操作
From: https://www.cnblogs.com/cxqghzj/p/18411990

相关文章

  • Leetcode 2453. Destroy Sequential Targets | rust 实现
    题解问题描述给定一个整数数组nums和一个整数space,我们需要找到一个目标值,使得该目标值在nums中的出现次数最多。如果有多个目标值出现次数相同,则返回最小的目标值。解题思路哈希表统计:使用哈希表map来统计每个seed%space的出现次数,题干中给出的等式等价为nums[n......
  • [1059] Operations of None in pandas
    Inpandas,handlingNonevalues(whicharerepresentedasNaNinDataFrames)isacommontask.Herearesomewaystodealwiththem:FilteringRowsFilterRowswithNoneValues:importpandasaspd#SampleDataFramedf=pd.DataFrame({'A......
  • nn.Sequential 和 nn.ModuleList()的联系与区别
    nn.Sequential和nn.ModuleList()是PyTorch中用于管理神经网络模型中的子模块的两种不同的方式。nn.Sequential是一个用于构建顺序模型的容器类。它允许按照给定的顺序添加一系列的子模块,并将它们串联在一起形成一个顺序的网络结构。nn.Sequential可以简化模型的定义和前向传......
  • Pytorch 中的 Sequential
    1.介绍在PyTorch中,Sequential是一个模型容器。它是一个用于顺序排列神经网络模块(如层、激活函数等)的容器。通过使用Sequential,可以将多个模块按照顺序连接在一起,构建一个深度神经网络模型。使用Sequential时,可以将每个模块按照顺序添加到Sequential容器中。每个模块都可以......
  • C. Perform Operations to Maximize Score
    原题链接题解着重点:分类讨论+二分中位数首先,由于要求中位数,我们先将数组进行排序;接着我们取遍所有的ai及其对应中位数。此时,分歧产生,我们有k次增值的机会,是加到ai(不会改变中位数)上还是增值后改变中位数(此时中位数可能改变)?显然,我们要分类讨论情况一:我们加到选取的ai上,显然......
  • OFtutorial04_basicFieldOperations解析
    OFtutorial4.C源码#include"fvCFD.H"//Thisisafunctiondeclaration;thismethodwillcalculatesomescalarvalue//giventhecurrenttime,locationinspacex,andareferencepointx0.The//functionalsoacceptsascalingfactor,scale.......
  • CF1654E Arithmetic Operations 题解
    CF1654E给定一个长度为\(n\)的序列\(a\)。问至少需要修改几个数才能使得\(a\)变为一个等差数列。\(n\leq10^5\),\(1\leqa_i\leq10^5\)。我们可以发现值域\(\leq10^5\)实属可疑,我们可以就这点进行分析考虑对于序列的公差\(d\),如果\(d\)太大的话经过若干......
  • SQL Zoo 7.More JOIN operations
    以下数据均来自SQLZoo1.Listthefilmswherethe yr is1962[Show id, title](列出1962年的电影)SELECTid,titleFROMmovieWHEREyr=19622.Giveyearof'CitizenKane'.(给出《公民凯恩》的年份)selectyrfrommoviewheretitle='CitizenKane'3.List......
  • VMware Aria Operations 8.18 发布 (新增功能概览) - 多云 IT 运维管理
    VMwareAriaOperations8.18发布(新增功能概览)-多云IT运维管理通过统一的高性能平台,实现跨私有云、混合云和多云环境的IT运维管理。请访问原文链接:https://sysin.org/blog/vmware-aria-operations/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwareAri......
  • Machine Learning Operations
    MachineLearningOperationshttps://ml-ops.org/WithMachineLearningModelOperationalizationManagement(MLOps),wewanttoprovideanend-to-endmachinelearningdevelopmentprocesstodesign,buildandmanagereproducible,testable,andevolvableML-......