牛客寒假算法基礎集訓營5 J 炫酷數學
阿新 • • 發佈:2019-02-01
ati main urn posit eight 牛客網 clas mod margin
當然,(A=1,B=0)和(A=0,B=1)被認為是不同的二元組。 對於這種問題一點都不懂。。。。。 法1:打表找規律 3^m 法2:二進制分析,每一位只有00, 01,10 這3種情況 舉例 1+2 == 1|2 1: 0001 2: 0010 0011 == 3 除了那3種還有 11 但是11會進位 肯定不等
每一位3種情況 共m位 因為n=2^m
所以答案為 3^m
鏈接:https://ac.nowcoder.com/acm/contest/331/J
來源:牛客網
小希最近想知道一個東西,就是A+B=A|B(其中|為按位或)的二元組有多少個。
當然,直接做這個式子對小希來說太難了,所以小希改變了一些條件,她僅想知道其中A,B<N的情況,其中N為2的冪次。
當然,(A=1,B=0)和(A=0,B=1)被認為是不同的二元組。 對於這種問題一點都不懂。。。。。 法1:打表找規律 3^m 法2:二進制分析,每一位只有00, 01,10 這3種情況 舉例 1+2 == 1|2 1: 0001 2: 0010 0011 == 3 除了那3種還有 11 但是11會進位 肯定不等
1 #include<stdio.h> 2 #include<math.h> 3 typedef long long ll; 4 const int mod=998244353; 5 6 ll m_pow(ll a,ll b) { 7 ll tmp=a%mod; 8 ll sum=1; 9 while(b) { 10 if(b&1) sum=(sum*tmp)%mod; 11 tmp=tmp*tmp%mod;12 b>>=1; 13 } 14 return sum; 15 } 16 17 int main() { 18 int m; 19 scanf("%d",&m); 20 printf("%lld",m_pow(3,m)); 21 return 0; 22 }
牛客寒假算法基礎集訓營5 J 炫酷數學