摘要:"洛咕" 题意:Linux用户和OSX用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有的配置。Debian/Ubuntu使用的apt ge
阅读全文
摘要:"洛咕" 题意:n个节点的树,每个点的初始点权为0,两种操作,一个是将$(u,v)$路径上的每个点的点权加上$d$,一个是询问以$x$节点为根的子树的权值和.$n,m include include include include include include include define ll
阅读全文
摘要:"洛咕" 题意:解决这样一个问题:给定一颗有根树,根为 $1$ ,有以下两种操作: 1. 标记操作:对某个结点打上标记.(在最开始,只有结点 $1$ 有标记,其他结点均无标记,而且对于某个结点,可以打多次标记.) 2. 询问操作:询问某个结点最近的一个打了标记的祖先.(这个结点本身也算自己的祖先).
阅读全文
摘要:"洛咕" 题意:给定有$n$个节点的树, 树上边有边权. 再给定$q$组询问, 每次询问两个点路径上的最小值和最大值.$n,q include include include include include include include define ll long long using name
阅读全文
摘要:"洛咕" "双倍经验(仅输入不同)" 题意:维护三中操作,一是区间乘,二是区间加,三是询问区间和. 分析:在线段树的板子上增加了一个区间乘操作,但其实在洛咕还是模板题额.再开一个乘法的懒标记,初始化为1,每次遇到区间乘的操作,如果是整个区间都被包含的话,那么这个区间的乘法标记,加法标记和区间和都要更
阅读全文
摘要:"AcWing" 题意:维护两种操作,区间增加和查询区间最大公约数. 分析:借助于求最大公约数的方法之一:更相减损术,$gcd(a,b)=gcd(a,b a)$,推广到任意个都成立,所以可以维护原数组$A$的差分数组$B$,用线段树维护这个差分数组的最大公约数. 对于一个区间增加操作,就只要让$B[
阅读全文
摘要:"AcWing" 题意:两种操作,一是单点修改,二是查询区间最大子段和. 操作一是常规操作,对于操作二,线段树上我们要维护每个节点(区间)的最大左子段和,最大右子段和,最大子段和,以及区间和四个东西. 然后更新就是:
阅读全文
摘要:"洛咕" 题意:现在请求你维护一个数列,要求提供以下两种操作: 1、查询操作. 语法: 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。 限制:$L$不超过当前数列的长度。$(L 0)$ 2、 插入操作。 语法: 功能:将$n$加上$t$,其中$t$是最近一次查询操作的答案(如果还未执
阅读全文
摘要:"洛咕" 题意:天真的小卡总是希望能够在晚上能看到最多最亮的星星,但是窗子的大小是固定的,边也必须和地面平行。这时小卡使用了超能力(透视术)知道了墙后面每个星星的位置和亮度,但是小卡发动超能力后就很疲劳,只好拜托你告诉他最多能够有总和多亮的星星能出现在窗口上。 分析:巧妙地转化为扫描线.对于每颗星星
阅读全文
摘要:"洛咕" 题意:求$n(n include include include include include include include define ll long long using namespace std; inline ll read(){ ll x=0,o=1;char ch=ge
阅读全文
摘要:"洛咕" "双倍经验 洛咕" 题意:给定长度为$N(N10^6 10^3 31 5 2 1$),而对于开到1的数显然对于操作一可以忽略,所以我们直接对于不为1的数暴力开方即可. 具体来说,我们建一棵线段树,每个节点记录maxn和sum值,即区间最大值和区间和,对于操作一,如果该节点的maxn 1就暴
阅读全文
摘要:线段树 线段树是一种基于分治思想的二叉树结构,比树状数组更加通用,下文总结会比较这两种数据结构; 线段树的基本用途是对序列进行维护,支持查询与修改指令; 线段树的每个节点都代表一个区间; 线段树具有唯一的根节点,代表的是整个区间,即[1,n]; 线段树的每个叶节点都代表一个长度为1的区间,即[x,x
阅读全文