(bzoj 3209 花神的数论题)<>
来源:互联网 发布:python升级到2.7 编辑:程序博客网 时间:2024/05/16 00:54
传送门
Solution
将数字看成二进制
然后逐位统计即可
Code
// by spli#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define LL long longusing namespace std;const LL p=10000007;LL n;LL f[70][70];int bit[70],num=0;LL exp(LL a,LL b){ LL ret=1,k=a%p; while(b){ if(b&1) (ret*=k)%=p; b>>=1; (k*=k)%=p; } return ret%p;}LL get(int x){ LL s=0; for(int i=num;i>=1;--i){ if(bit[i]==1){ s+=f[i-1][x]; x--; } if(x<0) break; } return s;}int main(){ scanf("%lld",&n); n++; for(int i=0;i<=60;++i) f[i][0]=1; for(int i=1;i<=60;++i) for(int j=1;j<=i;++j) f[i][j]=f[i-1][j]+f[i-1][j-1];//取模会WA while(n){ bit[++num]=n&1; n>>=1; } LL ans=1; for(int i=1;i<=num;++i) (ans*=exp((LL)i,get(i)))%=p; printf("%lld\n",ans); return 0;}
阅读全文
0 0
- Bzoj 3209 花神的数论题
- bzoj 3209 花神的数论题
- BZOJ 3209 花神的数论题
- bzoj 3209: 花神的数论题
- BZOJ 3209 花神的数论题 (数位DP)
- bzoj 3209 花神的数论题(数位dp)
- BZOJ 3209: 花神的数论题 (数位dp)
- bzoj 3209: 花神的数论题 (数位DP)
- (bzoj 3209 花神的数论题)<>
- [数位dp] bzoj 3209 花神的数论题
- BZOJ 3209 花神的数论题 数位DP+数论
- BZOJ 3209 花神的数论题 数位DP
- bzoj 3209: 花神的数论题 数位dp
- [数位DP] BZOJ 3209 花神的数论题
- BZOJ 3209: 花神的数论题 数位DP
- BZOJ 3209 花神的数论题 数位dp
- [BZOJ]3209: 花神的数论题 数位DP
- bzoj 3209: 花神的数论题 && 喵哈哈村的秘境探险(四)
- 庆祝成为CSDN博客专家
- Unity自定义UI组件(十二) 条形图篇
- LeetCode 13. Roman to Integer -- 罗马数字转整数
- Java_8 字符串操作
- 链栈
- (bzoj 3209 花神的数论题)<>
- UESTC
- WinForm通用自动更新器AutoUpdater项目实战
- prototype、proto和constructor
- Java打印等腰三角形
- easyui加载datagrid和treegrid的几种json数据格式
- hdu 6106 Classes 2017多校第六场1011签到题 容斥原理
- 操作系统的学习(1)——启动,中断,异常和系统调用。
- [Leetcode]Reverse String