http://www.lydsy.com/JudgeOnline/problem.php?id=1202 (题目链接) 题意:给出m段区间和,判断是否存在某段区间与之前读入的区间相矛盾。 Solution 裸带权并查集。 代码: ...
分类:
其他好文 时间:
2016-09-27 20:25:57
阅读次数:
158
题目大意:给一组数据,Q 为查询求a,b区间和,C为为区间a,b间的各个元素都加上c。 题目思路:线段树模板 #include<iostream> #include<algorithm> #include<cstring> #include<vector> #include<stdio.h> #in ...
分类:
其他好文 时间:
2016-09-23 13:24:20
阅读次数:
145
bzoj1230[Usaco2008 Nov]lites 开关灯 题意: 一个01序列,初始全部元素为0,两种操作:l到r全部元素取反、询问l到r1的个数。序列长度≤100000,询问个数≤100000。 题解: 线段树维护区间和,区间修改就让区间和变为区间长度减原区间和。 代码: 20160917 ...
分类:
其他好文 时间:
2016-09-18 20:50:10
阅读次数:
111
开始懵逼找不到解法,看了网上大牛们的题解才发现是区间合并。。。 给你n个数形成一个数列环,然后每次进行一个点的修改,并输出这个数列的最大区间和(注意是环,并且区间最大只有n-1个数) 其实只需要维护:最大区间的值 mmax,最小区间的值 mmin。当然要维护这两个值就需要维护:左端点开始的最大与最小 ...
分类:
其他好文 时间:
2016-09-12 09:47:52
阅读次数:
163
链接:http://vjudge.net/problem/34086 分析:两个车相互攻击的条件是出于同一行或者同一列,因此不相互攻击的条件就是不在同一行,也不在同一列。可以看出:行和列是无关的,因此可以把原题分解成两个一维问题。把行区间和列区间拆开,用一个index变量记录行区间和列区间属于哪一个 ...
分类:
其他好文 时间:
2016-09-11 20:06:00
阅读次数:
129
容易推出答案为$\sum_{i=1}^{n-1}2*3^{n-i-1}\prod_{j=1}^{i}a_{j}+\prod_{j=1}^{n}a_{j}$。然后随便怎么维护都行,我没多想直接用的区间乘区间和来搞,其实可以直接维护乘积和答案。 ...
分类:
其他好文 时间:
2016-09-05 19:18:39
阅读次数:
122
bzoj4385[POI2015]Wilcze do?y 题意: 给出一个序列,你能将一个长度不超过d的连续子序列全部变为0,要求和不超过p的最长连续子序列。序列大小≤2000000。 题解: 用两个指针,每次右指针右移时就将新加入元素所能消掉的区间加入单调队列,如果当前区间和减单调队列中最大的元素 ...
分类:
其他好文 时间:
2016-08-23 18:57:51
阅读次数:
129
题意:构造一个数列,使得它们的区间和的种类最少,其中数列中不同的数的数目不少于k。 析:我们考虑0这个特殊的数字,然后0越多,那么总和种类最少,再就是正负交替,那么增加0的数量。 代码如下: ...
分类:
其他好文 时间:
2016-08-22 20:11:01
阅读次数:
187
【算法】线段树 【题解】 学自:https://vijos.org/p/1083/solution(wang_yanheng的回答) 回溯时维护一段区间的以下域: sumL:从左端点起连续区间的最大和 sumR:从右端点起连续区间的最大和 sum:整段区间的和 subSum:最大子区间和 以上域在叶 ...
分类:
其他好文 时间:
2016-08-22 12:40:43
阅读次数:
190
扫描线,树状数组求和。 横着的线的两个端点作为插入和删除,竖着的线作为询问。 遇到横着的线的左端点,那么那个位置+1, 遇到竖着的线,询问竖着那一段区间和是多少,区间和就是这条线对答案做出的贡献, 遇到横着的线的右端点,那么那个位置-1。 ...
分类:
其他好文 时间:
2016-08-19 19:16:23
阅读次数:
214