社区讨论
关于常数
学术版参与者 6已保存回复 20
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 20 条
- 当前快照
- 1 份
- 快照标识符
- @lo2y7w3g
- 此快照首次捕获于
- 2023/10/23 21:43 2 年前
- 此快照最后确认于
- 2023/10/23 21:43 2 年前
有如下的一个FWT函数:
CPPfor(int i=0;i<n;i++){
for(int j=0;j<state;j++)
if(j&(1<<i)) ad(a[j],a[j^(1<<i)),ad(b[j],b[j^(1<<i)]);
for(int j=state-1;~j;j--)
if(!(j&(1<<i))) ad(c[j],c[j^(1<<i)),ad(d[j],d[j^(1<<i)]);
}
在这种FWT下,整个代码运行速度是 。
但内层循环我只要注释掉任意一个,运行速度就骤降至 。
场上因为这个东西思索了1h。
请问这是什么原因呢。
函数其他部分的复杂度都是确定的,不会因为 FWT 出来的值改变而改变。
回复
共 20 条回复,欢迎继续交流。
正在加载回复...