![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树形结构
jay_zjy1022
人群淹没,你我不及诉说。一声雁过,往事如昨。只望离别不多,再赏盛世烟火。
展开
-
有根树的同构
有根数的同构题目大意主要是判断给你的k棵有根树,问哪几个树是同构的发一下原题吧:图的同构是指两个图“相同”,这有着广泛的应用。比如当我们要对一批图施行某种操作的时候,如果我们能发现其中一些图是同构的,我们就可以在这些同构的图中只保留一个,从而降低工作量。比如,上图中的T1和T3就是同构的。下面我们给出图的同构的定义。给出两个图G1=(V1,E1),G2=(V2,E2)。如果存在一个V1到...原创 2020-01-14 21:38:30 · 555 阅读 · 0 评论 -
2020.7.16 T3 【NOIP2015模拟10.29B组】树上路径(jz暑假训练day2)
Description现在有一棵n个点的无向树,每个点的编号在1-n之间,求出每个点所在的最长路。Input输入文件名为tree.in。第一行为一个整数n。之后n-1行,每行三个整数u,v,w,分别表示一条边连的两个点和边权。Output输出文件tree.out,共n行,分别表示经过每个点的最长路。Sample Input41 2 31 3 41 4 2Sample Output7776Data Constraint对于50%,1<=n<=1000对于10原创 2020-07-16 19:55:37 · 136 阅读 · 0 评论 -
2020.7.16 T4【NOIP2015模拟10.29B组】抓知了(jz暑假训练day2)
Description深海龙王和水葫芦娃放了暑假闲的无聊,一天他们路过一棵树,听到树上的知了叫的好欢啊∼深海龙王准备抓几只知了送给水葫芦娃。他发现面前的这棵树是一颗以1 号节点为根节点的一颗有根树,同时他又发现这颗树上的每一个节点i 上都恰好停有一只蝉,正在愉快的以ai 的响声鸣叫∼深海龙王会从1 号节点起沿着树边一直爬,直到爬到一个叶子节点(请不要在意他怎么下来),在这途中他可以选择一些他经过的蝉并将它们抓起来。但是水葫芦娃希望深海龙王抓的知了能发出越来越响的鸣叫声,起码得要单调不减!Input原创 2020-07-16 20:42:10 · 169 阅读 · 2 评论 -
2020.7.17 T1亲戚(jz暑假训练day3)
DescriptionInputOutputSample Input40 1 1 0Sample Output8Data Constraint赛时25分暴力+5分全排列正解树形dp方程是:f[x]=((f[x] * f[v])%mod*c(min(size[x]-1,size[v]),size[x]-1+size[v]))%mod;x为当前遍历的点,v为儿子,此时的size[x]并没有加上v的节点数。那么这个方程的意思也就是v的子树与前面x遍历过的子树求方案,f[x]*原创 2020-07-17 19:41:53 · 131 阅读 · 2 评论 -
2020.7.17 T3水管(jz暑假训练day3)
DescriptionInputOutputSample Input15 71 2 21 4 12 4 24 3 22 3 14 5 11 5 2Sample Output5NoData Constraint赛时最小生成树打一遍,之后贪心的认为选一条没有选的边中最小的边,然后再打一遍最小生成树,竟然还有62分!之后把long long开了有82分!!!正解很多方法,我的方法大概是,先最小生成树,之后对于每个没选的边u,v,w,我们查找u到v的路径上最大的边权,那么原创 2020-07-20 07:34:56 · 131 阅读 · 0 评论 -
2020.7.22 T1三色树(jz暑假训练day7)
Description给出一个N个节点的无根树,每条边有非负边权,每个节点有三种颜色:黑,白,灰。一个合法的无根树满足:树中不含有黑色结点或者含有至多一个白色节点。现在希望你通过割掉几条树边,使得形成的若干树合法,并最小化割去树边权值的和。Input第一行一个正整数N,表示树的节点个数。第二行N个整数Ai,表示i号节点的颜色,0 表示黑色,1表示白色,2表示灰色。接下来N-1行每行三个整数Xi Yi Zi,表示一条连接Xi和Yi权为Zi的边。Output输出一个整数表示其最小代价。Sam原创 2020-07-22 19:24:07 · 483 阅读 · 1 评论 -
2020.7.27T4花花的聚会(jz暑假训练day11)
DescriptionInputOutputSample Input7 73 12 17 66 35 34 37 2 37 1 12 3 53 6 24 2 45 3 106 1 203567Sample Output10225Data ConstraintHint赛时考虑一个部分分的dp,然后空间竟然爆掉了!!!结果40分正解(呸 )一坨大佬暴力解决???加个小小剪枝?(if(当前答案>ans)return)然后水题开始#原创 2020-07-27 19:21:30 · 361 阅读 · 0 评论 -
2020.7.24 T1序章-弗兰德的秘密 (jz暑假训练day9)
Description背景介绍弗兰德,我不知道这个地方对我意味着什么。这里是一切开始的地方。3年前,还是个什么都没见过的少年,来到弗兰德的树下,走进了封闭的密室,扭动的封尘已久机关,在石板上知道了这个世界最角落的最阴暗的东西。那种事情,从未忘怀,从未动摇,我还记得,那一天,我,里修,第一次拔起了剑……弗兰德的密室里,机关上方画着两棵树的字样,机关下方是一个有数字的刻度……弗兰德最高的两棵树,只要知道两棵树的共同的相似度就行了……给定两棵有根树,可以任意删除两棵树上的节点(删除一棵节点必须保证该节点原创 2020-07-24 15:56:07 · 162 阅读 · 0 评论 -
2020.7.23 T3小X的佛光 (jz暑假训练day8)
题目大意给个树,每次询问给出3个点a,b,c,询问a到b的路径与b到c的路径之间重合的点的个数正解lca不多说啥了,统计答案就是分类讨论咯(这里本人似乎讨论的重复些,读者也可以有自己的方法,所以本人自己的方法也便不解释了),另外这题卡栈(就是说dfs(递归)是系统存储的,这道题递归的太深导致系统的存储空间爆掉了),所以要打人工栈(也就是bfs)#include<cstdio>#include<iostream>#include<cmath>#define N原创 2020-07-24 15:50:38 · 136 阅读 · 0 评论