dfs
MintGreenTZ
这个作者很懒,什么都没留下…
展开
-
日常训练20161014 跟踪
考虑每一个点,如果一个点是一个陌生人会追到石神的点,要么是石神和陌生人在同一周期到达的点,要么是陌生人比石神晚到的叶节点,在这些点中取一个时间最晚的。有个细节是如果石神在某一点被追上了,就不要dfs子树了,否则答案就会更大。type edge=record y,next:longint; end; const MAXN=200050; var map:ar原创 2016-10-15 13:22:39 · 367 阅读 · 0 评论 -
NOIP2016 天天爱跑步
对于每条链,可以拆成两条,一条S到Lca,一条Lca到T,可以发现前者能被一个在now位置的观察者观察到的条件是0+dep[S]=w[now]+dep[now],因为向上跑时深度和时间的和不变,所以可以以深度和时间的和未关键字做hash,因为这条链不到根,所以用经典手法将这条链拆成两条到根的链。另一条Lca到T被在now位置的观察者观察到的条件是time[x]-dep[x]=w[now]-dep[n原创 2016-12-06 09:10:03 · 1051 阅读 · 0 评论 -
日常训练 棋盘游走
Mint - 维基百科,自由的百科全书(window.RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Mint","wgTitle":"Mint","wg原创 2017-04-17 20:42:32 · 402 阅读 · 0 评论