提高代码的性能
Improving the performance of code
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]];
}
}
我如何提高这个简单代码的性能,以发现有多少数组元素的总组合可以计算变量原始等于 1023 的 XOR 值。
据我说,你要求这个东西
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];
相关文章:
- GCC 和 Clang 代码性能的巨大差异
- 如何使用本征提高性能?(包括示例代码)
- 在.cpp文件中定义方法而不是在 C++ 的 .h 文件中定义方法时,如何提高代码的性能?
- 使用 const double* const 作为模板参数 - 代码性能问题
- 如何在没有性能命中的情况下抽象SIMD代码来处理不同的数据类型
- 为什么 C++ 代码实现的性能不比 python 实现更好?
- 如何提高此 OpenCL 缩减内核代码的性能?
- 相同的代码在不同的 gcc 编译器中存在巨大的性能差异
- 如何基准C 代码的性能
- 相同的代码执行两次:性能差异
- 附加到 C++/CLI dll 的性能探查器无法访问本机C++代码
- 牢记干净的代码的性能,什么更好
- 在将其尺寸较大的向量移动到容量较小的向量之前,是否可以通过使用Reserve()来提高代码性能
- 如何提高四叉树代码的性能以防止程序冻结
- C++多线程性能比单线程代码慢
- 在C++代码中使用纯 C 库是否有性能下降/损失
- 如何使用QueryPerformanceCounter测试现有代码的性能
- 公开类的内部组件,以防止编写过多代码和影响性能
- 从编译器优化和代码性能的角度来看,"if constexpr"与"if"
- C++按字符串调用函数,比较PHP的性能,如何在C++中优化代码