[HNOI 2016]序列】的更多相关文章

Description 题库链接 给你一个长度为 \(n\) 的序列 \(A\) ,给出 \(q\) 组询问.每次询问 \([l,r]\) ,求该区间内所有的子序列中最小值的和. \(1\leq n,q\leq 100000,|A_i|\leq 10^9\) Solution 考虑把右端点右移时,会产生 \(r-l+1\) 个新的区间,我们可以来统计这 \(r-l+1\) 个区间的最小值和. 记 \(pre_i\) 为从第 \(i\) 位往左走第一个值比 \(A_i\) 小的位置. 显然在 \(…
题目传送门 传送点I 传送点II 题目大意 给定一个长度为$n$的序列.询问区间$[l, r]$的所有不同的子序列的最小值的和. 这里的子序列是连续的.两个子序列不同当且仅当它们的左端点或右端点不同. 不会直接上神奇数据结构的做法. 考虑莫队.当在一段右边加入一个数后,考虑它产生的贡献. 首先找到加入后这一段的最小值,那么左端点在它的左侧的时候这个最小值做出贡献. 对于它右边到新加入的数新造成的贡献用同样的方法计算,期望下多带个$log$,然后题目没说数据随机. 考虑右边这一部分其实被算重了许多…
Description 题库链接 给你一棵 \(N\) 个节点根节点为 \(1\) 的有根树,结点的编号为 \(1\sim N\) :我们称这颗树为模板树.需要通过这棵模板树来构建一颗大树.构建过程如下: 将模板树复制为初始的大树: 以下 2.1 2.2 2.3 步循环执行 \(M\) 次: 2.1. 选择两个数字 \(a,b\) ,其中 \(1\leq a\leq N,1\leq b\leq 当前大树的结点数\) : 2.2. 将模板树中以结点 \(a\) 为根的子树复制一遍,挂到大树中结点…
Problem Description 给定长度为 \(n\) 的序列:\(a_1, a_2, \cdots , a_n\),记为 \(a[1 \colon n]\).类似地,\(a[l \colon r]\)(\(1 \leq l \leq r \leq N\))是指序列:\(a_{l}, a_{l+1}, \cdots ,a_{r-1}, a_r\).若 \(1\leq l \leq s \leq t \leq r \leq n\),则称 \(a[s \colon t]\)是 \(a[l \…
\(Description\) 给你一个序列,每次询问一个区间,求其所有子区间的最小值之和 \(Solution\) 这里要用莫队算法 首先令\(val\)数组为原序列 我们考虑怎么由一个区间\([l,r]\)到\([l,r+1]\) 我们发现新增加的区间为: \[[l,r+1],[l+1,r+1],[l+2,r+1]...[r,r+1],[r+1,r+1]\] 我们令\([l,r+1]\)内的最小值的位置为\(x\) 则\([l,r+1],[l+1,r+1]...[x-1,r+1],[x,r+…
感觉省选好难的说...反正我数据结构太垃圾正解想到了也打不出来打一打暴力就滚粗了! DAY1 0+20+30 DAY2 60-20+0+60 最后170-20分,暴力分还是没有拿全! 然而这次是给了50+20+30+60+10+60=230分的暴力分的. 妈蛋数据加强gi掉了两个点 写一写那两个60分的暴力是怎么打出来的吧0.0 day2 t1 sequence 显然暴力n^3是没什么希望了只有10分,那么注意到前两个点的值很小,直接n^2预处理答案就可以了,还有前30-40分的预处理时候不可以…
第一天 DeepDarkFantasy 从东京出发,不久便到一处驿站,写道:日暮里.  ——鲁迅<藤野先生> 定义一个置换的平方为对1~n的序列做两次该置换得到的序列.已知一个置换的平方,并且这个结果是一个排列,求该置换. 输入第一行一个数n表示排列长度,接下来一行n个数描述排列. 有解则输出一行n个数表示原排列.否则输出一行一个-1. 测试点编号 特征 0~1 n<=10 2~9 n<=1000000 此题有spj. 考试的时候懵逼了,根本没想清就开始乱打. 题解:由题易得每一个…
Problem Description 一个简单的网络系统可以被描述成一棵无根树.每个节点为一个服务器.连接服务器与服务器的数据线则看做一条树边.两个服务器进行数据的交互时,数据会经过连接这两个服务器的路径上的所有服务器(包括这两个服务器自身).由于这条路径是唯一的,当路径上的某个服务器出现故障,无法正常运行时,数据便无法交互.此外,每个数据交互请求都有一个重要度,越重要的请求显然需要得到越高的优先处理权. 现在,你作为一个网络系统的管理员,要监控整个系统的运行状态.系统的运行也是很简单的,在每…
传送门 并查集+分块 看到题目可以想到暴力做法, 对于每个询问, 将所有a和b小于等于询问值的的边加入图中(用并查集), 如果询问的u和v在一个联通块中, 且该联通块的maxa和maxb均等与询问的a和b, 则答案为Yes. 显然暴力是过不了的,于是可以用分块. 将所有边按a值升序排序,分成√m 块操作, 设每块第一条边为sp,每块长度为len, 每次操作将edge[sp].a<=a<edge[sp+len].a的询问加入询问序列, 将询问序列按b升序排列. 对于边可以分成两部分: 1.当前块…
http://www.lydsy.com/JudgeOnline/problem.php?id=4539 今天测试唯一会做的一道题. 按题目要求,如果暴力的把模板树往大树上仍,最后得到的大树是$O(n^2)$级别的,不能存储,更不能做了. 把模板树往大树上扔的过程我想象成了两个大节点进行连边,每个大节点代表模板树本身或一部分. 这相当于把初始的大树(此时和模板树相同)缩成一个大节点,每次把模板树的一部分缩成一个大节点往大节点构成的大树上连,最后连好的大节点构成的模板树是$O(n)$级别的. 每个…