似乎没有卡常,我认为是您初始化 `f` 数组的次数过多被卡 T 了。
就是这一段
```
for(int i = 1; i <= r; i = -~i){
for(int j = 0; j <= M - 5; j = -~j){
f[i][j] = 0;
}
}
```
删掉之后在 `if(vis[j]){` 下面加一行 `f[i][j]=0` 即可。
by GeorgeAAAADHD @ 2023-09-13 21:00:31
还有就是,您的 $M$ 开小了,要开成 $3e5$.
然后就是构造矩阵时您的行列上限均需要加上 $1$,然后给所有循环加上 `register` 就能 AC 了。
by GeorgeAAAADHD @ 2023-09-13 21:13:31
这样您不开 O2 #2 能刚好压着时限 AC。
by GeorgeAAAADHD @ 2023-09-13 21:14:50