![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段树
16bit戦争
这个作者很懒,什么都没留下…
展开
-
BZOJ 2157 旅游 树链剖分
题目大意:给出一棵树,支持以下操作:1.改变一条边的边权。2.将x到y路径的权值取反。3.查询x到y路径上最大值,最小值和权值和。思路:好裸的链剖水题啊,唯一麻烦一点地是权值放在了边上,注意一下处理就没问题了。。CODE:#include #include #include #include #define MAX 40010#define INF 0原创 2015-01-02 16:57:29 · 1095 阅读 · 0 评论 -
BZOJ 1513 POI 2006 Tet-Tetris 3D 二维线段树
题目大意:三维俄罗斯方块,问最后摞了多高。思路:二维线段树的裸题。但是要注意二维线段树不支持标记下穿。所以就不下传,每次更新答案的时候先看标记,然后用所有的跟标记比较大小之后返回。具体看代码吧,不知道怎么说。CODE:#define _CRT_SECURE_NO_WARNINGS#include #include #include #include原创 2015-02-27 08:55:39 · 1159 阅读 · 0 评论 -
BZOJ 2962 序列操作 线段树
题目大意 给出一个序列,有三种操作,区间加,区间取负,询问一个区间内c个数字相乘的所有情况的和。思路 利用线段树的简单应用,我们不难实现前两个操作。第三个操作需要推推公式。合并两个区间比较简单,计算当前区间取k个时,只需要枚举左边和右边分别取多少个然后乘起来就行了。区间取负把取奇数个数的答案取负,最复杂的是区间加。看代码吧,懒了。。CODE#define _CRT_SECURE_NO_W原创 2015-03-01 10:59:06 · 848 阅读 · 0 评论 -
BZOJ 3888 Usaco 2015 Jan Stampede 模拟
题目大意给出一些奶牛,一个人在原点观察,牛和牛之间又互相遮挡的关系,给出每头牛的运行方式和位置,问这个人最终会看到多少头牛。思路知道了运行方式,我们就知道这头牛在什么时间段会遮挡住人的视线,然后从高到低弄个东西维护一下覆盖什么的,这个题就变成了POJ的Mayor’s posters。 注意下时间点和时间段的区别就行了。CODE#define _CRT_SECURE_NO_WARNINGS#incl原创 2015-03-06 08:59:56 · 983 阅读 · 0 评论 -
BZOJ 3922 Karin的弹幕 线段树
题目大意给出一个序列,支持单点修改,每次查询一个位置成等差数列中所有数的最大值。思路等差数列如果公差很大的话,那么整个数列中的数并不会很多;但是如果公差很小,我们就可以用线段树来乱搞。具体方法是对于每个公差维护一个线段树,按照对这个公差取模的值来进行划分。这样询问的时候就在一块了。 具体看代码。CODE#define _CRT_SECURE_NO_WARNINGS#include <cstdio>原创 2015-03-31 19:31:33 · 1092 阅读 · 0 评论