摘要: //跑不过,不知道为啥,感觉逻辑都很正确了 //题意:给出一棵带边权的树,询问一条权值为k的路径经过点的最小值是多少 //思路:因为涉及到最小值问题,所以树性dp好像不行(其实暂时不清楚,因为dp没怎么碰过) // 然后这种路径可合并问题很明显是可以用dsu on tree做的 因为没有树上修改的步 阅读全文
posted @ 2023-01-06 14:00 Aacaod 阅读(15) 评论(0) 推荐(0) 编辑
摘要: //题意:一棵树有边权,询问一条长度为k的简单路径所需的最小步数 // 思路: 点分治,主要是合并的思路,因为是要求最小步数,所以我们对于每一种长度记最小步数即可 // #include <bits/stdc++.h> using namespace std; #define int long lo 阅读全文
posted @ 2023-01-06 13:59 Aacaod 阅读(16) 评论(0) 推荐(0) 编辑
摘要: //题意:给定一棵树,求树上有多少个距离为k的点对 //思路:(树分治思想,具体看博客图吧,另外这题很明显的可以用DSU on tree做,因为求一个长度为k路径的合并部分非常简单) // #include <bits/stdc++.h> using namespace std; #define l 阅读全文
posted @ 2023-01-04 16:47 Aacaod 阅读(13) 评论(0) 推荐(0) 编辑
摘要: //题意:n个节点的树,每条边有边权,现在要求对于每一个结点u的子树中有多少个节点 // 满足到u点的距离不大于t // 思路:树上差分思想还是比较好想到的,因为要满足dep[x]-dep[u]<=t,所以在x之上到 // u之间的所有点对u点的答案都有贡献,所以上差分就好 // // 主要不是很熟 阅读全文
posted @ 2023-01-03 17:22 Aacaod 阅读(30) 评论(0) 推荐(0) 编辑
摘要: //题意:给定一个序列,询问他有多少个合法子序列 // 合法条件:在区间内不会出现相同的数,同时 区间最大值-(区间长度)<= 给定常数k //思路:启发式分治,详情见博客 #include<bits/stdc++.h> #define ll long long #define rep(i,a,b) 阅读全文
posted @ 2023-01-01 12:32 Aacaod 阅读(18) 评论(0) 推荐(0) 编辑
摘要: //题意:有一棵树,有两个指令 // 指令1:0 u delta,这棵树长出了一些果子, 即u的子树中的每个节点都会长出delta个果子 // 指令2:1 k u1 v1 ... uk vk,小明希望你求出几条树枝上的果子数. 一条树枝其实就是一个从某个节点到根的路径的一段. 每次小明会选定一些树枝 阅读全文
posted @ 2023-01-01 12:11 Aacaod 阅读(20) 评论(0) 推荐(0) 编辑
摘要: //题意:给定一个序列,如果这个序列的每个子区间都满足:至少有一个数只在这个区间内出现一次。那么这个序列称为好序列 //思路:本题可以用点分治做,这里采用的是启发式分治的做法,详情见博客 #include<bits/stdc++.h> using namespace std; const int N 阅读全文
posted @ 2022-12-31 15:00 Aacaod 阅读(21) 评论(0) 推荐(0) 编辑
摘要: #include<bits/stdc++.h> using namespace std; const int N = 2e6 + 10; int n, m, Maxdep; map<string, int> name; vector<int> mp[N]; vector<pair<int, int> 阅读全文
posted @ 2022-12-30 23:15 Aacaod 阅读(15) 评论(0) 推荐(0) 编辑
摘要: //题意:给定一棵树,现在我需要询问以下操作 // 1.q,u之间的最小值 // 2.q,u之间的简单路径的权值和 // 3.修改树上q点的权值 //思路:如果是在一段序列上的问题,我们可以直接线段树解决,但是这是一棵树,我们也无法将两点之间的简单路径转化为一段连续区间 // 所以我们使用树链剖分( 阅读全文
posted @ 2022-12-30 23:13 Aacaod 阅读(13) 评论(0) 推荐(0) 编辑
摘要: //题目大意:给定一棵树,树上的每个节点是一个软件,现在给出如下两个指令,install与uninstall, // 如果需要install x号软件,那么我需要安装他到根节点之间的所有软件;如果我需要卸载 // uninstall所有的软件,那么我需要先卸载他子树中的所有软件。现在我们询问每次给定 阅读全文
posted @ 2022-12-30 23:12 Aacaod 阅读(15) 评论(0) 推荐(0) 编辑