刷表法:
```cpp
rep(i, 0, tot) {
for(int j : se) if((j | i) <= tot) MIN(f[j | i], f[i] + 1);
}
```
填表法:
```cpp
rep(i, 0, tot) {
for(int j : se) if((i & j) == j) MIN(f[i], f[i ^ j] + 1);
}
```
by 8atemak1r @ 2022-10-21 22:57:57
我猜你是i——j曲线上的鸟只要打过就不打i——j了,或者是根本没判定是不是打过,所以有时候会因为曲线上其他的鸟打过了而不一起打i——j,反而是分开打。用第一种方法就没有这个问题。
我也是这么错的
by Luke_li @ 2023-12-13 21:38:53