摘要: 题解 一写过一交A的一道数据结构水题 我们发现大于C可以转化为这条路径上有多少个在某天之前开始调查的情报员,离线全部读入,变成树上路径查询某个区间的数出现过多少次,构建一棵根缀的主席树,查询的时候用两边的主席树减掉lca的主席树,然后判断一下lca是否合法 代码 cpp include // def 阅读全文
posted @ 2018-06-09 16:18 sigongzi 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题解 断环为链,把链复制两份 用set维护一下全是0的区间,然后查找x + n / 2附近的区间,附近各一个过不去,最后弃疗了改为查附近的两个,然后过掉了= = 熟练掌握stl的应用,你值得拥有(雾 代码 cpp include // define ivorysi define enter putc 阅读全文
posted @ 2018-06-09 15:46 sigongzi 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题解 神仙dp啊QAQ 我们发现我们需要枚举一个起点,遍历完它所有的儿子然后向上爬 设$f[i][j]$表示第i个点的子树全部处理完之后到达i深度为j的祖先的兄弟处 我们只需要对叶子节点和只有一个儿子的点特殊讨论,因为所有的向上爬都是从叶子爬的 转移的时候只要枚举从两个儿子里哪个爬上取就好了 设$g 阅读全文
posted @ 2018-06-09 14:41 sigongzi 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 题解 我们要求的其实是这个东西= = $\sum_{i = 1}^{n}\sum_{j = 1}^{n}[(i,j) == 1][(j,k) == 1]$ 然后变一下形 $\sum_{j = 1}^{n}[(j,k) == 1]\sum_{i = 1}^{n}[(i,j) == 1]$ $\sum_ 阅读全文
posted @ 2018-06-09 09:50 sigongzi 阅读(172) 评论(0) 推荐(0) 编辑