luogu P1340 兽径管理】的更多相关文章

题目描述 约翰农场的牛群希望能够在 N 个(1<=N<=200) 草地之间任意移动.草地的编号由 1到 N.草地之间有树林隔开.牛群希望能够选择草地间的路径,使牛群能够从任一 片草地移动到任一片其它草地. 牛群可在路径上双向通行. 牛群并不能创造路径,但是他们会保有及利用已经发现的野兽所走出来的路径(以 下简称兽径).每星期他们会选择并管理一些或全部已知的兽径当作通路. 牛群每星期初会发现一条新的兽径.他们接着必须决定管理哪些兽径来组成该周牛 群移动的通路,使得牛群得以从任一草地移动到任一草地…
2021.08.05 P1340 兽径管理(最小生成树) P1340 兽径管理 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.离线化. 题意: 有n个点,m条边,每次加入一条边,求加边后形成的最小生成树的大小. 分析: 先把加边顺序储存起来,倒序删边,如果生成树中有边被删去,重建生成树. 代码如下: #include<cstdio> #include<iostream> #include<algorithm> #include<cs…
https://www.luogu.org/problem/show?pid=1340 题目描述 约翰农场的牛群希望能够在 N 个(1<=N<=200) 草地之间任意移动.草地的编号由 1到 N.草地之间有树林隔开.牛群希望能够选择草地间的路径,使牛群能够从任一 片草地移动到任一片其它草地. 牛群可在路径上双向通行. 牛群并不能创造路径,但是他们会保有及利用已经发现的野兽所走出来的路径(以 下简称兽径).每星期他们会选择并管理一些或全部已知的兽径当作通路. 牛群每星期初会发现一条新的兽径.他们…
题目描述 约翰农场的牛群希望能够在 N 个(1<=N<=200) 草地之间任意移动.草地的编号由 1到 N.草地之间有树林隔开.牛群希望能够选择草地间的路径,使牛群能够从任一 片草地移动到任一片其它草地. 牛群可在路径上双向通行. 牛群并不能创造路径,但是他们会保有及利用已经发现的野兽所走出来的路径(以 下简称兽径).每星期他们会选择并管理一些或全部已知的兽径当作通路. 牛群每星期初会发现一条新的兽径.他们接着必须决定管理哪些兽径来组成该周牛 群移动的通路,使得牛群得以从任一草地移动到任一草地…
传送门 思路: 题目要求每次连边都要输出最小生成树的边权和.如果在线直接套用最小生成树模板肯定会超时,考虑离线处理.记录每一插入边的时间,在所有边都插入完成后排序一遍就可以求最小生成树(按照插入时间的前后对边进行取舍). 标程: #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cmath> #include<cstdlib&…
[问题描述] 约翰农场的牛群希望能够在 N 个(1<=N<=200)草地之间任意移动.草地的编号由 1到N.草地之间有树林隔开.牛群希望能够选择草地间的路径,使牛群能够从任一 片草地移动到任一片其它草地. 牛群可在路径上双向通行. 牛群并不能创造路径,但是他们会保有及利用已经发现的野兽所走出来的路径(以 下简称兽径).每星期他们会选择并管理一些或全部已知的兽径当作通路. 牛群每星期初会发现一条新的兽径.他们接着必须决定管理哪些兽径来组成该周牛 群移动的通路,使得牛群得以从任一草地移动到任一草地…
Description 约翰农场的牛群希望能够在 N 个(1<=N<=6000) 草地之间任意移动.草地的编号由 1到 N.草地之间有树林隔开.牛群希望能够选择草地间的路径,使牛群能够从任一 片草地移动到任一片其它草地. 牛群可在路径上双向通行. 牛群并不能创造路径,但是他们会保有及利用已经发现的野兽所走出来的路径(以 下简称兽径).每星期他们会选择并管理一些或全部已知的兽径当作通路. 牛群每星期初会发现一条新的兽径.他们接着必须决定管理哪些兽径来组成该周牛 群移动的通路,使得牛群得以从任一草…
题面:https://www.luogu.org/problemnew/show/P1340 题解:https://www.zybuluo.com/wsndy-xx/note/1153773…
[Luogu 2146] NOI2015 软件包管理器 树剖好题. 通过对题目的分析发现,这些软件构成一棵树,\(0\) 是树根. 每下载一个软件,需要下载根到这个软件的路径上的所有软件: 每卸载一个软件,需要删除这个软件构成的子树上的所有软件. 因此我们可以 HLD,然后用「0/1 线段树」来维护. 最初每一个点的点权都是 \(0\). 下载 \(x\):根到 \(x\) 的路径上,所有点权改为 \(1\). 卸载 \(x\):\(x\) 构成的子树上,所有点权改为 \(0\). 每次操作前后…
题面:https://www.luogu.org/problemnew/lists?name=2146 这道题要用树链剖分,我博客里有对树链剖分的详细介绍 这道题就是树链剖分的模板,详细解释见程序. 学完树的dfs序,lca,线段树食用更佳. 不会这些学什么树剖(逃~ #include <bits/stdc++.h> //万能头文件 using namespace std; int n,q,tot; int fa[100005],size[100005],dep[100005],son[100…
题目链接:https://www.luogu.org/problemnew/show/P2146 变量名真毒瘤 我真的再也不把l,left,r,right弄反了 反向思维更好做一些 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define ll long long #define lson left, mid, rt<<1 #defi…
Luogu P2146 由于对于每一个软件包有且只有一个依赖的软件包,且依赖关系不存在环. 很显然这是一个树形的结构. 再看题目要求的操作,安装实际上对应的是覆盖根节点到当前节点的路径,卸载则是覆盖该节点的整颗子树. 对于这样的操作,树链剖分+线段树可以很轻松地维护. 值得注意的是,根节点编号为0,我为了方便操作,把所有节点的编号都加了1 线段树的懒标记在没有使用的情况下应该标记为-1,因为0代表的是整个区间被覆盖为0.不能判断为标记为0就不进行push_down,因为卸载之后其子树上的所有节点…
题目链接 上午跟rqy学了一道超难的概率题,准备颓一会,于是水了这么一道水题. 话说这题真的是模板啊.数据范围正好,描述特别贴近(都不给你绕弯子的),连图都给你画出来,就差题目描述加一句“树链剖分模板”了qwq 怕当年考noi的选手想不到这是树剖么qwq 然后一般来讲省选及以上难度的题都是有套路的,也就是说你秒出的算法都过不了,比如轮状病毒肯定秒出高斯消元解行列式,然后就过不了了 emm但是这个为什么是真的模板啊qwq 我交之前还想着“没事,肯定被卡.我只看看我树剖暴力能拿几分” 然后就A了啊喂…
见7.3测试 #include<iostream> #include<algorithm> #include<cstdio> using namespace std; ; inline int rd(){ ,f=;char c; :; +c-',c=getchar(); return ret*f; } struct Node{ int lon,tim; }nodes[MAXN]; bool cmp(const Node &x,const Node &y)…
卸载:把子树清空: 安装:把自己到$1$的链改为$1$ #include<cstdio> #include<iostream> #include<cstring> #define R register int #define ls (tr<<1) #define rs (tr<<1|1) using namespace std; inline int g() { R ret=,fix=; register :fix; +(ch^); while(…
目录 一.最小生成树的相关知识 1. 树的性质 2. 生成树 3. 最小生成树 4. 最小生成树的性质 二.Kruskal算法求最小生成树 1. 核心思想 2. 具体流程 3. 图示 4. 代码实施 三.例题 例1:P2212 [USACO14MAR]浇地Watering the Fields 例2:P1550 [USACO08OCT]打井Watering Hole 例3:P1547 Out of Hay 例4:P1340 兽径管理 一.最小生成树的相关知识 1. 树的性质 树实际上是图的特殊形…
1.luogu P4315 月下"毛景树" 题目链接 前言: 这大概是本蒟蒻A掉的题里面码量最大的一道题了.我自认为码风比较紧凑,但还是写了175行. 从下午2点多调到晚上8点.中间小错不断.最后还是借助了郭神的AC代码.. %%%stO郭神Orz%%% 还是我代码能力不够.以后要多写一些这样的题练练手. 解析: 题目相当裸.树链剖分+线段树维护区间最大值. 需要注意的点大致如下: 1.边权化点权 2.线段树需要实现的功能:区间加,区间赋值,区间查询最大值. 看起来貌似有手就行其实对于…
Maze Time Limit: 2 Seconds      Memory Limit: 65536 KB Celica is a brave person and believer of a God in the bright side. He always fights against the monsters that endanger humans. One day, he is asked to go through a maze to do a important task. Th…
二分答案水题. (像我这么蒻的人都能十几分钟A掉) https://www.luogu.org/problemnew/show/P2920 开始时间一定在从0到min(t[i]-s[i])的一段区间上,因此我们可以愉快地二分答案. 在二分答案之前,我们贪心地把结束时间从小到大排一遍序,于是就可以二分了. 最后如果结果是负数,证明无解,不能完成任务.输出-1. Check函数里,模拟累加一下当前的时间加上最靠近ddl任务所花的时间,看能不能完成,进行判断. code #include<cstdio…
https://www.luogu.org/problemnew/show/P2146 几乎是一个裸题 #include<cstdio> #include<cstring> #include<algorithm> #define ls (p << 1) #define rs ((p << 1) | 1) #define mid ((l + r) >> 1) , M = N << ; using namespace std;…
题意 给定\(n\)个软件包,每个软件包都有一个依赖软件包,安装一个软件包必须安装他的依赖软件包,卸载一个软件包必须先卸载所有依赖于它的软件包.给定\(m\)此操作,每次一个操作\(install/unistall\)表示安装或者卸载. 题解 可以通过简单画图看出,在这个树形结构的依赖层次图上,安装一个包相当于安装其到根节点路径上的所有包,删除一个包相当于删除其与其子树的包.用一个重链剖分+线段树处理一下就行了. #include <cstdio> #include <algorithm…
  Linux是个多用户多任务的分时操作系统,所有一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问:另一方面也能帮助用户组织文件,并为用户提供安全性保护.每个用户账号都拥有一个惟一的用户名和用户口令.用户在登录时键入正确的用户名和口令后,才能进入系统和自己的主目录. 实现用户账号的管理,要完成的工作主要有如下几个方面: a.用户账号的添加.删除和修改. b.用户口令的管理.…
