2018-06-20 [BZOJ-1002]轮状病毒 Description 如上图n轮状基由n个不同的基原子和圆心处的核原子构成。 n轮状病毒的产生就是n轮状基中删去若干条边,使得各原子间有唯一的信息通道。 求有多少个不同的n轮状病毒。 DP高精度 递推DP高精度 阅读全文 >>
2018-06-20 高精度模版 问题类型 有时我们需要用到大于2^64的数的各种加减乘除运算,而C++中unsigned long long最多只支持2^64以内的数,这时我们就需要用到高精度了。 高精度 高精度 阅读全文 >>
2018-05-30 [BZOJ-1864]三色二叉树 Description 一棵二叉树用一个由0,1,2的字符串表示。 如当前节点是叶子节点,则为0,若有一个儿子v则为1v。 若有两个儿子v1,v2则为2v1v2。 我们给每个节点染色(有3种颜色:红绿蓝),要求每个点的颜色与父亲和兄弟都不相同。 问最多和最少可以有多少个绿色节点。 DP 树形DP 阅读全文 >>
2018-05-29 [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的余数。 高级数据结构 LCT 阅读全文 >>
2018-05-20 [BZOJ-3669]魔法森林 Description 给你一张n个点m条边的无向图,每条边有两个属性a和b。 你需要找到一条从1~n的路径,使得这些边的第一个属性最大值加上第二个属性最大值的值最小。 高级数据结构 LCT 阅读全文 >>