题目链接 大意就是给出一个序列, 然后让你从中找出一个严格递增的数列, 使得这一数列里的值加起来最大。 用线段树, 先将数列里的值离散,然后就是线段树单点更新, 区间查询最值。 具体看代码。 #include <iostream> #include <vector> #include <cstdio
分类:
其他好文 时间:
2016-02-21 10:14:30
阅读次数:
329
基本思路是将树形结构转换为线性结构。然后,所求即为一个区间内大于abi的最大的loy指向的ID。将结点按照abi降序排序,注意abi可能相等。然后,使用线段树单点更新,区间查询可解。 1 /* 4366 */ 2 #include <iostream> 3 #include <sstream> 4
分类:
其他好文 时间:
2016-02-19 12:36:27
阅读次数:
195
题目链接 一道神奇的点分治 貌似有很多做法,我觉得BIT要好些一些(雾 要求经过黑点数<k就用BIT区间查询前缀 对于每个点用 BIT[0,k-经过黑点数]的最大值+路径长度 使用点分治做到O(n*log22n) 貌似还有O(nlog2n)的做法(雾 1 #include<algorithm> 2
分类:
其他好文 时间:
2016-02-18 08:48:41
阅读次数:
180
题目链接:http://poj.org/problem?id=3468http://poj.org/problem?id=3468http://poj.org/problem?id=3468思路:这是一个区间改动区间查询的题,因为题目中的给的数据比較大,那么用单个改动和查询肯定不行,所以。。。。注意...
分类:
其他好文 时间:
2016-01-24 11:32:41
阅读次数:
198
题目传送门题意:训练指南P207分析:因为矩阵不超过20行,所以可以建20条线段的线段树,支持两个区间更新以及区间查询.#include using namespace std;#define lson l, mid, o b) a = b; } void push_up(int o) { no.....
分类:
其他好文 时间:
2015-12-15 14:38:08
阅读次数:
202
题目链接单点更新, 区间查询。 这题空间好小....#include #include #include #include #include #include #include #include #include #include using namespace std;#define pb(x) ...
分类:
其他好文 时间:
2015-12-07 20:20:57
阅读次数:
204
题目链接给一个n*n的方格, 每个方格有值。 每次询问, 给出三个数x, y, l, 求出以x, y为中心的边长为l的正方形内的最大值与最小值, 输出(maxx+minn)/2, 并将x, y这个格子的值改为(maxx+minn)/2。题目保证l为奇数。二维线段树的单点更新, 区间查询。 1 #i....
分类:
其他好文 时间:
2015-12-07 12:32:53
阅读次数:
193
线段树 区间合并 单点修改 区间查询。又是1秒钟构思,差错查了好久... ... 发现一个int型的定义成了char型,打脸。#include #include #include #include #include #include #include #include #include #inclu...
分类:
其他好文 时间:
2015-12-05 09:45:21
阅读次数:
145
题解摘要:树链剖分后用线段树区间查询修改,对于安装软件,将改点到根的路径全部变为1,对于卸载软件,将子树清空。注意边界,编号是从0开始的,容易漏掉树根。第一次写树剖~ 1 #include 2 #include 3 #include 4 #include 5 #include ...
分类:
其他好文 时间:
2015-11-19 16:30:11
阅读次数:
182
题目:要求支持带修改维护区间第k大的值。所谓的动态区间第k大。思路:题解说的是树状数组套treap,然而没想通树状数组怎么维护。。。线段树的话就是把所有的值离散化一下,离线建个关于值的线段树,每个节点是一个treap,treap里的值用位置做关键字,然后做区间查询,复杂度是O(nlogn*logn)...
分类:
其他好文 时间:
2015-11-07 06:09:29
阅读次数:
323