树
doggyzheng
初二蒟蒻一枚
展开
-
JZOJ5257. 小X的佛光(2017.8B组)
Description Input Output Sample Input3 3 1 1 2 2 3 1 2 3 1 1 3 3 1 3Sample Output1 1 3Data Constraint 想法: 暴力的LCA很多分 其实答案=(jl(x,y)+jl(y,z)-jl(x,z))/2+1 jl(x,y)=len[x]+l原创 2017-08-11 22:53:12 · 324 阅读 · 0 评论 -
JZOJ2936. 【NOIP2012模拟8.9】逐个击破(2017.9B组)
正式初二了 https://jzoj.net/senior/#main/show/2936 想法: 1设tree[x][0/1]表示在以i为根的子树中,与i相连的点有[0,1]个敌人的情况下,砍树的最少代价 tree[x][0]+=min(tree[y][0],tree[y][1]+len[x,y]); tree[x][1]=min{tree[x][0]-min(t原创 2017-09-02 15:01:19 · 256 阅读 · 0 评论 -
Tarjan求lca
一个优秀的求2点lca的离线算法 把所有询问用前向星储存 然后当dfs到x时,如果存在一个询问(x,y)使得两个点都被访问过,那么就将y的父亲跳上去,直到不能跳为止,这个点就是它们的lca (等dfs某个点后再规定他的父亲) 否则就标记 跳父亲可用并查集的路径压缩void dfs1(int x1){ int i,y; bz[x1]=false; for (i=la原创 2017-10-25 21:10:50 · 236 阅读 · 0 评论 -
3467. 【NOIP2013模拟联考7】最长上升子序列(lis)
Description维护一个序列,使它可以进行下面两种操作:1.在末尾添加一个数字x2.将整个序列变成第x次操作后的样子在每次操作后,输出当前序列的最长上升子序列的长度序列初始时为空Input输入文件lis.in的第一行有一个正整数n,表示操作个数。接下来n行每行有两个整数op,x。如果op为0,则表示添加x这个数字;如果op为1,则表示回到第x次操作之后。Output对于每次操作,在输出文件li原创 2017-12-01 20:27:25 · 578 阅读 · 0 评论 -
【NOIP2017提高组正式赛】宝藏
Description 参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 n 个深埋在地下的宝藏屋,也给出了这 n 个宝藏屋之间可供开发的 m 条道路和它们的长度。 小明决心亲自前往挖掘所有宝藏屋中的宝藏。但是,每个宝藏屋距离地面都很远,也就是说,从地面打通一条到某个宝藏屋的道路是很困难的,而开发宝藏屋之间的道路则相对容易很多。 小明的决心感动了考古挖掘的赞助商,赞助商决定免费赞助原创 2017-11-22 20:31:49 · 927 阅读 · 0 评论 -
5483. 【清华集训2017模拟11.26】简单路径
Description一棵树有n个节点,编号为0到n-1。有一条叫Owaski的狗在树上面走,每一次它可以从一个顶点走到它的任何一个相邻顶点。每个顶点有个可正可负的快乐度,Owaski也有一个快乐度,这个值最开始是0。在他到达一个 顶点的时候,他的快乐度将会加上该顶点的快乐度。当然有时候Owaski的快乐度会是负数,这个时候他会很难受于是会宣泄情绪让快乐度重新变成0。Owaski是一条喜新厌旧的狗原创 2017-12-01 20:39:27 · 208 阅读 · 0 评论 -
JZOJ4202. Shopping(点分治+树形依赖+多重背包)
题意:一颗树,每个点代表一个物品,空间c[i]c[i]c[i],数量d[i]d[i]d[i],价值w[i]w[i]w[i],现有一个空间为mmm的背包,选树上相互连接的物品,求最大价值想法:一眼树形背包,时间复杂度上天f[i][j]f[i][j]f[i][j]表示i的子树内,i必选一个,空间为j的最大价值时间复杂度O(n2m2dn2m2dn^2m^2d)由于选互相连接的...原创 2018-07-07 22:25:34 · 314 阅读 · 0 评论