金华武义训练游记
slzx2022YuYihan · · 个人记录
Day1 2023.01.12
13:00出发,17:00到达。
我和phx拼一间房。
晚上打“连花清瘟”赛,被LZ的人坑掉了半个多小时。
打到21:30,9道里A5道,rank12。
22:50睡觉……
Day2 2023.01.13
08:30开始上课,主讲是清华大学读博的毛嘉怡(好像是国家集训队的)。今天讲最短路基础。
对我来说,有一些难度,但是对于phx神佬还是比较一般的。
有单源、多源多汇、点集、同余最短路等等。
这些方法还是比较巧妙的,但是很难想到,一定需要点播和提示才有可能想到正解。甚至有些看似是数论的题,正解要用最短路解决,建边也很巧妙。
下午13:30~16:30,做今天的练习,其中有好几道蓝题、紫题(应该说基本)。在我和phx的互相帮助下,我们AK了。谢谢phx神佬,帮我找出程序上致命的错误!
晚上22:15睡觉……
Day3 2023.01.14
今天讲最短路提高。
原来floyed在求全源最短路是高效做法!
-
含负权边的图
-
dijstra$求全源最短路复杂度:$O(nm$ $log$ $n) -
Targan模板
————————————————————————————————————————————————————————————————————
Targan算法 + 缩点
为什么缩点? 不存在环!变为有向无环图(DAG)
转化为在DAG上dp。
————————————————————————————————————————————————————————————————————
Tarjan求桥:
定义:
性质:
-
非树边必然不可能是桥
-
假设树边
(u, v) ,u 是父亲。 -
(u, v)$是桥当且仅当$low_v > dfn_u
Targan求桥代码
————————————————————————————————————————————————————————————————————
边双连通分量
————————————————————————————————————————————————————————————————————
割点:
定义
- 若删去
u 使连通块数量增加,u 为割点
性质
-
在
DFS 生成树中根节点儿子数\ge \mathbb{2} ,是割点,若为\mathbb{1} ,就不是 -
对于其他根节点
u -
若存在儿子
v ,low_v \ge dfn_u ,则u 是割点 -
若所有儿子
v 都有low_v < dfn_u ,不是割点
-
————————————————————————————————————————————————————————————————————
————————————————————————————————————————————————————————————————————
今晚20:05CF只搞出A,B,寄了……
C正解想了一半,但是群里打的人都寄了……
————————————————————————————————————————————————————————————————————
23:16,金华开始下大雪……
晚上23:30睡觉……
Day5 2023.01.16
早上鼻血血流不止,因为我晕血,所以有那么一分钟出现了恶心的症状。可能是最近两天太累了。吃完早饭,为了精力,又闭眼了半个小时。
————————————————————————————————————————————————————————————————————
今天讲了
————————————————————————————————————————————————————————————————————
下午打了场三人ACM赛,我、phx、阿来一组。我们前一个半小时,phx切了两道,我们稍稍帮助了他,大部分是他自己搞的。阿来打了M,但是也WA了。后来我想到了一道大概是绿题的D的正解,于是打了一个小时。好多样例都过了,就是有一个毒瘤数据,A不了。后来phx又打A打挂了。阿来M又挂了。随后phx破防了,开始口吐芬芳……我又搞了半个小时D,还是有毒瘤数据WA。5个小时,我们三个做出两道,在初一队伍排名第一……
szh和zlx是一队,他们基本没有交流,自己做自己的,每人切了3题。太巨了!LZ还有2人队狂切7题!!!!!!!!!天差地别啊!!!!
————————————————————————————————————————————————————————————————————
晚上23:00睡觉……
Day6 2023.01.17
讲了同余最短路进阶版,想出正解起码2小时 (普通OIer根本想不到)
————————————————————————————————————————————————————————————————————
较短路计数:
用dp实现。令
————————————————————————————————————————————————————————————————————
然后就是什么高斯消元、环形dp,感觉水了好多,起码能听得很懂。
今天比以前两天好受很多……
————————————————————————————————————————————————————————————————————
今天有两份代码被mjy评为优秀作业(其实都k过tj了)……
晚上23:00睡觉…… (play bedminton with the bed)
Day7 2023.01.18
早上收拾了一下行李,因为今天傍晚要回慈溪了。
————————————————————————————————————————————————————————————————————
状压dp:
枚举子集:
枚举
for (int i = s; i; i = (i - 1) & s)