C++ 提高代码的性能 int原件,dp[100001][2048],arr[100001]; cin>>原创; 对于(int i=0;i>arr[i]; dp[0][原件]=1; 因为(inti=1;i
根据我的说法,你是在要求这个东西C++ 提高代码的性能 int原件,dp[100001][2048],arr[100001]; cin>>原创; 对于(int i=0;i>arr[i]; dp[0][原件]=1; 因为(inti=1;i,c++,performance,optimization,C++,Performance,Optimization,根据我的说法,你是在要求这个东西 int original,dp[100001][2048],arr[100001]; cin>>original; for(int i=0;i<100000;i++) cin>>arr[i]; dp[0][original]=1; for(int i=1; i<100000; i++) { for(int j=0; j<=1024; j++) { dp[i][j]=dp[i-1][j]+d
int original,dp[100001][2048],arr[100001];
cin>>original;
for(int i=0;i<100000;i++)
cin>>arr[i];
dp[0][original]=1;
for(int i=1; i<100000; i++)
{
for(int j=0; j<=1024; j++)
{
dp[i][j]=dp[i-1][j]+dp[i-1][j^arr[i]];
}
}
for(int i=0;i提高性能的第一步是了解您正在努力实现的目标。到目前为止,您还没有与我们分享。您添加了一些信息,但对我帮助不大:(“arr”似乎未初始化?另外,知道什么是n
也会有帮助。@skypjack很抱歉不方便。我编辑了代码。@wridhiman,请发布一篇,这段代码充满了错误。
for(int i=0; i<n; i++)
{
occurence[arr[i]]++;
}
for(int i = 0; i < 1024; i++)
{
if(occurence[i]!=0)
{
tt_ways[i]=power(2,occurence[i]-1);
}
else
{
tt_ways[i]=0;
}
}
dp[0][original]=1;
if(tt_ways[0]!=0)
{
answer[0][tt]=tt_ways[0]+tt_ways[0];
}
for(int i=1; i<1024; i++)
{
for(int j=0; j<1024; j++)
{
const long long int temp =(tt_ways[i]*dp[i-1][j])%MOD;
if(tt_ways[i]==0)
{
dp[i][j]=(dp[i-1][j])%MOD;
}
else
{
dp[i][j]=(dp[i][j] + temp)%MOD;
dp[i][j^i]=(dp[i][j^i] + temp)%MOD;
}
}
}
cout<<dp[1023][0];