标签:style blog io color sp for on div log
被一个学长逼着做的题。。。谢谢他了~ 题中dp[i][j] i即为第i个数,j为当前输入的数能xor到的数
同时一个数有两种选择,1.not xor 2.xor
最大的j不会超过11...11b(20个)=1048575 题目中用了1050000
1 #include <stdio.h> 2 #include <string.h> 3 #define MM 50 4 __int64 dp[MM][1050000]; 5 int num[MM]; 6 int main() 7 { 8 int n,m,t,j,i; 9 scanf("%d",&t); 10 for(int cas=1;cas<=t;cas++) 11 { 12 __int64 ans=0; 13 memset(dp,0,sizeof (dp)); 14 15 scanf("%d %d",&n,&m); 16 dp[0][0]=1; 17 for( i=1;i<=n;i++) 18 { 19 scanf("%d",&num[i]); 20 } 21 for(i=1;i<=n;i++) 22 { 23 for(j=0;j<1050000;j++) 24 { 25 dp[i][j]+=dp[i-1][j]; //not xor 26 long long nj=j^num[i]; 27 dp[i][nj]+=dp[i-1][j]; //xor 28 } 29 } 30 for(i=m;i<1050000;i++) 31 { 32 ans+=dp[n][i]; 33 } 34 35 printf("Case #%d: %I64d\n",cas,ans ); 36 37 } 38 return 0; 39 }
标签:style blog io color sp for on div log
原文地址:http://www.cnblogs.com/sylvialucy/p/4135547.html