提醒:稠密图,JAVA直接使用state遍历常数更小
查看原帖
提醒:稠密图,JAVA直接使用state遍历常数更小
410986
hulhul楼主2023/2/27 10:10

JAVA开始开了个sta[tot]挨个记录可用的state,发现最后一个用例过不了,TLE了。 后来直接把循环改了,直接让state 从0自增到(1 << (m + 1)) - 1,直接就过了。 列一下修改前后的代码:

//修改前
for (int tt = 0; tt < preMaxTT; tt++) {
   int state = sta[cur ^ 1][tt];
   int v = dp[idx + 1][state];
   ......
}
//修改后
for (int tt = 0; tt<MASK; tt++){
   if (dp[idx + 1][tt] < 0) {
      continue;
   }
   int state = tt;
   int v = dp[idx + 1][state];
   ...
}
2023/2/27 10:10
加载中...