APT攻击就像一个孩子,你通过各种方式窃取他们的大脑要拿出饼干,为了防止恶意攻击,过失作为母亲未能发现和防止饼干盗窃贼如.于她仅仅监视厨房椅子.衣柜门或烤箱门的开启.建立起有效防御目标攻击与APT攻击的重点之中的一个是必须监控广泛的攻击范围.饼干窃贼有着贪婪的欲望和顽强的坚持,那些想入侵你的网络并窃取你资料的人也是,你仅仅要那边稍不注意,那么"饼干"就会从那里消失. 小孩子经常会去偷吃妈妈刚烤好的饼干,这个回顾和如今的目标攻击与APT-高级持续性渗透攻击 (Advanced Persi…
Luogu 1006 传纸条 / NOIP 2008 传纸条(动态规划) Description 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸运的是,他们可以通过传纸条来进行交流.纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1),小轩坐在矩阵的右下角,坐标(m,n).从小渊传到小轩的纸条只可以向下或者向右传递,从小轩传给小渊的纸条只可以向…
People who cannot find time for recreation are obliged sooner or later to find time for illness.腾不出时间娱乐的人,早晚会被迫腾出时间生病. rpm 包获取1.插入系统光盘安装光盘2.链接光驱设备3.在系统中执行挂载命令#mount/dev/cdrom/mnt/4.进入rpm包目录#cd /mnt/Packages/ 1.RPM包命名原则httpd-2.2.15-15.el6.centos.1.i68…
• 描述SGA 中的内存组件• 实施自动内存管理• 手动配置SGA 参数• 配置自动PGA 内存管理  内存管理:概览DBA 必须将内存管理视为其工作中至关重要的部分,因为:• 可用内存空间量有限• 为某些类型的功能分配更多内存可提高整体性能• 自动优化的内存分配通常是正确的配置,但特定环境甚至短期情况下可能需要特别注意 由于数据库服务器上的可用内存量有限,因此,对于Oracle DB 实例,必须注意内存的分配情况.如果将过多的内存分配给没有此需求的特定区域使用,则很可能导致其它功能区没有足够的…
[luogu P3960] [noip2017 d2t3] 队列 题目描述 Sylvia 是一个热爱学习的女♂孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有n \times mn×m名学生,方阵的行数为 nn,列数为 mm. 为了便于管理,教官在训练开始时,按照从前到后,从左到右的顺序给方阵中 的学生从 1 到 n \times mn×m 编上了号码(参见后面的样例).即:初始时,第 ii 行第 jj 列 的学生的编号是(i-1)…
题目链接:https://www.luogu.org/problemnew/show/P2146 题目描述 Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有的配置.Debian/Ubuntu使用的apt-get,Fedora/CentOS使用的yum,以及OSX下可用的homebrew都是优秀的软件包管理器. 你决…
下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明.linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用,可以大大提高我们运维工作的效率. 首先,umask是权限码,默认是:0022             使用命令"umask"就能查询出来 文件默认的权限是666,目录默认的权限是777:新建文件和目录的权限分别是各自默认权限减去umask权限码值. 即:新建文件权限,666-022=644…
原文 Linux是个多用户多任务的分时操作系统,所有一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问:另一方面也能帮助用户组织文件,并为用户提供安全性保护.每个用户账号都拥有一个惟一的用户名和用户口令.用户在登录时键入正确的用户名和口令后,才能进入系统和自己的主目录.实现用户账号的管理,要完成的工作主要有如下几个方面:a.用户账号的添加.删除和修改.b.用户口令的管理.c.…