竞赛讨论区 > 【题解】牛客OI周赛7-提高组
头像
mczhuang
编辑于 2020-10-10 13:57
+ 关注

【题解】牛客OI周赛7-提高组

A.小睿睿的等式

题目分析

送温暖题
注意不要对每个数暴力拆分算,对于每个数预处理即可
时间复杂度:O(n)

题目分析

送温暖题++
ST表O(1)即可解决
为了鼓励多种写法,特意在生成数列时限制各数的大小<100
时间复杂度:O(nlogn+m)

题目分析

总方案数易求,考虑不合法的方案数:

每对情侣对方案的负贡献:

当两个结点非祖先-后代关系时,两个结点的子树间的路径方案数

当两个结点为祖先-后代关系时,贡献为后代的子树与(整颗树除祖先子树的部分+祖先子树除 祖先含后代的子树)间的路径方案数

考虑用一n*n的矩阵里的三角形来表示方案数,矩阵上(i,j)或(j,i)点表示i与j的方案是不合法的,那么用dfs序来映射点,一个点的子树的dfs序连续,每个贡献可以表示为若干矩形区域,那么用线段树+扫描线即可计算出不合法的方案数

注意与矩阵对角线对称的点应同时更新

时间复杂度:O(nlogn)

题解及代码Link:https://mczhuang.cn/?p=2106


全部评论

(1) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