首页 > 其他分享 >QOJ #9448. Product Matrix

QOJ #9448. Product Matrix

时间:2024-10-09 16:01:24浏览次数:7  
标签:Product frac log limits sum 复杂度 乘起来 QOJ Matrix

题面传送门

这居然是能快速插值的?

首先令 \(A_{i,x,y}=a_{x,y}2^i+b_{x,y}\),则 \(\prod\limits_{i=k}^{k+m-1} A_i\) 的 \((1,1)\) 位置相当于将 \(x=2^k\) 代入答案多项式得到的点值。可以用矩阵乘法在 \(O(mn^3)\) 时间复杂度内求出这 \(m+1\) 个点值。

然后我们需要插值出原来的多项式。记 \(2^i\) 处的点值为 \(v_i\),考虑直接使用拉格朗日插值,可以得到

\[f(x)=\sum\limits_{i=0}^{m} v_i\prod\limits_{i\not=j} \frac{x-2^j}{2^i-2^j} \]

乘积式下部容易计算,记每个 \(v_i\) 乘上对应分母之后的值为 \(w_i\),则相当于要求

\[f(x)=\prod\limits_{i=0}^{m}(x-2^i)\sum\limits_{i=0}^{m} \frac{w_i}{x-2^i} \]

前一部分可以分治计算:对于某个 \(m\),先算出前 \(\frac{m}{2}\) 个数乘起来的结果,后 \(\frac{m}{2}\) 个数乘起来的结果是可以用前面推出来的,然后乘起来即可。时间复杂度 \(T(m)=T(\frac{m}{2})+O(m\log m)\) 有 \(T(m)=O(m\log m)\)。

后一部分考虑在 \(0\) 点处泰勒展开,可以得到

\[\sum\limits_{i=0}^{m} \frac{w_i}{-2^i}\sum\limits_{j\geq 0}x^j2^{-ij} \]

要对于每个 \(x_i\) 求出其系数,这个可以使用 Chirp Z-Transform \(O(m\log m)\) 计算。最后再把两部分乘起来即可。

时间复杂度 \(O(m\log m+mn^3)\)。

submission

标签:Product,frac,log,limits,sum,复杂度,乘起来,QOJ,Matrix
From: https://www.cnblogs.com/275307894a/p/18454478

相关文章

  • Matrix Distances(ICPC2023 合肥站)
    #include<bits/stdc++.h>#defineendl'\n'#defineintllusingll=longlong;typedefunsignedlonglongull;usingnamespacestd;voidGordenGhost();signedmain(){#ifdefGordenfreopen("in.txt","rt",stdi......
  • 题解 QOJ1869【Power Station of Art】/ SS241006B【结论题】
    题解QOJ1869【PowerStationofArt】/SS241006B【结论题】PetrozavodskSummer2021.Day6.XJTUContest,GPofXJTUXXIIOpenCupnamedafterE.V.Pankratiev,GrandPrixofXi'an题目描述给出一个无向图,每个点有点权\(a\)和颜色\(c\),其中颜色只会有红蓝两种。......
  • 题解 QOJ2559【Endless Road】/ SS241006D【套路题】
    PetrozavodskWinter2022.Day2.KAISTContest+KOITST2021XXIIOpenCupnamedafterE.V.Pankratiev,GrandPrixofDaejeon题目描述现在有\(10^9\)个花盆,依次编号为\(1,2,\dots,10^{9}\)。给定\(n\)个二元组\(L_i,R_i(L_i<R_i)\),我们将进行\(n\)次以下操......
  • QOJ #9438. Two Box
    题面传送门首先考虑给定一个状态怎么计算答案。考虑建立一棵\(m\)层的树,在第\(d\)层的时候,考虑每个极长连续段\([l,r]\)满足\(\max\limits_{i=l}^{r}a_i\geqd\),则将\([l,r+1]\)看作这棵树上的一个点,向\(d+1\)层中所有被这个区间包含的点连边。对于第\(i\)层的第......
  • gym103687D / QOJ3998 The Profiteer
    题意有\(n\)个物品,和一个背包容量上限\(m\)。每个物品有价值\(v_i\)和体积\(a_i\)。你需要选择一段区间\([l,r]\),将这个区间内的体积变为\(b_i\),剩下的不变。然后你对这\(n\)个物品做背包,设背包容量结果为\(f(i)\),需要求出有多少段区间使得\(\dfrac{\sum_{i=1}^mf(......
  • TaskMatrix
    TaskMatrixhttps://github.com/chenfei-wu/TaskMatrixTaskMatrixTaskMatrixconnectsChatGPTandaseriesofVisualFoundationModelstoenablesendingandreceivingimagesduringchatting. Insight&Goal:Ontheonehand,ChatGPT(orLLMs)serv......
  • 《M5Product: Self-harmonized Contrastive Learning for E-commercial Multi-modal P
    系列论文研读目录文章目录系列论文研读目录摘要1.引言2.相关工作3.M5Product数据集4.我们的方法4.1.SCALE框架设计4.2.借助掩蔽多模态任务的SCALE4.3.自我和谐的通道间对比学习5.实验5.1.模态多样性5.2.多模式下游任务5.3.消融研究和可视化6.局限性和今后的工作7.结......
  • qoj9230 Routing K-Codes 题解
    首先这个图肯定不能有环,也不能有度数大于\(3\)的点。也就是说这是一颗二叉树。我们假设父亲都比儿子小,根节点的值最小。那么假设\(u\)点的值为\(x\),它的儿子的值一定是\(\{2x,2x+1\}\)的子集。会发现\(u\)的子树内的权值和是一个关于\(x\)的一次函数。而且无论两个儿......
  • [论文阅读报告] All pairs shortest paths using bridging sets and rectangular matr
    本篇文章介绍整数边权下\((\min,+)\)矩阵乘、APSP等问题的一些做法。若每个元素的权值在\([-M,M]\cap\mathbbZ\)中,\(n\timesn^r\)和\(n^r\timesn\)的\((\min,+)\)矩阵乘可做到\(\tildeO(Mn^{\omega(r)})\);有向图APSP可做到\(\tildeO(n^{2+\mu(t)})\),......
  • QOJ 8726 [APIO2024] 魔术表演 题解
    DescriptionAlice和Bob是著名的魔术师。Catherine是一位富豪,她非常喜欢观看Alice和Bob的魔术。某一天,Catherine决定向Alice和Bob发出挑战:只要他们能成功表演如下的魔术,Catherine就将向他们提供巨额奖金!这个魔术的表演过程如下:步骤\(1\):Bob进⼊⼀个密室中,在魔术......