当前位置: 首页 > news >正文

苏州网站开发建设服务广东网站建设商家

苏州网站开发建设服务,广东网站建设商家,用python做网站的步骤,wordpress 绑定手机F-序列查询 v5zsq题解 假设数字xxx在区间[l,r]种出现y次#xff0c;那么包含x的子区间个数为2r−l1−y⋅(2y−1)2^{r-l1-y}(2^y-1)2r−l1−y⋅(2y−1)#xff0c;因此对询问贡献是x⋅2r−l1−y⋅(2y−1)x[2r−l1−2r−l1−y]x2^{r-l1-y}(2^y-1)x[2^{r-l1}-2^{r-l1-y}]x⋅2r…F-序列查询 v5zsq题解 假设数字xxx在区间[l,r]种出现y次那么包含x的子区间个数为2r−l1−y⋅(2y−1)2^{r-l1-y}·(2^y-1)2r−l1−y⋅(2y−1)因此对询问贡献是x⋅2r−l1−y⋅(2y−1)x[2r−l1−2r−l1−y]x·2^{r-l1-y}·(2^y-1)x[2^{r-l1}-2^{r-l1-y}]x⋅2r−l1−y⋅(2y−1)x[2r−l1−2r−l1−y] 其中第一部分非常好维护第二部分的贡献可以把出现次数相同的数一起维护贡献 sum[k]维护出现从次数为k的数字总和是多少。用个链表加快计算。 注意到一起区间中只有O(n)O( \sqrt n )O(n​)种不同的出现次数因为12...nO(n)12...\sqrt n O(n)12...n​O(n)这是一个自然根号所以我们可以用一个均摊的莫队来维护区间可能的出现次数从而维护区间中所有出现次数然后为了O(1)实现快速幂我们可以每次O(n)O(\sqrt n)O(n​)算出21,22…2nmodp2^1,2^2…2^{\sqrt n} \mod p21,22…2n​modp以及2n,22n…2nnmodp2^{\sqrt n},2^{2\sqrt n}…2^{\sqrt n\sqrt n} \mod p2n​,22n​…2n​n​modp #includebits/stdc.h #pragma GCC optimize(2) using namespace std; using lllong long; template class Tint T rd() {T res0;T fg1;char chgetchar();while(!isdigit(ch)) {if(ch-) fg-1;chgetchar();}while( isdigit(ch)) res(res1)(res3)(ch^48),chgetchar();return res*fg; } ll qmi(ll a,ll b,ll mod) {ll v1;while(b){if(b1) vv*a%mod;aa*a%mod;b1;}return v; } const int N100005; int Bs,b[N],a[N],n,m; struct node {int l,r,p,id;bool operator(const nodeo)const{if(b[l]b[o.l]){if(b[l]1) return ro.r;return ro.r;}return b[l]b[o.l];} }q[N]; int num[N],cnt[N]; ll sum[N]; int h,fr[N],ne[N]; int ans[N]; int mod; void insert(int x) {ne[x]h;fr[h]x;fr[x]0;hx; } void del(int x) {if(hx) return hne[x],void();ne[fr[x]]ne[x];fr[ne[x]]fr[x]; } void update(int x,int v) {// 出现个数为num[x]-xif(num[x]){sum[num[x]]-x;cnt[num[x]]--;if(!cnt[num[x]]) del(num[x]);}num[x]v;if(num[x]){sum[num[x]]x;cnt[num[x]];if(cnt[num[x]]1) insert(num[x]);} } int add(int a,int b) {ab;if(amod) a-mod;return a; } int mul(int a,int b) {ll z1ll*a*b;return z-z/mod*mod; } int f[1005],g[1005]; void init(int n) {f[0]1;for(int i1;iBs;i) f[i]add(f[i-1],f[i-1]);g[0]1;for(int i1;in/Bs;i) g[i]mul(g[i-1],f[Bs]); } int Pow(int n) {return mul(g[n/Bs],f[n%Bs]); } int query(int l,int r,int p) {modp;int lenr-l1;init(n); int ans0;for(int ih;i;ine[i]) ansadd(ans,mul(sum[i]%p,add(Pow(len),p-Pow(len-i))));return ans; } int main() {nrd(),mrd();for(int i1;in;i) a[i]rd();Bssqrt(n)1;for(int i1;in;i) b[i](i-1)/Bs1;for(int i1;im;i) q[i].lrd(),q[i].rrd(),q[i].prd(),q[i].idi;sort(q1,q1m);int l1,r0;for(int i1;im;i){while(rq[i].r) update(a[r],1);while(rq[i].r) update(a[r--],-1);while(lq[i].l) update(a[l],-1);while(lq[i].l) update(a[--l],1);ans[q[i].id]query(q[i].l,q[i].r,q[i].p);}for(int i1;im;i) printf(%d\n,ans[i]);}
http://wiki.neutronadmin.com/news/132998/

相关文章:

  • 深圳网站建设有限公司 2019做网站如何计算工资
  • 网站开发应用开发有什么好的手机推荐网站
  • 公司网站开发背景海南行指三亚网站开发
  • 芦苞建网站公司看广告赚佣金平台
  • 重庆放心seo整站优化西宁网站建设哪家好
  • 白山网站设计广州黄埔网站建设
  • 合肥市建设通网站一个网站的seo优化有哪些
  • 信息网站方案wordpress从新安装
  • 网站开发博客做网站公司做网站公司
  • 建设网站困难的解决办法重庆妇科医院咨询
  • 广州市网站建设 骏域视频网站 建设 硬件
  • 一级a做爰电影片免费网站wordpress 产品列表页
  • 怎么修改wordpress站点代码做旅游景区网站
  • 白银网站建设硬件工程师培训机构哪家好
  • 国外手做网站wordpress加密原理
  • 企业案例网站最新淘宝客网站程序
  • 温州做网站哪家比较好pt网站怎么下载与做
  • 广州 网站制作 网站推广他达拉非片和西地那非片的区别
  • 公司注销的网站备案东莞网站哪家好
  • 做外掛网站空间网站建设指南
  • 仿制网站建设电子工程网稳压器教程
  • 莱山网站建设东莞seo整站优化火速
  • 移动应用开发公司网站模板贵州省遵义市建设局网站
  • 搭建网站步骤wordpress怎么启用sll证书
  • 学校网站建设管理制度班级网站素材下载
  • 手机网站开发教程视频查询企业的软件
  • 代做毕设网站做培训网站哪家好
  • 移动网站用什么建设网站 永久关停 请示
  • 正规的咨询行业网站策划宁波梅山建设局网站
  • 卧龙区网站建设淘宝现在不能发布网站建设