NOIP模拟(20171024)T3 数学
来源:互联网 发布:淘宝e客服怎么开通 编辑:程序博客网 时间:2024/05/29 14:15
求满足方程
询问组数
引理一:若
证明:
由于
引理二:若
证明:
当
当
则
又
故当
引理三:当
证明:
下证当
则当
由引理二得
设
由
由引理一得
故当
故
(考场上只会打表找规律的我对此证明表示,“呵呵”)
好那么当
当
显然对于任意
那么对于小于30的
对于大于30的
暴力统计即可
代码
#include<bits/stdc++.h>#define LENusing namespace std;inline long long getint(){ long long x=0,p=1; char c=getchar(); while(!isdigit(c)){ if(c=='-')p=-1; c=getchar(); } while(isdigit(c)){ x=(x<<3)+(x<<1)+(c^'0'); c=getchar(); } return x*p;}inline void putint(long long x){ if(x<0){ x=-x; putchar('-'); } static long long buf[22]; long long tot=0; do{ buf[tot++]=x%10; x/=10; }while(x); while(tot)putchar(buf[--tot]+'0');}inline long long ksm(long long a,long long b,long long c){ long long ans=1; while(b){ if(b&1)ans=ans*a%c; b>>=1; a=a*a%c; } return ans;}inline void work(long long a,long long n){ if(a%2==1){ putint(1),putchar('\n'); return; } long long mod=1<<n; long long ans=0; for(long long i=1;i<=30;++i){ if(ksm(a,i,mod)==ksm(i,a,mod))++ans; } long long need=(n-1)/a+1,n2=1<<need; ans+=mod/n2-30/n2; putint(ans),putchar('\n');}int main(){ long long t=getint(); while(t--){ long long a=getint(),n=getint(); work(a,n); } return 0;}
- NOIP模拟(20171024)T3 数学
- 【NOIP 模拟题】[T3] 约会(lca)
- NOIP模拟(10.19)T3 放盒子
- NOIP模拟(10.20)T3 裁剪表格
- NOIP模拟(20171023)T3 拆网线
- NOIP模拟(10.22)T3 树
- NOIP模拟(10.23)T3 拆网线
- NOIP模拟(10.24)T3 Math
- NOIP模拟(20171026)T3 大逃杀
- NOIP模拟(10.26)T3 大逃杀
- NOIP模拟(10.27)T3 心灵治愈
- NOIP模拟(10.30)T3 星星
- NOIP模拟(10.31)T3 纸带
- NOIP模拟(20171030)T3 星星
- NOIP模拟(11.07)T3 图
- NOIP模拟(20171031)T3 纸带
- noip模拟11.3 T3
- 【20160904】NOIP模拟赛T3
- BZOJ2982 combination
- 第七周 【项目1
- codevs 1174 靶形数独 (启发式搜索)
- Django 登陆VIEW
- 第七周 【项目2
- NOIP模拟(20171024)T3 数学
- linux mysql表格大小写的问题
- bzoj4446 小凸玩密室【树形dp】
- 洛谷2119 魔法阵
- Codeforces 855 B Marvolo Gaunt's Ring(dp)
- Codeforces 877 A Alex and broken contest
- 7种失败的职场人
- ViewPager使用中遇到的问题
- NOIP-2014 联合权值