csp-s2022游记

2023-06-12,,

## 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名中唯一一个没过一题的。

csp-s2022游记的相关教程结束。

《csp-s2022游记.doc》

下载本文的Word格式文档,以方便收藏与打印。