传送门

这题看着很唬人,但实际上是道水题...

f[n]通过打表或证明,可以发现就是欧拉函数,g[n]恒等于n,所以题目的意思就是让你求n的k次欧拉函数。

可以发现实际上k次欧拉函数,n的数值减小得很快,所以直接暴力即可。

code:真的暴力

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<iomanip>
#include<queue>
#include<set>
#include<map>
#include<vector>
using namespace std;
#define LL long long
#define FILE "dealing"
#define up(i,j,n) for(LL i=j;i<=n;i++)
LL read(){
LL x=0,f=1,ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9')x=(x<<1)+(x<<3)+ch-'0',ch=getchar();
return x*f;
}
const LL maxn=1600000,mod=1000000007,inf=1000000000;
bool cmin(LL& a,LL b){return a>b?a=b,true:false;}
bool cmax(LL& a,LL b){return a<b?a=b,true:false;}
LL c[maxn],r[maxn],cnt=0;
LL mul(LL a,LL b){LL ans=1;for(;b;a*=a,b>>=1)if(b&1)ans*=a;return ans;}
LL qiuoula(LL n){
LL m=(LL)sqrt(n*1.0+1),sum=1;
cnt=0;
up(i,2,m){
if(n==1)break;
while(n%i==0){
n/=i;
if(c[cnt]==i)r[cnt]++;
else c[++cnt]=i,r[cnt]=1;
}
if(c[cnt]==i)
sum*=(mul(c[cnt],r[cnt])-mul(c[cnt],r[cnt]-1));
}
if(n>1)sum*=(n-1);
return sum; }
int main(){
//freopen(FILE".in","r",stdin);
//freopen(FILE".out","w",stdout);
LL n=read(),m=(read()+1)/2;
up(i,1,m){
n=qiuoula(n);
if(n==1)break;
}
cout<<n%mod<<endl;
return 0;
}

  

codeforces776E的更多相关文章

随机推荐

  1. 洛谷——P1086 花生采摘

    P1086 花生采摘 题目描述 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!――熊字”. 鲁宾逊先生和多多都 ...

  2. Xamarin XAML语言教程基础语法篇大学霸

    Xamarin XAML语言教程基础语法篇大学霸 前  言 Xamarin是一个跨平台开发框架.它可以用来开发iOS.Android.Windows Phone和Mac的应用程序.使用Xamarin框 ...

  3. for 、foreach 、iterator 三种遍历方式的比较

    习惯用法 for.foreach循环.iterator迭代器都是我们常用的一种遍历方式,你可以用它来遍历任何东西:包括数组.集合等 for 惯用法: List<String> list = ...

  4. Tomcat、MySQL的安装与配置

    JAVA环境配置 下载安装jdk(Java Development Kit) 配置安装环境 右键计算机——>属性——>高级系统设置——>环境变量——>新建 变量名:  JAVA ...

  5. Optimizer统计信息管理介绍

    1.    前言 在我们的日常维护中受理一些一直以来运行得非常好的系统,突然有一天用户反馈没有做不论什么操作,系统的某个功能模块或者是某个报表曾经仅仅须要几秒.但如今须要几分钟或更长的时间都没有返回结 ...

  6. 使用Android注解来改善代码

    昨晚看到一篇好文章.然后是英文的.所以决定翻译分享给大家.这是原文链接:http://www.michaelevans.org/blog/2015/07/14/improving-your-code- ...

  7. 爬虫基本操作、requests和BeautifulSoup

    1. 爬虫基本操作 例如舆情系统: 获取汽车之家新闻放到自己数据库里,创建自己的app,发布内容,注明来源,自己创业. URL指定内容获取到 - 发送Http请求:http://www.autohom ...

  8. RTMP协议规范(转载)

    译序: 本文是为截至发稿时止最新 Adobe 官方公布的 RTMP 规范.本文包含 RTMP 规范的全部内容.是第一个比较全面的 RTMP 规范的中译本.由于成文时间仓促,加上作者知识面所限,翻译错误 ...

  9. ffmpeg 跟我学 视频教程

    最近一段时间找时间录制了一些Ffmpeg视频教程,还有录制完毕,会持续更新,内容会包含Ffmeg保存文件,网络流转发, 编码,解码,播放器制作,以及服务端搭建等等,适合初学者,有需要的朋友的可以关注: ...

  10. 【NoSql】Redis实践篇-简单demo实现(一)

    Redis是一个key-value存储系统. Redis的出现,非常大程度补偿了memcached这类key/value存储的不足,在部分场合能够对关系数据库起到非常好的补充作用 Redis是一个ke ...