首页 > 其他分享 >区间加等比数列

区间加等比数列

时间:2023-10-23 13:46:50浏览次数:38  
标签:等比数列 log 分块 ai 复杂度 序列 B2 区间

https://www.luogu.com.cn/problem/U329489
给出一个长度为 n 的数列
接下来进行 m 次操作
1 l r k a
i = l ~ r A[i] += k * a ^ (i - l)
2 l r k a
i = l ~ r sum A[i] * k * a ^ (i - l)
最后输出一遍整个序列

输出对998244353取模
n,m <= 1e5, 5s

操作分块+序列分块
首先假设每B次操作整个重构一遍 块内修改对询问贡献的复杂度即为 mB
考虑如何重构。
首先散块暴力,设分块块长为B2,这部分复杂度即为 mB2
整块
考虑修改
不难发现整块序列所得的贡献形式的生成函数是一个有理分式,可以用分治ntt+多项式求逆解决
let b = max(B,B2), b log ^ 2 b
考虑查询
不难发现一个块对多个询问的影响可以写成多点求值的形式 b log ^ 2 b
散块部分暴力即可 mB2
总复杂度即为 m(B+B2)+m/B * n/B2 * b log ^ 2 b
设n,m同阶 取 B = B2 = sqrt n log n
n sqrt n log n

有一点卡常。

标签:等比数列,log,分块,ai,复杂度,序列,B2,区间
From: https://www.cnblogs.com/QedDust/p/17782205.html

相关文章

  • [USACO19DEC] Greedy Pie Eaters P 区间dp
    题目背景FarmerJohnhasMMcows,convenientlylabeled1…M1…M,whoenjoytheoccasionalchangeofpacefromeatinggrass.Asatreatforthecows,FarmerJohnhasbakedNNpies(1≤N≤3001≤N≤300),labeled1…N1…N.Cowiienjoyspieswithlabelsinther......
  • in里不是区间
    #查询是800或5000的工资的人select*fromempwhereSALin(800,5000); #查询薪资在800到1000之间的人select*fromempwhereSALbetween800and5000; ......
  • 计算小于或等于n的非负整数区间包含的1的数量
    在许多编程面试中,我们可能会碰到各种不同的问题,要求我们分析给定的数据或条件,以得出特定的结果。其中一个常见的问题是,给定一个整数n,要求计算出小于或等于n的非负整数区间包含的1的数量。这个问题可以通过直接编程解决,也可以通过更复杂的数学方法解决。在本文中,我将介绍一种简单的P......
  • 区间方差
    P5142区间方差单点修改,区间查询。更新很简单,直接赋值,然后更新(注意\(y^2\)可能爆int)。对于询问,我们考虑完全平方公式\((a_i-a)^2=a_i^2-2aa_i+a^2\),我们发现只需要维护区间平方和,区间和,平均数可以由区间和+逆元求出,然后就可以求了。注意可能爆int的地方。#include<cstd......
  • 面试必刷TOP101:2、链表内指定区间反转
    一、题目将一个节点数为size链表m 位置到n位置之间的区间反转,要求时间复杂度O(n),空间复杂度O(1)。例如:importjava.util.*;/**publicclassListNode{*intval;*ListNodenext=null;*}*/publicclassSolution{/****@paramhea......
  • R语言无套利区间模型期货期现研究:正向套利和反向套利次数、收益率分析华泰柏瑞300ETF
    全文链接:http://tecdat.cn/?p=31973最近我们被客户要求撰写关于无套利区间模型的研究报告,包括一些图形和统计输出。股指期货的套利交易有助于股指期货实现其价格发现以及风险规避的功能,因此提高套利交易的效率,对于发挥股指期货在经济发展中的作用有着重要的意义本文帮助客户对......
  • Python自动筛选、删除Excel不处于给定区间的数据
      本文介绍基于Python语言,读取Excel表格文件,基于我们给定的规则,对其中的数据加以筛选,将不在指定数据范围内的数据剔除,保留符合我们需要的数据的方法。  首先,我们来明确一下本文的具体需求。现有一个Excel表格文件(在本文中我们就以.csv格式的文件为例),如下图所示。  其中,Exc......
  • 如何处理一类多区间问题
    形如\(\sum_{i=l}^rM(L+i,R+i,x)\)一类问题不难发现这个东西实际上就是一堆等差数列,考虑这样高维差分我们在\(i\)处放一个1,就相当于在这里生成了一个公差为1等差数列,先在\(L+l\)处生成一个数列111111111111111111111 111111111 ......
  • Letter Picking (CF D) (区间DP, 暴力)(0,1,2 Alice 平 bob ,尽可能小,尽可能大)
     思路:区间dp(区间DP的时间复杂度不一定是n^3,可能是n^2更具题意)直接题直接区间dp,0Alice赢1平局2Bob赢(于是alice尽可能小,bob尽可能大)alice选l,bob可以选l+1,或者ralice选r,bob可选l或者r-1,看代码就行了#include<bits/stdc......
  • 合并区间(区间排序,vector的动态扩容的应用)
    以数组intervals表示若干个区间的集合,其中单个区间为intervals[i]=[starti,endi]。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。示例1:输入:intervals=[[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],[8,10],[15,18]]解释:区间[1,3......