题意:有一些平行于y轴的线段 ,两条线段称为互相可见当且仅当存在一条水平线段连接这两条 与其他线段没交点。 最后问有多少组 3条线段,他们两两是可见的。思路:线段树,找出两两可见的那些组合,最后暴力判断。#include#include#include#include#include#include...
分类:
其他好文 时间:
2014-07-31 02:24:05
阅读次数:
224
题意:对一串数字进行抑或某数,和某数,或某数,统计某区间和的操作。思路:因为化成二进制就4位可以建4颗线段树,每颗代表一位二进制。and 如果该为是1 直接无视,是0则成段赋值为0;or 如果是0 无视,是1则成段赋值为1;xor 成段亦或,1个数和0个数交换;sum 求和;#include#inc...
分类:
其他好文 时间:
2014-07-31 02:22:55
阅读次数:
258
UVA 1232 - SKYLINE
题目链接
题意:按顺序建房,在一条线段上,每个房子一个高度,要求出每间房子建上去后的轮廓线
思路:线段树延迟更新,一个setv作为高度的懒标记,此外还要在开一个cover表示当前结点一下是否都为同一高度
代码:
#include
#include
#include
using namespace std;
#define ...
分类:
其他好文 时间:
2014-07-31 00:06:55
阅读次数:
246
hdu 4893 Wow! Such Sequence!(线段树功能:单点更新,区间更新相邻较小斐波那契数)...
分类:
其他好文 时间:
2014-07-31 00:04:15
阅读次数:
269
UVA 11402 - Ahoy, Pirates!
题目链接
题意:总的来说意思就是给一个01串,然后有3种操作
1、把一个区间变成1
2、把一个区间变成0
3、把一个区间翻转(0变1,1变0)
思路:线段树搞,开一个延迟标记当前操作即可,注意几种状态间的转变方式即可
代码:
#include
#include
#include
using namesp...
分类:
其他好文 时间:
2014-07-30 23:54:35
阅读次数:
268
题意是这样的,给定一个n个元素的数组,初始值为0,3种操作:1 k d将第k个数增加d;2 l r 询问区间l...r范围内数之和;3 l r 表示将区间l...r内的数变成离他最近的斐波那契数,要求尽量小。线段树操作题目,其中对于第三种操作用一个懒惰标记一下,表示l...r内的数是不是已经变成斐波...
分类:
其他好文 时间:
2014-07-30 23:31:25
阅读次数:
318
A Simple Problem with IntegersTime Limit:5000MSMemory Limit:131072KTotal Submissions:59798Accepted:18237Case Time Limit:2000MSDescriptionYou haveNinte...
分类:
其他好文 时间:
2014-07-30 23:09:55
阅读次数:
370
UVA 12299 - RMQ with Shifts
题目链接
题意:给定一个数组,两种操作,每次query操作输出区间最小值,每次shift操作把选中位置每个位置向左移一位,最左的到最后去
思路:线段树,shift操作中位置个数不会超过30个,那么直接当作点修改来做,那么就变成了简单的线段树了
代码:
#include
#include
#include
u...
分类:
其他好文 时间:
2014-07-30 20:56:34
阅读次数:
331
Frequent values
TimeLimit:3000Ms
You are given a sequence of n integers a1 , a2 , ... , an in non-decreasing order. In addition to that, you are given several queries consisting of indices...
分类:
其他好文 时间:
2014-07-30 20:51:23
阅读次数:
507
题意:典型的线段树C,Q问题,有n个数a[i] (1~n),C, a, b,c在[a,b]区间增加c
Q a b 求[a,b]的和。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#defi...
分类:
其他好文 时间:
2014-07-30 20:45:24
阅读次数:
242