标签:ESS com i++ RoCE 题目 ase different can lap
1
4
8
分析
ans=2^(n-1)
1 #include <bits/stdc++.h> 2 #define ll long long 3 using namespace std; 4 const int maxn=1e7+7; 5 const ll mod=1e9+7; 6 char arr[maxn]; 7 ll bit[15]; 8 ll qpow(ll a,ll b,ll c) 9 { 10 if(b==0)return 1; 11 ll ans=1; 12 while(b) 13 { 14 if(b&1)ans=(ans*a)%mod; 15 a=a*a%mod; 16 b>>=1; 17 } 18 return ans%mod; 19 } 20 ll inv(ll a,ll m) 21 { 22 if(a==1)return 1; 23 return inv(m%a,m)*(m-m/a)%m; 24 } 25 int main() 26 { 27 int t; 28 scanf("%d",&t); 29 bit[0]=1; 30 ll inv2=inv(2,mod); 31 for(int i=1;i<10;i++) 32 { 33 bit[i]=bit[i-1]*2; 34 } 35 while(t--) 36 { 37 scanf("%s",arr); 38 int len=strlen(arr); 39 ll ans=1; 40 for(int i=0;i<len;i++) 41 { 42 ans=qpow(ans,10,mod)%mod; 43 ans=ans*bit[arr[i]-‘0‘]%mod; 44 } 45 ans*=inv2; 46 printf("%lld\n",(ans+mod)%mod); 47 } 48 return 0; 49 }
标签:ESS com i++ RoCE 题目 ase different can lap
原文地址:https://www.cnblogs.com/CharlieWade/p/11293918.html