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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[CF396E]On Iteration of One Well-Known Function

發布時間:2025/6/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [CF396E]On Iteration of One Well-Known Function 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題意:給定$n=\prod\limits_{i=1}^mp_i^{a_i}$,求$\varphi\left(\cdots\varphi\left(n\right)\cdots\right)$(有$k$個$\varphi$)

因為$\varphi(n)=n\prod\limits_{i=1}^m\dfrac{1-p_i}{p_i}$,所以每次對一個數$n$取$\varphi$,就相當于對它的每個質因數$p$,把$n$乘上$\dfrac{p-1}p$

先篩出$10^6$內的質數,然后對$n$的每一個的質因子分別考慮

記$c_p$為當前$n$的質因數分解式中$p$的指數,$k_p$為還要對$p$這個指數執行多少次$\varphi$,每次比較$c$和$k$,可以一次執行$t=\min(c_p,k_p)$次$\varphi$(一次砍掉$t$個$p$),再把$(p-1)^t$的質因數分解加到對應的$c$即可

這樣做會帶來一個問題:我們執行$\varphi$時必須要用$n$的質因子$p$,而用到的$p$可能來自最近的幾次質因數分解$p-1$,而這幾次分解并未完全分解,所以我們對于某些執行$\varphi$多次的$p$要暫緩執行(等待之前的$p-1$被分解完),記$skip_p$表示對于$p$要跳過多少次執行$\varphi$,每次如果可以執行,那么就用$t-1$更新$skip_p$(執行完這次,還要等待$t-1$波分解其他質因子就可以繼續了),否則按$skip_p$跳過幾次,這樣可以保證每次執行$\varphi$都優先使用原來的$p$,最后再把$p-1$分解留到以后使用

數據范圍很嚇人,可是這樣是挺快的2333(因為如果要執行$\varphi$一次就是$\min(c_p,k_p)$,所以這兩個數都減小得很快)

?

2018.3.28補充一些東西

?

$\varphi\left(\prod\limits_{i=1}^kp_i^{a_i}\right)=\prod\limits_{i=1}^k\varphi\left(p_i^{a_i}\right)=\prod\limits_{i=1}^kp_i^{a_i-1}\left(p_i-1\right)$

?

第一次取$\varphi$,我們可以對每個質因數分開考慮,之后的取$\varphi$操作就要小心了,如果我們對原來的$p_i$執行$\varphi$,由此產生的$p_i-1$分解之后會加到更小的$p_i$上

?

所以,①我們要從小到大枚舉$p_i$做$\varphi$操作(因為$p_i-1$分解成更小的質數)②一次性對$p_i$做完$t$次$\varphi$之后,接下來如果當前沒有$p_i$這個因子,我們要跳過這些操作(總共跳過$t-1$次)而不是直接把$k_{p_i}-1$(因為接下來同一階段的其他的$p_i-1$分解之后有可能落到這里,我們不能忽略掉這些“新來的”$p_i$)

?

#include<stdio.h> typedef long long ll; const int T=1000000; int p[1000010],f[1000010]; ll c[1000010],k[1000010],skip[1000010]; ll min(ll a,ll b){return a<b?a:b;} int main(){int m,M,i,j,x;ll t;bool flag;for(i=2;i<=T;i++){if(f[i]==0){M++;p[M]=i;f[i]=i;}for(j=1;p[j]<=f[i]&&p[j]*i<=T&&j<=T;j++)f[p[j]*i]=p[j];}scanf("%d",&m);while(m--){scanf("%d",&x);scanf("%I64d",c+x);}scanf("%I64d",&t);for(i=1;i<=T;i++)k[p[i]]=t;do{flag=0;for(i=1;i<=T;i++){x=p[i];if(c[x]){if(k[x]==0)continue;t=min(c[x],k[x]);c[x]-=t;k[x]-=t;skip[x]+=t-1;flag=1;x--;while(x>1){c[f[x]]+=t;x/=f[x];}}else if(skip[x])skip[x]--;else if(k[x])k[x]--;}}while(flag);x=0;for(i=1;i<=T;i++){if(c[p[i]])x++;}printf("%d\n",x);for(i=1;i<=T;i++){if(c[p[i]])printf("%d %I64d\n",p[i],c[p[i]]);} }

轉載于:https://www.cnblogs.com/jefflyy/p/8660363.html

總結

以上是生活随笔為你收集整理的[CF396E]On Iteration of One Well-Known Function的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: aaa黄色片| www.一区二区三区四区 | 男生桶女生肌肌 | 四虎影库 | 午夜肉体高潮免费毛片 | 亚洲一区二区视频网站 | 国产精品伦一区二区三区 | 男女激情视频网站 | 日韩欧美国产激情 | 亚洲国产精品久久久久婷婷老年 | 狠狠操在线视频 | 成人福利在线播放 | 国产九色在线 | 亚洲男女视频在线观看 | 日韩黄色一级片 | 天天插天天摸 | 国产又粗又硬视频 | 国产夜色视频 | 久久深夜视频 | 免费啊v在线观看 | 日韩午夜剧场 | 日日碰狠狠添天天爽无码av | 极品少妇一区二区三区 | 女人av在线 | 国产日韩精品一区二区 | 777久久久精品一区二区三区 | 日本aⅴ在线观看 | 中文字幕在线视频一区二区三区 | avxx| 日韩网站在线播放 | 日韩中文免费 | 波多野结衣导航 | 巨茎人妖videos另类 | 国产午夜在线播放 | 亚洲精品a级 | 日韩视频免费观看高清完整版 | 黑人一区二区 | 欧美特级a | 欧美高清a| 色婷婷av一区二区三区在线观看 | 欧美日韩中文字幕视频 | 中国一及毛片 | 少妇人妻在线视频 | 日本va视频| 少妇精品无码一区二区 | 少妇29p| 亚洲无限观看 | 91免费视| 久久99精品波多结衣一区 | 性中国xxx极品hd | 日韩中文在线播放 | www.黄色片.com | 97久久国产亚洲精品超碰热 | 天天碰免费视频 | 欧美日韩电影一区二区 | 香蕉国产片 | 国产日韩欧美一区二区 | www黄色在线观看 | 国产日韩视频 | 久久免费小视频 | 欧美日韩不卡一区 | 天天干天天上 | 夜夜精品一区二区无码 | 人妻饥渴偷公乱中文字幕 | 黄色xxxxx | 午夜免费福利小电影 | 欧美一区二区三区成人片在线 | 久久成人综合 | 久草热播| 亚洲欧美国产毛片在线 | 妓院一钑片免看黄大片 | 专干中国老太婆hd | 青青草青娱乐 | 婷婷爱爱| 波多野结衣视频在线观看 | 三级小视频在线观看 | 午夜特片网 | 亚洲色图狠狠干 | 精品国产一区二区不卡 | 91网国产 | 伊人久久久久噜噜噜亚洲熟女综合 | 欧美三日本三级少妇三 | 另类小说婷婷 | 高清一区二区三区视频 | 黑人巨大精品欧美黑寡妇 | 欧美成人h版| 国产睡熟迷奷系列精品视频 | 久久性感美女视频 | 国产网址在线 | 99久久久久成人国产免费 | 超级砰砰砰97免费观看最新一期 | 成年女人免费视频 | 在线观看香蕉视频 | 亚洲老老头同性老头交j | 国产真人无码作爱视频免费 | 无码人妻精品一区二区三区夜夜嗨 | 国产人妻aⅴ色偷 | 美女狂揉羞羞的视频 | 日韩欧美国产激情 |