[BZOJ-1864]三色二叉树

Description

一棵二叉树用一个由0,1,2的字符串表示。
如当前节点是叶子节点,则为0,若有一个儿子v则为1v。
若有两个儿子v1,v2则为2v1v2。
我们给每个节点染色(有3种颜色:红绿蓝),要求每个点的颜色与父亲和兄弟都不相同。
问最多和最少可以有多少个绿色节点。

[BZOJ-2631]tree

Description

一棵n个点的树,每个点的初始权值为1。对于这棵树有q个操作,每个操作为以下四种操作之一:
“+ u v c”:将u到v的路径上的点的权值都加上自然数c;
“- u1 v1 u2 v2”:将树中原有的边(u1,v1)删除,加入一条新边(u2,v2),保证操作完之后仍然是一棵树;
“* u v c”:将u到v的路径上的点的权值都乘上自然数c;
“/ u v”:询问u到v的路径上的点的权值和,求出答案对于51061的余数。