正(pu)常(tong)的优化:
- 滚动数组
- 预处理把合法的状态挑出来,用一个数组记录,后面做的时候枚举数组的下标调用
- 用一个数组记录非零的状态,如f[i][j]不为0,那么就把j加入数组,以后就只调用这些状态转移
奇(xuan)怪(xue)的优化:
- 把循环里的i++换成++i,会快很多,–i同理
- 尽量倒着循环,for i=1 ~ n 比 for i=n~1 慢(我也不知道为什么)
- 多使用位运算
- 减少mod次数
- 快读快写
- 循环里的用 register int
- 数组不要开太大,够用就行,空间太大会影响程序效率
- 如果同一个运算要做多次,那么就新开一个变量提前存好,后面直接调用
- 如果只会有0或1(如输入的的那个矩阵),使用bool类型
- 局部变量比全局变量快