@[xuyiluo2](/user/756684)
把p1,q1,p2,q2那段展开一下就行了吧。
下面是一个可以不开O2最慢点不超过500ms的核心转移写法。
```cpp
f[u][i + j][0] = (f[u][i + j][0] + u64(g[i][0]) * f[to][j][2]) % mod;
f[u][i + j][1] = (f[u][i + j][1] + u64(g[i][1]) * (f[to][j][2] + f[to][j][0])) % mod;
f[u][i + j][2] = (f[u][i + j][2] + u64(g[i][2]) * (f[to][j][3] + f[to][j][2]) + u64(g[i][0]) * f[to][j][3]) % mod;
f[u][i + j][3] = (f[u][i + j][3] + u64(g[i][1]) * (f[to][j][3] + f[to][j][1]) + u64(g[i][3]) * (f[to][j][0] + f[to][j][1] + f[to][j][2] + f[to][j][3])) % mod;
```
话说你这个头像。。。
by Killer_joke @ 2023-07-05 20:58:03
@[xuyiluo2](/user/756684) 为什么作业不能开 O2,csp 都能开 O2(
by lemon_qwq @ 2023-08-09 15:29:45