ICode9

精准搜索请尝试: 精确搜索
  • P8347-「Wdoi-6」另一侧的月【博弈论,结论】2022-06-14 22:00:46

    正题 题目链接:https://www.luogu.com.cn/problem/P8347 题目大意 给出一棵树,两个人轮流操作。 操作者可以选择一个点删除,然后选择一个剩下的连通块,删除其他连通块。 操作完成后只剩下一个点的人失败,求是否先手必败。 \(1\leq T\leq 5,1\leq n\leq 10^5\) 解题思路 考虑如果存在

  • 树的直径与重心学习笔记2022-05-31 13:02:46

    此文为完成任务所设,可能不易懂,能看懂就将就着看吧 1.定义 树的定义:不存在环且联通的图。 树的直径:树中的最长链 树的重心:为一个点,以此点为根,最大子树的大小最小。 2.求法 树的直径求法分两种:两次 DFS/BFS 与树形 dp 。 首先讲好理解点的树形 dp 。 其实很简单,每个节点维护子树到这

  • 3.8 模拟总结2022-05-29 19:32:33

    3.8 模拟总结 这次模拟考的不好,我认为原因有以下几点: 硬实力不够,如没想到树直径与所有点距离最小值间的关系,以及容斥的巧妙使用; 考试策略不合理,如第一题想了 2.5h 左右却没什么进展,甚至导致暴力都没打完; 考试心态不够稳,如因为在第一题受挫而导致后面的题没有进行比较有效的思考。

  • 树中节点和2022-05-29 14:03:34

    树中节点和 给定一棵 $n$ 个节点组成的树。 树中节点编号为 $1 \sim n$。 $1$ 号节点为树的根节点。 树中的每个节点 $v$ 都具有一个非负整数权值 $a_{v}$。 我们用 $s_{v}$ 来表示从节点 $v$ 到根节点的路径上经过的所有节点(包括两端节点)的权值之和;用 $h_{v}$ 来表示从节点 $v$

  • 最近一些题的题解2022-05-26 14:35:14

    1. 摩尔庄园 用树形 dp 模拟网络流。 记 \(a\) 为 \(x\) 走向 \(fa(x)\) 的次数,\(b\) 为 \(fa(x)\) 走向 \(x\) 的次数,\(flw(x) = a - b\)。 这样在从 \(x\) 走向 \(fa\) 时: 如果 \(flw(x) < 0\),表示有更多次从 \(fa\) 走向 \(x\),那么这一次费用为 \(-1\),表示和之前一次从 \(fa\)

  • 2022校赛 - G 食堂在哪里2022-05-23 11:03:53

    2022校赛 - G 食堂在哪里 四川大学在线评测系统 (scu.edu.cn) 换根dp 首先树dp \(f[u]\) :以 \(u\) 为根的子树中的学生,到 \(u\) 这个点的距离和 \(g[u]\) :以 \(u\) 为根的子树中的学生,包括 \(u\) 的学生,吃完 \(u\) 的面包后还需要向上走的人数 转移: ​ \(f[u]=\sum f[v]+g[v]\)

  • 数据结构学习小记-树2022-05-14 22:01:15

    树 1.一种非线性结构,属于图均属于非线性结构。 树是由结点或顶点和边组成的,不存在任何环的结构,没有结点的树称为空,null,一棵非空的树包括一个根节点,还有很多附加结点,所有结点构成一个多级分层结构。 树的定义:n个节点组成的有限集合。n=0,空树;n>0,1个根节点,m个互不相交的有限集,

  • APIO20202022-05-10 16:35:35

    做贺了一下,作文以记之。 [APIO2020]粉刷墙壁 题意: 直观描述一下:就是 \(M\) 个人,可以涂一些特定颜色的墙,看成一个环,可以从任意处断开成 \(M\) 个数的数列。 有 \(N\) 个面的墙,对于一连续段长度为 \(M\) 的面,如果 \(M\) 个人可以依次涂这些墙,就代表这一次刷墙是合法的。求最小

  • 树上启发式合并(dsu on tree)学习笔记2022-05-06 20:00:48

    树上启发式合并(dsu on tree)学习笔记 闲话 树上启发式合并,又称 dsu on tree(虽然跟 dsu 并查集完全没关系),用于离线处理子树相关询问。 它是一种利用了重链剖分性质的暴力,时间复杂度为完全正确的 \(\mathcal{O}(n\log n+m)\),个人认为跟莫队等都是非常优雅的暴力。 阅读本文并不需要重

  • 点分治2022-05-05 22:32:09

    介绍 点分治是用来解决树上路径问题的一种方法。 在解决树上路径问题时,我们可以选取一点为根,将树转化为有根树,然后考虑经过根的所有路径(有时将两条从根出发的路径连接为一条)。统计完这些路径的答案后,将根节点标记为删除,对剩下的若干棵树进行同样的操作。 如图,我们可以先考虑经过

  • 求先序排列2022-05-03 22:01:02

    中序:左-根-右 后序:左-右-根 这里最关键的就是利用后序的根在序列的最后 通过定位根来分开子树 比如说 我们来看例子    这里给出的两个序列 BADC BDCA 后序排列里的根就是A  那么中序里的根就是A 你说你不知道接下来我从后序里看不出来怎么排列的两棵子树 怎么分,这个时候就是看

  • CF1667E Centroid Probabilities2022-04-22 22:03:47

    题面传送门 写了个NTT然后被一堆到现在还看不懂的线性做法吊起来打。 首先我们考虑直接对重心的充要条件下手:当前节点的孩子的子树不超过\(\frac{n}{2}\)且总和大于\(\frac{n}{2}\) 先考虑设\(g_i\)表示一颗\(i\)个点的树,且没有一个子树大小超过\(\frac{n}{2}\)的方案数。发现可以

  • 数据结构 - 树 - 树的基本介绍2022-04-19 14:03:04

    树的定义 树是由 \(n\) 个结点构成的有限集合,在任意一棵非空树中: 有且仅有一个称为根 root 的结点。 当 \(n>1\) 时,其余结点可分为若干个互不相交的集合,且这些集合中的每一个集合本身又是一棵树,称为根的子树。 (1) 数据对象 数据对象 D 是具有相同特性的数据元素的集合。 (2

  • 图论专题-学习笔记:点分治2022-04-17 18:03:00

    目录1. 前言2. 详解2.1 树的重心2.2 点分治3. 总结 1. 前言 点分治,是一种图论算法,专门用于一类树上路径统计问题。 前置知识:无。 2. 详解 2.1 树的重心 讲点分治之前我们先来讲讲树的重心。 树的重心的定义是这样的:在一棵树中,如果以一个点为根,其所有儿子的子树大小最大值是最小的,

  • BSOJ6756口胡2022-04-11 09:33:58

    ETT模板。 题意:维护一颗动态树,支持: 换父亲,换根,子树乘,子树求和。 ETT 实际上是用平衡树去维护这颗树的欧拉环游序。但是因为是欧拉环游序,所以是可以随意循环位移的。为了方便,我们从 根节点第一次出现的位置 断开这个欧拉环游序。(欧拉环游序实际上应该是一条环,大部分时候我们都是人

  • 概率期望题(期望 DP)做题记录2022-04-08 09:03:08

    概率期望题(期望 DP)做题记录 P3830 [SHOI2012]随机树 难点在于第二问:生成树的期望深度。 不 wei zhuo 捏,设 \(dp_{i,j}\) 表示已经有了 \(i\) 个叶子结点,深度大于 \(j\) 的概率。 考虑枚举一棵子树的大小,转移方程如下: \[dp_{i,j}=\sum_{k=1}^{i-1}\dfrac{dp_{k,j-1}+dp_{i-k,j-1}-d

  • AcWing284 金字塔2022-04-05 19:33:31

    题目大意 有一棵树,每个节点有一个颜色,用字母 A ~ Z 表示。现在从树根开始进行深度优先遍历,每来到一个节点会记录这个节点的颜色,最后在树根结束遍历。 显然,每个节点会访问至少一次,并且穿越每条边恰好两次(两个方向各一次), 然后,你会得到一个颜色序列。但是,你会发现这个颜色序列并不能

  • 没有上司的舞会——树形dp2022-04-05 16:04:51

    P1352 没有上司的舞会 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 一道很好的树形dp入门题。 要明确树形dp主要的实现方式是dfs。   状态表示:f [ i , 0 ]表示以i为根的子树,i层不取值时的最大值。      f [ i , 1 ]表示以i为根的子树,i层取值时的最大值 状态计算:f [ i , 0

  • Google Code Jam 2022 Qualification Round2022-04-04 02:35:01

    Punched Cards 字符串模拟。 3D Printing 对于每一个颜色分量,因为3个打印机都要可行,所以取3个打印机中的最小值。 如果4个分量的最小值之和大于等于\(10^6\),那么可行,输出方案的话就是能加就加,反正只要求和为\(10^6\);否则无解。 d1000000 排个序,贪心用小的骰子去填小的坑,能填就填。

  • 数据结构之树2022-04-01 18:01:55

    一、树 1.概念 前驱唯一,后驱不唯一(一对多,是非线性结构,结点之间有分支,具有层次关系) 数是n(n>=0)个结点的有限集 若n=0为空树 n>0时,有且仅有一个特定的称为根的结点其余结点可以分为m(m>=0)个互不相交的有限集T1,T2,T3...Tm,其中每一个集合本身又是一棵树,并称为根的子树 2.树的基本术

  • 108. 将有序数组转换为二叉搜索树2022-04-01 11:03:22

    ✅做题思路or感想: 构建二叉树的基本思想:找头节点,分割左右子树的序列 二叉搜索树的找头节点很简单:中间的节点就是头节点,并且就可以就着中间节点进行分割左右子树的序列 class Solution { public: TreeNode* sortedArrayToBST(vector<int>& nums) { //当序列为空,则证明

  • CF613D 题解2022-03-29 09:31:19

    \(\texttt{Solution}\) 我们考虑 \(\mathcal O(nq)\)怎么做 我们可以发现如果一个点是关键节点,那么这个点下面的关键节点是一定要删去的,如果这个点不是关键节点,那么如果他下面有两个以上的关键节点,把他传到上面去再把这个点删掉只会更劣不会更优,而如果只有一个关键节点,传到上面去

  • 树的重心2022-03-08 12:34:24

    题目描述 给定一颗树,树中包含n个结点(编号1~n)和n-1条无向边。 请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。 输入格式 第一行包含整数n,表示

  • leetcode 1373 二叉搜索子树的最大键值和2022-03-07 11:04:47

    leetcode 1373 二叉搜索子树的最大键值和 题目描述: 本题主要考察二叉树的后续遍历,由于后序遍历可以拿到根节点左右子树的信息,我们可以通过对左右子树后续遍历,得到左右子树的四个有用的信息,1、是不是二叉搜索树 2、子树的最大值 3、子树的最小值 4、子树的和。 通过给dfs函数设

  • 平衡树Treap2022-03-06 21:32:14

    treap: treap=tree+heap,树+堆 也就是说,这个东西是个树,但是满足堆的性质。 前置知识: BST二叉搜索树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值。 也就是说,你把它从根节点中序遍历一边就能得到一个从

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有