Codechef Observing the Tree】的更多相关文章

Home » Practice(Hard) » Observing the Tree   https://www.codechef.com/problems/QUERY Observing the Tree Problem Code: QUERY Submit Tweet All submissions for this problem are available. Chef gives you a tree, consisting of N nodes. The nodes are numbe…
Codechef Union on Tree https://www.codechef.com/problems/BTREE 简要题意: 给你一棵树,\(Q\)次询问,每次给出一个点集和每个点的\(r_i\),每个点可以覆盖距离小于等于\(r_i\)的点. 问有多少点会被覆盖. 分析: 建出虚树,然后我们做两边\(dp​\)把所有点的\(r_i​\)更新成从这个点能覆盖的最远距离或从其他点出来经过这个点后能够覆盖的最远距离. 这样做的好处是对于一条边\((x,y)\),一定存在一个点\(z\),…
题目大意: 给你一棵树,一开始每个点的权值都是0,要求支持一下三种操作: 1.路径加等差数列. 2.路径求和. 3.回到以前的某次操作. 强制在线. 思路: 树链剖分+主席树. 最坏情况下,n个点的树最多会被分成n-1个链, 这里不能每个点都开一个主席树,因为主席树中要存每个线段树的根结点编号,总共有m次操作, 因此最坏情况下,总共要存nm个根结点,显然会爆空间,因此我们可以考虑将所有点合并在一个主席树中. 路径加等差数列时,我们可以先求出两个端点x和y上加的值ax和ay,然后往上爬的过程中根据…
已经连咕了好几天博客了:比较经典的题目 题目大意 给出一个 N 个点的树和$K_i$, 求每个点到其他所有点距离中第 $K_i$ 小的数值. 题目分析 做法一:点分树上$\log^3$ 首先暴力做法:对于每个节点维护其他点距离的值域线段树.这个做法的瓶颈在于关于边$(u,v)$线段树的转移.那么可以利用点分树(为了保证复杂度)换一种容斥的思路利用重复的信息:记$f_i$为以$i$为根的点分树内所有其他点到点$i$的距离的值域线段树:$g_i$为以$i$为根的点分树内,所有点到$i$的点分树父亲的…
该思博的时候就思博到底,套路的时候不能再套路的一道题 首先我们将联通块的大小平方和进行转化,发现它就等价于连通点对数,而这个可以转化为连接两点的边数(距离)和 所以我们考虑第\(i\)天时,一个点对\((x,y)\)能产生贡献,当且仅当连接它们的边一条都没断,故贡献为: \[\frac{(n-1-\operatorname{dis}(x,y))^{\underline i}}{(n-1)^{\underline i}}\] 因此我们发现这个东西对于所有距离相同的点对是一样的,因此我们可以直接统计…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个 N 个点的有根树,标号 1 到 N,以 1 为根.定义一个结点 x 的深度 dep[x] 为 x 到根经过的边的数量. 将整棵树剖分成若干竖直的链(链上结点总是由祖先到后代),每条竖直的链的代价如下: \[\sum_w(C[u] \times (h - dep[w]) + C[u]^2) - H[u]\] 其中 u 是链的最低点,w 是链上的点,h 为…
乱听课记录 关于树的分治问题&杂题选讲 张哲宇 边分治 (边分不是很鸡肋吗) 例题一 题目大意:给出两颗有正负边权的树,求出两个点\(u,v​\)使得两棵树中\((u,v)​\)距离的和最大.\(n \le 10^5​\). 点分治 例题二 题目大意:\(n\)个点的树,每个点有非负点权,求权值第\(k\)大的联通块.\(n,k \le 10^5\). 考虑点分治,对于每一个分治中心,进行的点分相当于多了一个"强制选该分治中心"的限制. 对于每一层的分治,我们dfs重标号,那么…
树链剖分+可持久化线段树....这个一眼可以看出来, 因为可持久化所以写了标记永久化(否则就是区间修改的线段树的持久化..不会), 结果就写挂了, T得飞起...和管理员拿数据调后才发现= = 做法:码码码码码码码码...码完就AC啦. O(M log N) ------------------------------------------------------------------- #include<cstdio> #include<cctype> #include<…
有点像计蒜之道里的 京东的物流路径 题目描述 给定一棵 N 个节点的树,每个节点有一个正整数权值.记节点 i 的权值为 Ai.考虑节点 u 和 v 之间的一条简单路径,记 dist(u, v) 为其长度,gcd(u, v) 为路径上所有节点(包含 u 和 v)的权值的最大公因子.min(u, v) 为路径上所有节点的权值的最小值.请求出所有节点对 (u, v) 中 dist(u, v) · gcd(u, v) · min(u, v) 的最大值 输入格式 输入的第一行包含一个整数 T,代表测试数据…
目录 题意 解析 AC_code @(Codechef March Cook-Off 2018. Maximum Tree Path) 题意 给你一颗\(n(1e5)\)个点有边权有点权的树,\(Min(u,v)\)表示\(u,v\)路径最小点权,\(gcd(u,v)\)表示\(u,v\)路径点权的最大公因数,\(dis(u,v)\)表示\(u,v\)路径大小. 输出\(max(dis(u,v)*gcd(u,v)*Min(u,v))\) 解析 法一: 外层枚举路径的gcd,并把两端点是gcd倍数…