图论——线段树
文章平均质量分 69
JeremyGJY
然而并没有什么好说的
展开
-
【可持久化线段树】[COCI]白雪公主(white)
题目描述: 白雪公主和N个小矮人住在森林里。每天早上,矮人们排成一队出去挖矿的路上,白雪公主就负责给他们拍照,并把这些照片传到社交网络上去。 白雪每次都会拍很多照片,她要从中选出一些完美的照片。小矮人们都戴着不同颜色的 帽子。如果照片上小矮人们有一半以上人戴着相同颜色的帽子,则这张照片就算是完美的。 也就是说,如果照片上有K个人,如果有多于K/2的人带着相同颜色的帽子,则这张照片就是完美的。原创 2015-08-25 17:03:36 · 535 阅读 · 0 评论 -
【可持久化线段树】[SPOJ COT]Count on a tree
题目大意:给定一棵树,然后询问连个节点间路径上的权值的第K小的权值大小 题目分析:和普通的第K大的可持久化线段树差距不大,但是要写个LCA可以发现Tree(a)+Tree(b)−Tree(LCA)−LCA(fa[LCA])Tree(a)+Tree(b)-Tree(LCA)-LCA(fa[LCA])就是两个节点之间的线段树了,然后按照普通的可持久化线段树搞一搞就好了#include <cstdio>原创 2015-11-27 13:47:04 · 544 阅读 · 0 评论 -
【可持久化线段树】【树状数组】[ZOJ 2112]Dynamic Rankings
题目大意:带修改操作的区间第K大 首先可以发现因为只有在需要使用的时候才会新建节点那么最多有nlognnlogn个节点,那么只需要在更新的时候带上值域就可以不用进行离散化了,每一次就是和普通的树状数组那么进行更新,因为求得是区间的和(大概就是可持久化的原理)但是用树状数组来做每一个更新的时候就有了求前缀和的范围,每一次加起来就好了,其实和普通的树状数组差不多的。(注意是多组数据)#include原创 2015-11-27 14:01:24 · 889 阅读 · 1 评论 -
【可持久化线段树】【主席树】[BZOJ 3295]动态逆序对
对于序列A,它的逆序对数定义为满足ij,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。这里可以发现对于每一个数字可以有两种做法第一种就是先建好树然后每一次删除询问在他之前有多少个比他大的,询问有多少个比他小的在他之后,然后减去(不推荐该做法)另一种做法就是首先预处理出来左边有多少个比他大原创 2016-01-24 15:18:21 · 732 阅读 · 0 评论 -
【可持久化线段树】【主席树】[HDU4417]Super Mario
Mario is world-famous plumber. His “burly” figure and amazing jumping ability reminded in our memory. Now the poor princess is in trouble again and Mario needs to save his lover. We regard the road原创 2016-01-24 15:23:49 · 765 阅读 · 0 评论 -
【线段树】【树】[BZOJ4293][HYSBZ4293][PA2015]Siano
题目描述注:此题为BZOJ的权限题目Description农夫Byteasar买了一片n亩的土地,他要在这上面种草。 他在每一亩土地上都种植了一种独一无二的草,其中,第i亩土地的草每天会长高a[i]厘米。 Byteasar一共会进行m次收割,其中第i次收割在第d[i]天,并把所有高度大于等于b[i]的部分全部割去。Byteasar想知道,每次收割得到的草的高度总和是多少,你能帮帮他吗?Input原创 2016-02-19 23:38:32 · 1356 阅读 · 1 评论 -
【线段树】【树】【网络流】[UOJ#77]A+B Problem
题目描述 感谢geng给我了正确的数据范围题目解析首先我们可以发现如果我们不考虑有奇怪的格子,那么显然我们有ans=∑黑色的格子bi+∑白色的格子wians=\sum_{黑色的格子}b_i+\sum_{白色的格子}w_i那么ans=∑i=1nwi+bi−∑i=1nmin{wi,bi}ans=\sum_{i=1}^nw_i+b_i-\sum_{i=1}^n\min\{w_i, b_i\}那么我们原创 2016-03-19 12:13:53 · 1501 阅读 · 1 评论 -
【线段树】[BZOJ3787][AHOI2014]奇怪的计算器
题目描述Description【故事背景】JYY有个奇怪的计算器,有一天这个计算器坏了,JYY希望你能帮助他写 一个程序来模拟这个计算器的运算。 【问题描述】 JYY的计算器可以执行N条预设好的指令。每次JYY向计算器输入一个正 整数X,计算器就会以X作为初始值,接着依次执行预设的N条指令,最后把 最终得出的结果返回给JYY。 每一条指令可以是以下四种指令之一:(这里a表示一个正整数。)原创 2016-04-07 17:53:57 · 760 阅读 · 0 评论