摘要: 这两周在学树剖。 先扔个模板 有一类题目,要求实现一类在树上的操作,比如: 修改/求 树上某 节点/边权 的(最)值; 修改/求 树上某 节点/边权 及其子树上所有节点的(最)值; 修改/求 树上某两点路径间的 节点/边权 的(最)值; 乍一看似乎用线段树就可以实现,但是如果仔细想想,可以发现单凭线 阅读全文
posted @ 2017-04-07 23:33 羊毛羊 阅读(1101) 评论(0) 推荐(2) 编辑
摘要: 1 #include 2 #include 3 #include 4 #include 5 #define foru(i,x,y) for(int i=x;isiz[son[k]])son[k]=v; 32 } 33 } 34 35 void build(int k,int tp){ 36 id[k]=++cnt; top[k]=tp;//按序将边... 阅读全文
posted @ 2017-04-07 23:27 羊毛羊 阅读(442) 评论(0) 推荐(0) 编辑