码迷,mamicode.com
首页 >  
搜索关键字:区间    ( 16036个结果
SYSU 1686 线段树 lazy
区间更新+lazy I 操作 l-r 区间+c C操作 l-r区间的最大值,并把最大值删除 线段树再加个记录最大值的位置即可 #include "stdio.h" #include "string.h" int ans,mark; struct node { int l,r,Max,mark,lazy; }data[400010]; void ...
分类:其他好文   时间:2014-09-03 11:21:06    阅读次数:221
Codeforces Round #250 (Div. 1) D 线段树
看看type = 2的操作,对于区间[l,r]内的元素对x取模,由于取模肯定不能和取模,所以只能每个元素取模,看上去不是区间更新,但是仔细一看,若区间[l,r]内所有的元素都小于x,那么这一区间不需要管,所以还是存在区间整段操作,所以需要lazy,这里也算是一个剪枝了,剩下的就是type = 3的 单点更新,还有type = 1的区间求和,整体操作不难 int n,m; ll nnum...
分类:其他好文   时间:2014-09-02 22:58:35    阅读次数:423
upper_bound——自己的实现
int BSearch(){ int ln(1),rn(n+1); while(ln+1>1; if (Check(mid)) { ln=mid; //mid符合标准,区间变为[mid,rn) } else { rn=mid; /...
分类:其他好文   时间:2014-09-02 21:20:15    阅读次数:212
Spoj 6779 Can you answer these queries VII 树链剖分 在树上任意路径的最大子段和 区间修改点权
题目链接:点击打开链接 题意: rt。。 在询问时,两端向上爬时记录从深度浅的到深度深的方向上的 (也就是左最大连续子段和) 最后两个点在同一条重链上时合并。 合并时要注意有4种情况, 详见代码。 线段树部分和5相似。 #include #include #include #include using namespace std; inline void rd(int &n)...
分类:其他好文   时间:2014-09-02 14:14:54    阅读次数:235
SPOJ GSS系列 最大子段和 线段树+树链剖分+splay 1043 1557 1716 2713 2916 4487 6779
最大子段和的各种形式 题解内附每道题的 题意 题目链接 思路 SPOJ 1043 GSS1 静态区间求个最大子段和, 题解 SPOJ 1577 GSS2 和1一样,区别是若区间内存在相同的元素,则该元素只计算一次。 离线一下然后使劲跑。。 题解 SPOJ 1716 GSS3 和1一样,就是要支持单点修改 题解 SPOJ 2713 GS...
分类:其他好文   时间:2014-09-02 14:12:45    阅读次数:222
BZOJ 2819 Nim 树链剖分/DFS序+LCA+树状数组
题意:给定一棵树,每个节点是一堆石子,给定两种操作: 1.改变x号节点的石子数量 2.用从x到y的路径上的所有堆石子玩一次Nim游戏,询问是否有必胜策略 Nim游戏有必胜策略的充要条件是所有堆的石子数异或起来不为零 这题首先一看就是树链剖分 然后题目很善良地告诉我们深搜会爆栈 于是我们可以选择广搜版的树链剖分 BFS序从左到右是深搜,从右到左是回溯,一遍BFS就够 单点修改区间查询还可...
分类:其他好文   时间:2014-09-02 10:34:04    阅读次数:334
HDU 2795 Billboard (线段树 单点更新 区间求最大值)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2795 题意:有一块h*w 的广告版,有n块1*w[i]的广告,就着放广告尽量在顶上,尽量先放左边的原则,问在第几行能把广告放下,如果放不下,就打印-1; 思路:我们可以根据每一行建树,每一个子叶表示每一行的容量,而节点存放子节点的最大值,然后从最顶到底,快速查找能存放下广告的一行。 总之...
分类:其他好文   时间:2014-09-02 10:32:14    阅读次数:217
HDU4883TIANKENG’s restaurant
题目:HDU4883TIANKENG’s restaurant 题目大意:一间餐厅,给你每组客人的人数和来的时间,离开的时间,问最少需要的椅子。 解题思路:这题本来想用区间覆盖做,可是后面发觉不太对。这题貌似暴力也是可以过的,因为时间才1440.其中的一种做法:把每个区间的开始和结束时间点都标记上是来人还是走人,对应的椅子数加上减去。然后在枚举一下时间,在这个过程中维护椅子的最...
分类:其他好文   时间:2014-09-02 10:31:44    阅读次数:181
桶排序java
import java.util.ArrayList;import java.util.Iterator;/** * 桶排序:桶排序的思想是把区间[0,1)划分成n个相同大小的子区间,称为桶,然后将n个输入数分布到各个桶中去。 * 因为输入数均匀且独立分布在[0,1)上,所以,一般不会有很多数落在一...
分类:编程语言   时间:2014-09-02 10:26:14    阅读次数:195
桶排序和基数排序
桶排序的基本思想假设有一组长度为N的待排关键字序列K[1....n]。首先将这个序列划分成M个的子区间(桶) 。然后基于某种映射函数 ,将待排序列的关键字k映射到第i个桶中(即桶数组B的下标 i) ,那么该关键字k就作为B[i]中的元素(每个桶B[i]都是一组大小为N/M的序列)。接着对每个桶B[i...
分类:其他好文   时间:2014-09-02 10:15:44    阅读次数:237
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!