题目链接:https://ac.nowcoder.com/acm/contest/992/J 题意:题意很清晰,就是求任意两点距离的和,结果对1e9+7取模. 思路:裸的树形DP题,一条边的贡献值=这条边的权值×左端连接的顶点数×右端连接的顶点数,所以我们dfs算出点y的子树大小siz[y],x为y的父结点,则x与y连线这条边的一端点的个数为siz[y],另一端点的个数为n-siz[y] ,贡献值即为dis[x,y]*siz[y]*(n-siz[y]),注意取模. AC代码: #include<…
链接:https://ac.nowcoder.com/acm/contest/992/J来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 红红和蓝蓝是随机降生在苹果树上的苹果仙灵,现在红线仙想估测他们的CP系数,并决定是否使他们成为一对CP. 给出n个结点n-1条边的树,节点编号为1到n,定义distance(i,j)为i与j的树上距离. CP系数是指所有红红和蓝蓝在不同位置i,…
链接:https://ac.nowcoder.com/acm/contest/992/D $a_{i}=\dfrac {3a_{i-1}-a_{i-2}}{2}+i+1$ 移项再化一下 $a_{i}-a_{i-1}-2i=\dfrac {1}{2}\left[ a_{i-1}-a_{i-2}-2\left( i-1\right) \right]$ 令$t_{i}=t_{i}=a_{i}-a_{i-1}-2i$ 由于$a_{0}=0$ $a_{1}=2$ 所以$t_{1}=0$ 所以$t_{i}=…
题目链接:https://ac.nowcoder.com/acm/contest/992/A 题意:求出长度为n的字符串个数,字符串由A.C.G.T组成,其中A和C必须成对出现. 思路:我们规定:   f[n][0]--长度为n的合法字符串个数 f[n][1]--长度为n的A为奇数个的字符串个数 f[n][2]--长度为n的C为奇数个的字符串个数 f[n][3]--长度为n的A.C均为奇数个的字符串个数 那么有如下转移方程: 根据转移方程构建矩阵: 就可以通过矩阵快速幂求得了,n太大了,继续思考…
题目链接:https://ac.nowcoder.com/acm/contest/992/K 题意:给一个大小为1e5的数组,由0 1组成,有两种操作,包括区间修改,将一段区间内的0换成1,1换成0; 区间查询,查询区间内连续1的数量. 思路:区间查询和区间修改,明显可以用线段树来做,我们先分析下复杂度,每次操作复杂度为logn,有m次操作(m<=1e5+1),那么总复杂度为mlogn,是可行的. 我们用线段树维护什么呢,因为要求区间最多连续1的个数.那么需要维护区间前缀连续0/1的个数fr[0…
链接:https://ac.nowcoder.com/acm/contest/992/I来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述   n个不同的滑稽果中,每个滑稽果可取可不取,从所有方案数中选取一种,求选取的方案中滑稽果个数不超过m的概率.(对109+7取模)输入描述:第一行一个正整数T( T <= 10^5 )随后T行每行两个整数n,m ( 0 < m <= n…
链接:https://ac.nowcoder.com/acm/contest/992/B来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 在之前很火的一个动漫<干物妹小埋>中,大家对小埋打游戏喝可乐的印象十分的深刻. 现在欧尼酱将小埋的快乐水全部分开藏在了家具的顶端. 小埋使出空中1080°转身接战术翻滚跳到任一家具上,她相信,只要她翻滚的足够快,欧尼酱就跟不上她.   1.为…
题目描述 俄罗斯套娃是俄罗斯特产的木制玩具,一般由多个一样图案的空心木娃娃一个套一个组成,最多可达十多个,通常为圆柱形,底部平坦可以直立.颜色有红色,蓝色,绿色,紫色等.最普通的图案是一个穿着俄罗斯民族服装的姑娘,叫做“玛特罗什卡”,这也成为这种娃娃的通称. 彩虹岛也有自己的套娃,不过与俄罗斯套娃有所不同,其组成规则如下:1. 空心木娃娃只有正方体与球两种形状.2. 正方体娃娃与球体娃娃可以相互套,也可以相同形状之间套.3. 当两形状相切的时候使能够互相嵌套的,比如半径为2的球体能套在边长为4的…