QWQ
vp
的ICPC
。
教练突然让打CF
,于是敲了一天,累死了。
下面按照过题顺序写。
A
2min
B
5min
跟其他人商量了一下开了M
。
G
10min
M
感觉被阴间到了。
题目
有一个$n$个点的有向图,求出从 $1$ 到其它所有点的最短路,走的时候可以先正常从$1$开始走一些边,再逆向从$i$($i\in [2,n]$)开始走一些边。
Solution
首先先考虑从$1$开始需要走那些边,对此,我们只需要跑一遍以$1$为起点的最短路即可。
然后考虑从其他点开始走向$1$,可以发现,这等价于由$1$走到某个节点之后由那个节点开始走反图,所以此时再新建一个超级源点($1$号节点的映射),对于其他节点连一条边,其边权等于第一次最短路到这个点的距离,再在反图上跑一次最短路即可。
H
yd做的,比较有意思,推推结论就出来了。
C
还是yd做的(怎么这么强),想找到直径,以直径划开组合数容斥一下就出来了。
L
自己做的,感觉非常妙,前缀和之后就是一个逆序对数的题,思路比较新奇。
F
没有印象了,yd做的
K
启发式,势能分析,就是一暴力题。
一共过了$9$个,极限了($E$有想法,想到了虚树没想到欧拉反演)。