日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CF1114F-Please, another Queries on Array?【线段树,欧拉函数】

發(fā)布時(shí)間:2023/12/3 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CF1114F-Please, another Queries on Array?【线段树,欧拉函数】 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

正題

題目鏈接:https://www.luogu.com.cn/problem/CF1114F


題目大意

nnn個(gè)數(shù)的一個(gè)序列要求支持

  • 區(qū)間乘上一個(gè)數(shù)
  • 詢問一個(gè)區(qū)間的乘積的φ\varphiφ

  • 解題思路

    因?yàn)閿?shù)很小,而我們求φ\varphiφ需要知道一個(gè)數(shù)所包含的質(zhì)因子。發(fā)現(xiàn)在300300300以內(nèi)的只有626262個(gè)質(zhì)數(shù),那么我們可以狀態(tài)壓縮起來一個(gè)數(shù)SSS表示狀壓后的所擁有的質(zhì)數(shù)集合。

    用線段樹維護(hù)區(qū)間乘機(jī)和質(zhì)數(shù)集合即可,時(shí)間復(fù)雜度O(nk+qlog?n)O(nk+q\log n)O(nk+qlogn)


    codecodecode

    #include<cstdio> #include<cstring> #include<algorithm> #define ll long long using namespace std; const ll pri[62]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293}; const ll N=4e5+10,XJQ=1e9+7; ll n,q,a[N],ans1,ans2; ll w[N*4],v[N*4],lazyw[N*4],lazyv[N*4]; ll power(ll x,ll b){ll ans=1;while(b){if(b&1)ans=ans*x%XJQ;x=x*x%XJQ;b>>=1;}return ans; } ll check(ll x){ll ans=0;for(ll i=0;i<62;i++)if(x%pri[i]==0)ans|=(1ll<<i);return ans; } void Build(ll x,ll L,ll R){lazyw[x]=1;if(L==R){w[x]=a[L];v[x]=check(a[L]);return;}ll mid=(L+R)>>1;Build(x*2,L,mid);Build(x*2+1,mid+1,R);w[x]=w[x*2]*w[x*2+1]%XJQ;v[x]=v[x*2]|v[x*2+1];return; } void Downdata(ll x,ll l,ll mid,ll r){if(!lazyv[x])return;ll val=lazyw[x];w[x*2]=w[x*2]*power(val,mid-l+1)%XJQ;w[x*2+1]=w[x*2+1]*power(val,r-mid)%XJQ;lazyw[x*2]=lazyw[x*2]*val%XJQ;lazyw[x*2+1]=lazyw[x*2+1]*val%XJQ;v[x*2]|=lazyv[x];v[x*2+1]|=lazyv[x];lazyv[x*2]|=lazyv[x];lazyv[x*2+1]|=lazyv[x];lazyw[x]=1;lazyv[x]=0;return; } void Change(ll x,ll L,ll R,ll l,ll r,ll val){if(L==l&&R==r){ll k=check(val);v[x]|=k;w[x]=w[x]*power(val,R-L+1)%XJQ;lazyw[x]=lazyw[x]*val%XJQ;lazyv[x]|=k;return;}ll mid=(L+R)>>1;Downdata(x,L,mid,R);if(r<=mid)Change(x*2,L,mid,l,r,val);else if(l>mid)Change(x*2+1,mid+1,R,l,r,val);else Change(x*2,L,mid,l,mid,val),Change(x*2+1,mid+1,R,mid+1,r,val);w[x]=w[x*2]*w[x*2+1]%XJQ;v[x]=v[x*2]|v[x*2+1];return; } void Ask(ll x,ll L,ll R,ll l,ll r){if(L==l&&R==r){ans1=ans1*w[x]%XJQ;ans2=ans2|v[x];return;}ll mid=(L+R)>>1;Downdata(x,L,mid,R);if(r<=mid)Ask(x*2,L,mid,l,r);else if(l>mid)Ask(x*2+1,mid+1,R,l,r);else Ask(x*2,L,mid,l,mid),Ask(x*2+1,mid+1,R,mid+1,r);return; } int main() {scanf("%lld%lld",&n,&q);for(ll i=1;i<=n;i++)scanf("%lld",&a[i]);Build(1,1,n);while(q--){char op[10];ll l,r,x;scanf("%s%lld%lld",op,&l,&r);if(op[0]=='M'){scanf("%lld",&x);Change(1,1,n,l,r,x);}else{ans1=1;ans2=0;Ask(1,1,n,l,r);for(ll i=0;i<62;i++)if((ans2>>i)&1)ans1=ans1*(pri[i]-1)%XJQ*power(pri[i],XJQ-2)%XJQ;printf("%lld\n",ans1);}} }

    總結(jié)

    以上是生活随笔為你收集整理的CF1114F-Please, another Queries on Array?【线段树,欧拉函数】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 一级中文片 | 琪琪色综合网 | 小镇姑娘高清播放视频 | 中文字幕精品视频在线 | 中文字幕欧美在线观看 | 天天射日日射 | 色诱av| 精品裸体舞一区二区三区 | av免费看网址 | 久久精品二区 | 善良的女邻居在线观看 | www.欧美在线 | 玖玖爱在线观看 | av丁香 | 日本国产在线观看 | 亚洲网站av | 爱搞逼综合 | 欧洲a级片 | 带aaa级的网名 | 91瑟瑟| www.国产一区| 影音先锋中文字幕一区二区 | 韩国三级hd中文字幕的背景音乐 | 91色网站 | 色呦呦视频 | 日本黄色的视频 | 另类欧美日韩 | 亚洲精品视频免费观看 | 人妻va精品va欧美va | 国产精品入口麻豆 | 97se亚洲| 在线毛片网站 | 高h奶汁双性受1v1 | 激情成人av| www.sesehu.com| www中文字幕在线观看 | 蜜臀av粉嫩av懂色av | 影音先锋成人资源 | 一区二区三区 中文字幕 | 九九影视理伦片 | 久久无毛 | 天天舔天天 | 成人午夜福利视频 | 少妇高潮惨叫久久久久 | 91av在线视频观看 | 曰韩在线| xxxx日本免费 | 黄色一级大片在线观看 | 日韩视频精品一区 | 欧美精品一 | 亚洲精品乱码久久久久久按摩观 | 欧美性大战xxxxx久久久 | 午夜动态图 | 中文字幕狠狠 | 干爹你真棒插曲mv在线观看 | 久色亚洲| 亚洲天天| 人妻少妇被猛烈进入中文字幕 | 一区二区小说 | 我的公把我弄高潮了视频 | 久久色视频 | 日韩欧美天堂 | 特级毛片av | 蜜臀av性久久久久蜜臀aⅴ四虎 | 99在线播放 | 成了校长的性脔h文 | 爱爱视频在线免费观看 | 在线视频三区 | 8x8ⅹ国产精品一区二区 | 99精品在线免费视频 | 日韩少妇精品 | 俺去久久 | 色小姐在线视频 | 无套内谢少妇露脸 | 亚洲欧美一区二区激情 | av不卡网| 黄色一级网址 | 特黄大片又粗又大又暴 | 性色视频在线观看 | 精品人伦一区二区三 | 欧美三级午夜理伦三级老人 | 国产亚洲精品久久久久动 | 一本大道一区二区 | 国产主播福利在线 | 绿帽人妻精品一区二区 | 日本人妻不卡一区二区三区中文字幕 | 无码国产69精品久久久久网站 | 偷拍亚洲视频 | 日韩视频一区二区三区在线播放免费观看 | 6699嫩草久久久精品影院 | 大地资源影视在线播放观看高清视频 | 日韩一区在线播放 | 亚洲综合色视频 | 玖草在线观看 | 日本偷偷操 | 成人欧美一区二区三区在线播放 | 91干干| 中文在线字幕免 | 在线免费观看中文字幕 |