题目

思路来源
lyw
题解
洛谷高仿题目P4247
(ai+x)(ai+x)(ai+x)注意到当x有超过20项时,20个2相乘,对2的20次方取模就为0
所以,维护0次项到19次项乘积的和,向上合并时,是两个多项式卷积,这里暴力相乘即可
下推标记,当下放一个区间加x的标记时,,其中,i<j<20
复杂度O(nlogn*20*20),比较卡常
经典卡常技巧:将取模改成unsigned int自然溢出即可
代码
#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define per(i,a,b) for(int i=(a);i>=(b);--i)
typedef long long ll;
typedef unsigned int ui;
typedef double db;
typedef pair<ll,int> P;
#define fi first
#define se second
#define pb push_back
#define dbg(x) cerr<<(#x)<<":"<<x&

文章描述了一种使用段树数据结构解决计算多项式乘积取模问题的方法,通过优化取模操作以降低时间复杂度。文章还提及了通过自然溢出技巧处理大整数运算,以及如何在段树中高效地更新和查询区间乘积。
最低0.47元/天 解锁文章
543

被折叠的 条评论
为什么被折叠?



