树上求和(DFS)传送门思路:计算每条边的贡献次数,然后排序即可。每条边贡献次数公式:cnt=size[u]×(n−size[u])cnt=size[u]\times (n-size[u])cnt=size[u]×(n−size[u])#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e5+5;#define mst(a) memset(a,0,sizeof a)#defin
原创 2022-01-22 13:45:08
55阅读
树上求和(DFS)传送门思路:计算每条边的贡献次数,然后排序即可。每条边贡献次数公式:cnt=size[u]×(n−size[u])cnt=size[u]\times (n-size[u])cnt=size[u]×(n−size[u])#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e5+5;#define mst(a) memset(a,0,sizeof a)#defin
原创 2021-08-10 10:08:09
95阅读
dfs序可以维护树上很多信息包涵以下几种(较为基本):1.单点修改,子树查询2.单点修改,树链查询3.树链修改,单点查询4.树链修改,子
原创 2022-07-05 12:04:44
142阅读
有依赖的背包问题 Code: #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 110; int n,V; int f[N][N];//f[i][j]表示以i为 ...
转载 2021-09-16 08:49:00
152阅读
2评论
void dfs(int u,int fa) { vis[u]=1; //邻接表枚举i的每个相邻节点 for(int i=link[u]; i; i=e[i].next) { int v = e[i].u; if(v!=fa) dfs(v,u); } } int pos;//记录重心的编号 void
转载 2018-05-30 19:38:00
66阅读
2评论
题目描述有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个操作,分为三种:操作 1 :把某个节点
原创 2022-07-05 10:28:54
164阅读
问题描述X 国的一个网络使用若干条线路连接若干个节点。节点间的通信是双向的。某重要数据包,为了安全起见,必须恰
原创 2022-08-11 14:30:26
35阅读
Description:
原创 2023-02-03 10:21:32
100阅读
http://codeforces.com/contest/743/problem/D 如果我们知道mx[1]表示以1为根节点的子树中,点权值的最大和是多少(可能是整颗树
原创 2022-10-20 11:08:36
22阅读
题意:一个家庭聚会,每个人都想送出礼物,送礼规则是, 一个人,先看名单列表,发现第一个祖先 就会送给他礼物,然后就不送了,如果他没找到礼物 他会伤心的离开聚会!告诉你m个祖先关系, 和每个人想给谁送!让你求出名单列表! 析:这个题,真是没想到啊,还是看的题解,首先要知道的是,如果自己和父结点送的人不
转载 2016-07-09 21:29:00
46阅读
2评论
题意:给定一棵树,每个叶子有一个权值,每条边也有一个权值,现在让你删最少的结点,使得从任何结点出发到另一个结点的边上权值和都小于两个结点的权值。 析:很明显是DFS,不过要想找出最少的结点可能不太容易,所以我们可以先找出剩下结点最多,那么用总数减去这个就好,那么怎么找哪些结点是剩下的呢?首先要知道,
转载 2016-07-09 14:58:00
96阅读
2评论
Kuro is living in a country called Uberland, consisting of nn towns, numbered from 11to nn, and n−1n−1 bidirectional roads connecting these towns. It
转载 2019-04-14 13:53:00
136阅读
2评论
​​|–>传送门<–|​​题目大意给定一颗个节点的树,可以从任意一个点开始,求最小字典序的后续遍历。题解首先,对于字典序最小的要求,我们一定是从叶结点中的最小值开始遍历的。我们可以记录每个节点的度,然后倒序寻找度为的节点。然后,我们对当前节点进行讨论,我们有两种策略:认为当前节点不是根节点:先将子树按最小权排序。如果发现当前子树中的最大最小值小于,那么显然此时输出不是最优策略,所以此时
原创 2022-10-28 10:26:21
144阅读
干了一天终于把陕西省赛的I题补出来了。。。给自己鼓个掌 题意: 给出一棵树。 字典树的原理是从根节点开始,每个结点代表的字符串是它的父亲结点代表的字符串加上边上那个结点。 不允许出现两个结点代表的字符串相同。 询问有多少个结点可以作为根节点。 题解: 首先检查每个节点的边集,如果在边集中出现aaa或
转载 2020-03-07 22:23:00
97阅读
2评论
其中$12324215$为循环链表,可用双倍空间存(如图) ...
转载 2021-07-20 09:03:00
113阅读
2评论
题目链接:Here 题意总结:给定的是无向图(树),要求把分成 \(n/2\) 对 让权值最小 思路: 看一下范围 在加上是一棵树 所以做法应该是dfs 复杂度为 \(\mathcal{O}(n)\) 直接去考虑贡献 设当前父节点为x 如果x的子树(包括x自己)的大小是个奇数 意味着什么呢 因为要两
转载 2021-04-15 17:07:00
96阅读
2评论
题干:链接:​​https://ac.nowcoder.com/acm/contest/157/B​​ 题目描述    传说,凤凰是百鸟之王。有一天,凤凰要召开百鸟大会,百鸟国是一个由n个节点组成的树,每个节点有一只鸟,开会的节点定在1号节点。每只鸟可以花费1s通过一条边,由于每根树枝(边)的载重有限,只允许一只鸟同时通过。作为会议的策划师,HtBest想知
原创 2022-06-18 00:12:44
45阅读
大体题意:给你n 个节点的树,其中叶子节点是客户端,内部的节点是服务器!你需要把一
原创 2023-05-15 01:17:41
71阅读
4248: KI的目标Time Limit: 2 Sec  Memory Limit: 128 MBSubmit: 290  Solved: 73DescriptionKI给自己制定了最近制定了一些学习目标,因为有些大目标的达到要先完成一些小目标,所以KI就下意识的把这些目标连成了一棵树,以1号目标为根。   KI是个很谨慎的人,于是他请他的朋友们对这棵树上的每条边
原创 2022-08-11 15:06:06
42阅读
LINK假如没有删除添加操作,那么就是一个ACACAC自动机的板题把所有字符串集合建立ACAMACAMACAM然后对于每个询问串,设询问串在tiretiretire树上的uuu节点那我们可以对询问串的每个前缀去暴力跳failfailfail算答案贡献但是这样太慢,我们可以建出failfailfail树统计子树和快速得到答案但是现在有删除,添加字符串的操作想一下,节点uuu造成的贡献,也就是failfailfail树种所有uuu的子节点的答案都加一所有我们可以求出failfailfail树的d
原创 2022-01-06 09:38:31
63阅读
  • 1
  • 2
  • 3
  • 4
  • 5