## 10.29
### 民间数据:
洛谷 $95+85+60+44=284$
infoj $90+40+40+44=214$
**输麻了**
### 赛时经历
开考前发现前面坐着 Qiuly,好可怕。
开局一小时,写了给t1暴力,甚至写了个记忆化,幸好发现是错的。
第二个小时,写了t2,谁知道能写成这鬼样:
```cpp
void build(int p,int l,int r,int opt){
if(l==r){
mx[p]=mn[p]=a[opt][l];
if(a[opt][l]<=0){
mx_less[p]=a[opt][l];
mn_more[p]=inf;
}
if(a[opt][l]>=0){
mx_less[p]=-inf;
mn_more[p]=a[opt][l];
}
return;
}
int mid=(l+r)>>1;
build(ls(p),l,mid,opt);
build(rs(p),mid+1,r,opt);
push_up(p);
}
```
这两个 `if` 是人能写出的吗???大样例竟然能过!挂大分。此时发现机子上没有Linux,真不错。
又想了半个小时t1,还是啥都没有想出来。
开始写t3暴力,发现了规律:满足条件的图,各点出度都为 $1$,以为赢麻了,于是写了个 $O((n+m)q)$ 做法。???不能理解在写什么,明明 $n$ 是可以边处理便算出来消掉的,考场上也想到了,但以为没影响就没写了。 ($60 \rightarrow 40$)
离下考还有 $1$ 小时,开始写 $t4$,发现可以 `dij`$\ O(q(n+m)\log n)$,拿 $44pts$,拿完跑路。(希望CCF不要闲得慌造菊花图 )
还有半小时上了个厕所,突然发现t1可以写最优性剪枝,马上写了。(为什么没想出对一个点的所有能到达的点按点权排序,以CCF用脚造数据的习惯,这不肯定满了吗。)
最后 $10min$,没时间检查了,换个Linux机测下代码能不能跑。
出来一对答案,发现t2思路是对的,很高兴。
晚上到家看代码发现细节错了,心态小崩。
### 题外话
今年真的蠢了,明明思路都出来了却写错了,烦躁,总共挂了 $90pts$,不会没有省一吧。还有 Qiuly 键盘敲的真快,属实被影响到了。
### update at 21:56
有网友告诉我有Linux,只是不像往年那么明显???不能理解。
### update at 22:16
亲测洛谷t2开 `__int128`,$inf$ 设为 $1e12$ 可过,有无大佬讲解一下。
### update on 11.8
CCF数据真的水 $95+85+40+44$,成功成为HN前80名中唯一一个没过一题的。