Description master 对树上的求和非常感兴趣.他生成了一棵有根树,并且希望多次询问这棵树上一段路径上所有节点深度的k  次方和,而且每次的k 可能是不同的.此处节点深度的定义是这个节点到根的路径上的边数.他把这个问题交给 了pupil,但pupil 并不会这么复杂的操作,你能帮他解决吗?   Input 第一行包含一个正整数n ,表示树的节点数. 之后n-1 行每行两个空格隔开的正整数i,j ,表示树上的一条连接点i 和点j 的边. 之后一行一个正整数m ,表示询问的数量. 之后…
预处理,树上差分.注意深度减一 #include <cstdio> #include <iostream> #include <cstring> #include <algorithm> #include <cmath> #define R(a,b,c) for(register int a = (b); (a) <= (c); ++(a)) #define nR(a,b,c) for(register int a = (b); (a) &…
Description master 对树上的求和非常感兴趣.他生成了一棵有根树,并且希望多次询问这棵树上一段路径上所有节点深度的k  次方和,而且每次的k 可能是不同的.此处节点深度的定义是这个节点到根的路径上的边数.他把这个问题交给 了pupil,但pupil 并不会这么复杂的操作,你能帮他解决吗? Input 第一行包含一个正整数n ,表示树的节点数. 之后n-1 行每行两个空格隔开的正整数i,j ,表示树上的一条连接点i 和点j 的边. 之后一行一个正整数m ,表示询问的数量. 之后每行…
/* 给定n个点的树,在其中加入m条新边(称为非树边) 现在可以割断一条树边,一条非树边,使图分裂成两个联通块,请问有几种切割方式 对树边进行分情况讨论 如果树边不处在环中,则割断这条树边后可以割断任意条非树边 如果树边仅仅被一个环包含,则割断这条树边后只能割断一条非树边,即环中的那条非树边 如果树边被两个及以上环包含,就不可能有合法的切割方式 那么考虑如何计算树边被多少个环包含 显然每次加入一条非树边(x,y),x->lca(x,y)->y->x就会形成一个环 如果第一次割断这个环上的…
对每个权值分别考虑.则只有单点加路径求和的操作.树上差分转化为求到根的路径和,子树加即可.再差分后bit即可.注意树上差分中根的父亲是0,已经忘了是第几次因为这个挂了. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; #defi…
[luogu]P2680 [NOIP2015]运输计划 题目背景 公元 2044 年,人类进入了宇宙纪元. 题目描述 L 国有 n 个星球,还有 n-1 条双向航道,每条航道建立在两个星球之间,这 n-1 条航道连通了 L 国的所有星球. 小 P 掌管一家物流公司,该公司有很多个运输计划,每个运输计划形如:有一艘物 流飞船需要从 ui 号星球沿最快的宇航路径飞行到 vi 号星球去.显然,飞船驶过一条航道 是需要时间的,对于航道 j,任意飞船驶过它所花费的时间为 tj,并且任意两艘飞船之 间不会产…
[题解]CF986E Prince's Problem(树上差分+数论性质) 题目大意: 给定你一棵树,有点权\(val_i\le 10^7\).现在有\(m\)组询问给定参数\(x,y,w\)问你对于\((x->y)\)的路径经过的点集\(P\),问你这个东西: \[ \prod_{u \in P} {\mathrm{gcd}(w,val_u)} \mod 1000000007 \] 考虑这样一种做法: 把询问差分成 \[ ans(1,x) \times ans(1,y) \times \ma…
4326: NOIP2015 运输计划 Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 703  Solved: 461[Submit][Status][Discuss] Description 公元 2044 年,人类进入了宇宙纪元.L 国有 n 个星球,还有 n−1 条双向航道,每条航道建立在两个星球之间,这 n−1 条航道连通了 L 国的所有星球.小 P 掌管一家物流公司, 该公司有很多个运输计划,每个运输计划形如:有一艘物流飞船需要从 ui…
题目描述 Farmer John has installed a new system of  pipes to transport milk between the  stalls in his barn (), conveniently numbered . Each pipe connects a pair of stalls, and all stalls are connected to each-other via paths of pipes. FJ is pumping milk…
做noip2015的运输计划写了好久好久写不出来   QwQ 于是先来瞎bb一下树上差分    混积分 树上差分有2个常用的功能: (1)记录从点i到i的父亲这条路径走过几次 (2)将每条路径(s,t)上的每个点权值增加1,求各点权值 首先我们建立权值数组sum[] 对于(1),对于每一条路径(s,t),操作:  sum[s]++;  sum[t]++;  sum[lca(s,t)]-=2; 再利用dfs将子节点的sum值加入到父亲节点中即可 sum[i]的数值就表示从点i到i的父亲这条路径走过…