码迷,mamicode.com
首页 >  
搜索关键字:bzoj4127    ( 5个结果
【BZOJ4127】Abs 树链剖分+线段树
【BZOJ4127】Abs Description 给定一棵树,设计数据结构支持以下操作 1 u v d 表示将路径 (u,v) 加d 2 u v 表示询问路径 (u,v) 上点权绝对值的和 Input 第一行两个整数n和m,表示结点个数和操作数 接下来一行n个整数a_i,表示点i的权值 接下来n- ...
分类:其他好文   时间:2017-08-24 22:38:38    阅读次数:187
[bzoj4127] Abs
链剖。线段树要记录区间内负数的个数,负数的最大值.. 如果增加后能使负数变正的话就往下暴力更新。。。 时间复杂度O(nlog^2n) 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<cstdlib> 5 # ...
分类:其他好文   时间:2016-06-19 14:09:46    阅读次数:321
BZOJ4127 : Abs
树链剖分+线段树。线段树每个区间[l,r]维护:m:最大的负数s:所有数字绝对值的和d:正数的个数-负数的个数t:懒惰标记区间修改时,若最大的负数=0,则暴力递归,否则打标记。因为每个负数只会被暴力修改一次,所以时间复杂度为$O(n\log^2n)$。#include#define N 100010...
分类:其他好文   时间:2015-09-05 01:15:45    阅读次数:292
bzoj4127
肯定是树链剖分+线段树,关键是怎么维护绝对值和这个东西显然不能简单的合并标记因为对于负数,加之后绝对值和是变小的那我们考虑对负数和非负数数分别维护下面的问题就是经过操作如果负数变成了正数怎么办注意每次加的都是正数,这意味着这样的变化最多发生n次,每个数发生这种变化,我们就用push到底即可,这样最多...
分类:其他好文   时间:2015-07-21 20:28:48    阅读次数:104
BZOJ 4127 Abs 树链剖分
题目大意:给定一棵树,每个点有一个整数权值(可以是负数),要求支持两种操作: 1.链上加 2.链上绝对值之和由于加的数保证非负,因此一个负数变成一个正数最多有nn次 树链剖分,在线段树中维护一下区间最大负数即可 不知道为何 写了两个线段树就TLE 把两个线段树合并成一个就7s过了#include #include #include ...
分类:其他好文   时间:2015-06-12 11:44:26    阅读次数:158
5条  
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!