小x的奇遇-adventure

题意:

给定函数f(n),g(n),求 G k ( n ) G_k(n) Gk​(n)
f ( n ) = { 1 , n = 1 ∑ i = 1 n − 1 [ g c d ( i , n − i ) = = 1 ] , n > 1 f(n)=\begin{cases} 1,n=1\\ \sum_{i=1}^{n-1}[gcd(i,n-i)==1],n>1 \end{cases} f(n)={1,n=1∑i=1n−1​[gcd(i,n−i)==1],n>1​
g ( n ) = ∑ d ∣ n f ( n d ) g(n)=\sum_{d|n}f(\frac{n}{d}) g(n)=d∣n∑​f(dn​)
G k ( n ) = { f ( g ( n ) ) , k = 1 g ( G k − 1 ( n ) ) , k > 1 ∧ k m o d 2 = 0 f ( G k − 1 ( n ) ) , k > 1 ∧ k m o d 2 = 1 G_k(n)=\begin{cases} f(g(n)),k=1\\ g(G_{k-1}(n)),k>1 \land k\ mod\ 2=0\\ f(G_{k-1}(n)),k>1 \land k\ mod\ 2=1 \end{cases} Gk​(n)=⎩⎪⎨⎪⎧​f(g(n)),k=1g(Gk−1​(n)),k>1∧k mod 2=0f(Gk−1​(n)),k>1∧k mod 2=1​

Solution:

对于f(n)函数的处理:

g c d ( i , n − i ) = g c d ( i , n ) gcd(i,n-i)=gcd(i,n) gcd(i,n−i)=gcd(i,n)
当n>1时
f ( n ) = ∑ i = 1 n − 1 [ g c d ( i , n − i ) = = 1 ] = ∑ i = 1 n − 1 [ g c d ( i , n ) = = 1 ] = φ ( n ) f(n)=\sum_{i=1}^{n-1}[gcd(i,n-i)==1]\\ =\sum_{i=1}^{n-1}[gcd(i,n)==1]\\ =\varphi(n) f(n)=i=1∑n−1​[gcd(i,n−i)==1]=i=1∑n−1​[gcd(i,n)==1]=φ(n)
所以
f ( n ) = φ ( n ) f(n)=\varphi(n) f(n)=φ(n)

对于g(n)函数的处理:

g ( n ) = ∑ d ∣ n f ( n d ) n = 1 , g ( 1 ) = 1 n > 1 , g ( n ) = ∑ d ∣ n f ( n d ) = ∑ d ∣ n φ ( n d ) = n g(n)=\sum_{d|n}f(\frac{n}{d})\\ n=1,g(1)=1\\ n>1,g(n)=\sum_{d|n}f(\frac{n}{d}) \\ =\sum_{d|n}\varphi(\frac{n}{d}) \\ =n g(n)=d∣n∑​f(dn​)n=1,g(1)=1n>1,g(n)=d∣n∑​f(dn​)=d∣n∑​φ(dn​)=n
所以 g ( n ) = n g(n)=n g(n)=n

对于 G k ( n ) G_k(n) Gk​(n)函数的处理:

G k ( n ) = { f ( g ( n ) ) , k = 1 g ( G k − 1 ( n ) ) , k > 1 ∧ k m o d 2 = 0 f ( G k − 1 ( n ) ) , k > 1 ∧ k m o d 2 = 1 = { φ ( n ) , k = 1 G k − 1 ( n ) , k > 1 ∧ k m o d 2 = 0 φ ( G k − 1 ( n ) ) , k > 1 ∧ k m o d 2 = 1 G_k(n)=\begin{cases} f(g(n)),k=1\\ g(G_{k-1}(n)),k>1 \land k\ mod\ 2=0\\ f(G_{k-1}(n)),k>1 \land k\ mod\ 2=1 \end{cases}\\ =\begin{cases} \varphi(n),k=1\\ G_{k-1}(n),k>1 \land k\ mod\ 2=0\\ \varphi(G_{k-1}(n)),k>1 \land k\ mod\ 2=1 \end{cases} Gk​(n)=⎩⎪⎨⎪⎧​f(g(n)),k=1g(Gk−1​(n)),k>1∧k mod 2=0f(Gk−1​(n)),k>1∧k mod 2=1​=⎩⎪⎨⎪⎧​φ(n),k=1Gk−1​(n),k>1∧k mod 2=0φ(Gk−1​(n)),k>1∧k mod 2=1​
易得求 G k ( n ) G_k(n) Gk​(n),就是求 ⌊ k + 1 2 ⌋ \lfloor\frac{k+1}{2}\rfloor ⌊2k+1​⌋次 φ \varphi φ
并且在求 l o g 2 n log_2n log2​n次后,恒有 φ ( 1 ) = 1 \varphi(1)=1 φ(1)=1

代码

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define INF 0x3f3f3f3f
unordered_map<ll,ll> mpsmu;
const int N=1e6;
const int mod=1e9+7;
int prime[N+5],notprime[N+5],cnt=0;
int phi[N+5];
void initPhi()
{phi[1]=1;notprime[1]=1;for(int i=2;i<=N;i++){if(!notprime[i]){prime[cnt++]=i;phi[i]=i-1;}for(int j=0;j<cnt&&1ll*i*prime[j]<=N;j++){notprime[i*prime[j]]=1;if(i%prime[j])phi[i*prime[j]]=phi[i]*(prime[j]-1);else{phi[i*prime[j]]=phi[i]*prime[j];break;}}}
}
int t;
ll n,k;
int main()
{initPhi();scanf("%d",&t);while(t--){scanf("%lld%lld",&n,&k);k=(k+1)/2;while(k--){if(n==1)break;if(n<=N)n=phi[n];else{ll x=n;for(int i=0;i<cnt;i++){int c=0;while(x%prime[i]==0)x/=prime[i],c++;if(c>0)n=n/prime[i]*(prime[i]-1);if(x<=N&&!notprime[x]){n=n/x*(x-1);x=1;break;}if(x==1)break;}if(x>1)n=n/x*(x-1);}}n=n%mod;printf("%lld\n",n);}return 0;
}

小x的奇遇-adventure相关推荐

  1. 2020-2021年度第二届全国大学生算法设计与编程挑战赛 (秋季赛)-正式赛-详细题解

    文章目录 A小x的奇遇-adventure B数位dp-dp F大数据分析-data A小x的奇遇-adventure #include <cstdio>const int N = 1e6 ...

  2. 用计算机弹人间惊鸿客,逆水寒人间惊鸿客奇遇怎么完成 人间惊鸿客攻略

    逆水寒人间惊鸿客奇遇怎么触发?大家都知道逆水寒游戏里有许多非常有趣的奇遇,并且每个奇遇背后都一段有趣的小故事.最近很多的小伙伴们都在问人间惊鸿客奇遇怎么触发,所以小编今天带来的是逆水寒人间惊鸿客奇遇触 ...

  3. 倩女幽魂手游服务器维护多久,倩女幽魂手游11月22日在线维护公告

    亲爱的玩家: <倩女幽魂>手游将于本周四上午进行在线更新,更新期间无需停服,玩家可照常进行游戏.欢迎您届时体验本周放出的全新内容,祝全体玩家游戏愉快! 本周四在线更新内容如下: 服务器调整 ...

  4. SharePoint定制开发个性皮肤

    使用 SharePoint 2010 发布网站实际打造品牌 摘要:了解一些基本概念,以帮助您在 Microsoft SharePoint Server 2010 发布网站中创建引人注目的用户界面设计. ...

  5. 上海迪士尼之旅(附攻略)

    上海玩了一天半.下午到上海,老哥带我们逛了城隍庙-南京路-外滩,吃了个晚饭,然后老哥把详细攻略告诉了我们,晚上去酒店入住. 酒店订在迪士尼附近,有车接送去迪士尼,价格也实惠,还不错. 晚上我们提前下好 ...

  6. 上海迪士尼游记攻略(懒人佛系版,但丝毫不耽误快乐呀~)

    点击上方蓝色字体,关注我们 首先是不重要的前期准备 没去迪士尼之前,我可能不会想到自己在里面会开心的像个两百斤的胖子两三岁的孩子 没办法,谁让迪士尼就是这么一个神奇的地方呢~ 说起来打算去迪士尼也是一 ...

  7. 将Excel文件导入到MySQL数据库中并实现列转行操作

    在处理数据的时候,因为数据源在Excel文件中,本人Excel文件的处理方法不是太会,加上朋友说在Excel中处理这样的数据很麻烦,我就想着干脆导入到数据库中通过代码解决这个问题,感兴趣的可以找我拿数 ...

  8. Java练习 SDUT-2737_小鑫の日常系列故事(六)——奇遇记

    小鑫の日常系列故事(六)--奇遇记 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 今天,小鑫在山上玩的时候,意外被推下 ...

  9. 小鑫の日常系列故事(六)——奇遇记_JAVA

    Description 今天,小鑫在山上玩的时候,意外被推下了悬崖. 当然,掉下悬崖之后必然有奇遇.(剧情就是这么坑爹)就狗血的碰到了野人A和野人B.然后两位野人就给了他一本武功秘籍. 这是一本强大的 ...

最新文章

  1. “众所周知,视频不能P”,GAN:是吗?
  2. 为什么说红外热成像测温设备是2020年最火的弱电设备?
  3. 技术分享:游戏中的 2D 可见性
  4. js List 对象封装【原创】
  5. 苹果今年将为iPhone采购1.72亿块OLED屏幕 六成用于iPhone 13
  6. 启动计算机时页面配置出现问题,开机提示“由于启动计算机时出现了页面配置问题…”...
  7. 【数据结构笔记02】什么是算法
  8. 暑期集训20190727 水(water)
  9. ios keychain 不被清理_限免 | 可爱天气 清理君等等
  10. MySQL启动报错: Failed to start LSB start and stop MySQL
  11. 【Unity2D入门教程】简单制作一个弹珠游戏之制作场景①(开场,结束,板子,球)
  12. android exoplayer 直播流,使用Exo-Media Player播放RTMP直播
  13. 读吴军一万小时定律误区有感
  14. Python判断节假日 chinese_calendar
  15. Aseprite学习/技巧
  16. 2021年5月23日哈工大scir笔试
  17. linux永久自动挂载
  18. 软件行业职位英文缩写介
  19. 使IT慢如蜗牛的十二个不良习惯
  20. spark livy

热门文章

  1. 滴滴发布全球首款定制网约车D1 ——汽车迎来新物种,共享出行进入新阶段
  2. md5加密和SHA1(嘻哈算法)
  3. Erp系统用友U8找不到打印机驱动解决办法
  4. Attentional Graph Convolutional Networks for Knowledge Concept Recommendation in MOOCs in a Heter---
  5. ViewBag 和 ViewData 的用法和区别
  6. 帝国时代2 for smartphone,手机上的即时战略!
  7. PISSTV 树莓派慢扫描电视
  8. 【网络基础系列二】BOOTP、DHCP协议
  9. 进程同步——临界区(操作系统)
  10. Tomcat 部署项目(3种方式)