
图与树
文章平均质量分 72
Graph theory and Tree structure
Tan_Yuu
TA其实没那么懒,但确实没有添加简介
展开
-
Serval and Rooted Tree(CF1153D)-DP
对于一个有 k 个叶子的max min操作树,在 k 个叶子中填入1~k,求树根的最大值;由于题目中不要求输出填充结果,我们可以使用“第几大”来标记大小:对于max节点,其节点值为子节点的最小值,对于min节点,其节点值为子节点的和;在这个过程中,我们压缩掉了很多无用的信息,简化了问题;定义状态表示:f[i]f[i]f[i] 为在以 i 为根节点的子树中,i 的值为子树中的第几大;定义初值:对于叶子节点 i ,f[i]=1f[i]=1f[i]=1 ;定义状态转移方程:对于max节点,f[...原创 2022-06-11 09:14:36 · 251 阅读 · 0 评论 -
矿场搭建-点双
洛谷 P3225 [HNOI2012]矿场搭建思路满足无论哪个挖煤点坍塌之后,其他挖煤点的工人都有一条道路通向救援出口即说明出口与点双存在一定的对应关系;可以认为,同一个连通块内的不用点双由一个个割点“切”开的,也就是说,一个点双内会有若干个(含0)割点,我们可以对此进行分类讨论;假设当前点双总结点数为 c ,割点数为 d ;若 c=0 ,则需要一个出口,即在唯一的节点上;若 d=0,则需要两个出口进行互保,不同的方案数有 c(c−1)/2c(c-1)/2c(c−1)/2 种;若 d=1,则原创 2021-09-10 08:12:25 · 226 阅读 · 0 评论 -
BLO-Blockade-割点
洛谷P3469 [POI2008]BLO-Blockade题目大意给定一张无向图,求每个点被删除之后有多少个有序点对(x,y) (x!=y,1<=x,y<=n)满足x无法到达y;思路这道题首先考虑的便是和求割点相关;对于每个割点,以下称当这个点被删除时,当前连通块分裂出的几个连通块为“被割集”,记第 i 个被割集的元素数量为 cic_ici ;对于每个节点,其造成的影响 brk[i]=(n−1)∗2+∑(n−1−ci)cibrk[i]=(n-1)*2+\sum(n-1-c_i)c_原创 2021-09-08 18:17:26 · 244 阅读 · 0 评论 -
Junk-Mail Filter-并查集
HDUOJ.2473 Junk-Mail Filter题解参考题目大意共对n个元素进行m次操作,操作共有两种,M a b为定义a与b为同一类元素,S a定义为将a节点与其他节点分离;输出共有几类元素;思路我们可以将元素用代表元代替:每一次该元素被分离是,就给它定义一个新的代表元,并定义该代表元的根为其自己;同时,对于旧的树状结构,下级元素的根依然为该元素的旧代表元,所以不会影响旧关系的传递;这样就可以将不同的关系之间分离开,不会互相干扰;代码#include <iostream&原创 2021-08-27 16:31:02 · 188 阅读 · 0 评论 -
关押罪犯-并查集、贪心
题目来源:Acwing 257.关押罪犯&洛谷 P1525 [NOIP2010 提高组] 关押罪犯思路来源:这里题目描述S 城现有两座监狱,一共关押着 N 名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为 c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为 c 的冲突事件。每年年原创 2021-02-07 20:21:17 · 685 阅读 · 0 评论 -
关于 星空之夜 一题的思路+代码(连通块判重)
题目来源:Acwing.1402 星空之夜题目描述夜空深处,闪亮的星星以星群的形式出现在人们眼中,形态万千。一个星群是指一组非空的在水平,垂直或对角线方向相邻的星星的集合。一个星群不能是一个更大星群的一部分。星群可能是相似的。如果两个星群的形状、包含星星的数目相同,那么无论它们的朝向如何,都认为它们是相似的。通常星群可能有 8 种朝向,如下图所示:现在,我们用一个二维 01 矩阵来表示夜空,如果一个位置上的数字是 1,那么说明这个位置上有一个星星,否则这个位置上的数字应该是 0。给定原创 2021-04-06 19:29:41 · 1881 阅读 · 3 评论 -
关于 牛异或 一题的思路+代码(01字典树的构建与查询)
题目来源:Acwing 1414.牛异或(usaco training 6.1)题目描述农夫约翰在给他的奶牛们喂食时遇到了一个问题。他共有 N 头奶牛,编号 1∼N。每次喂食前,这 N 头奶牛会按照 1∼N 的顺序站成一排。此外,每头奶牛都被分配了一个可能不唯一的整数。那么所有被分配的整数就形成了一个长度为 N 的整数序列。请你在该整数序列中找出一个连续的非空子序列,使得子序列中元素的异或和能够最大。如果存在多个这样的序列,那么选择序列末端整数对应的奶牛编号更小的那个序列。如果仍然存在原创 2021-04-01 18:45:27 · 299 阅读 · 0 评论 -
关于 树的遍历 一题的思路+代码(树的后序与中序遍历输出层序遍历)(递归)
题目来源:Acwing 1497.树的遍历题目描述一个二叉树,树中每个节点的权值互不相同。现在给出它的后序遍历和中序遍历,请你输出它的层序遍历。输入描述第一行包含整数 N,表示二叉树的节点数。第二行包含 N 个整数,表示二叉树的后序遍历。第三行包含 N 个整数,表示二叉树的中序遍历。输出描述输出一行 N 个整数,表示二叉树的层序遍历。数据范围1≤N≤30输入样例172 3 1 5 7 6 41 2 3 4 5 6 7输出样例14 1 6 3 5 7原创 2021-03-24 07:52:12 · 336 阅读 · 0 评论 -
关于 网络延时 一题的思路+代码(树的后序遍历&DP)
题目来源:Acwing-3215.网络延时题目描述给定一个公司的网络,由 n 台交换机和 m 台终端电脑组成,交换机与交换机、交换机与电脑之间使用网络连接。交换机按层级设置,编号为 1 的交换机为根交换机,层级为 1。其他的交换机都连接到一台比自己上一层的交换机上,其层级为对应交换机的层级加 1。所有的终端电脑都直接连接到交换机上。当信息在电脑、交换机之间传递时,每一步只能通过自己传递到自己所连接的另一台电脑或交换机。请问,电脑与电脑之间传递消息、或者电脑与交换机之间传递消息、或者交换机与原创 2021-02-19 13:00:37 · 294 阅读 · 0 评论 -
加分二叉树-DP
题目来源:Acwing 479-加分二叉树&NEFU OJ-353 加分二叉树NEFU OJ题源为多组输入,代码为此oj ac代码题目描述设一个n个节点的二叉树tree的中序遍历为(1,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第i个节点的分数为di,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的加分计算方法如下: subtree的左子树的加分 × subtree的右子树的加分 + sub原创 2021-01-29 21:54:35 · 312 阅读 · 0 评论