hdu 2871 Memory Control(线段树)】的更多相关文章

题目链接:hdu 2871 Memory Control 题目大意:模拟一个内存分配机制. Reset:重置,释放全部空间 New x:申请内存为x的空间,输出左地址 Free x:释放地址x所在的内存块 Get x:查询第x个内存块,输出左地址 解题思路:一開始全用线段树去做,写的乱七八糟,事实上仅仅要用线段树维护可用内存.然后用户一个vector记录全部的内存块. #include <cstdio> #include <cstring> #include <vector&…
hdu 2871 Memory Control 题意:就是对一个区间的四种操作,NEW x,占据最左边的连续的x个单元,Free x 把x单元所占的连续区间清空 , Get x 把第x次占据的区间输出来, R 清空整个区间. 解题思路:这个题就是一个区间合并,以前用线段树写的,拿来练练splay.要记录的是区间最大的连续空格,要维护这个最值,需要两个辅助的值,该区间左边连续的最值和右边连续的最值.更新的时候仔细就好了,其他就是splay的常规操作的.还有就是记录占据的连续区间和查找占据的连续区间…
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2871 题意: 四种操作: 1.Reset  清空所有内存2.New x  分配一个大小为x的内存块返回,返回能分配的最小的起始点 3.Free x  释放当前点所在的内存块,并输出左右端点 4.Get x  返回第x个内存块的起始点 讨论每个操作的写法: 第一个操作,把线段树初始化就好了 第二个操作,区间合并的基础操作, 第三个操作:多维护两个数组:st,ed代表当前点所属内存块的左右区间 第四个操作:…
一共4种操作 其中用线段树 区间合并,来维护连续空的长度,和找出那个位置.其他用vector维护即可 #include<cstring> #include<cstdio> #include<algorithm> #include<cmath> #include <iostream> #include<vector> #define lson i<<1 #define rson i<<1|1 #define N…
传送门 •题意 有 n 个内存单元(编号从1开始): 给出 4 种操作: (1)Reset :表示把所有的内存清空,然后输出 "Reset Now". (2)New x :表示申请一块长度为 x 的内存块(满足起始地址尽可能小): 如果找到,输出 "New at A",A表示该内存块的起点,找不到,输出 "Reject New". (3)Free x :表示把包含第 x 块单位内存的内存块清除: 如果 x 在某内存块中,输出 "Free…
●赘述题目 四种操作: ○Reset:将整个内存序列清空. ○New a:在尽量靠左的位置新建一个长度为a的内存块,并输出改内存块起始位置.(各个内存块即使相邻也不会合并..) ○Free a:将a点所在的内存块清空,并输出清空的内存区间的左右端点. ○Get a:输出从左往右数的第a个内存块的起始位置. ●题解 方法:Splay在线维护 (○本来想的将序列中的每个点看作Splay树中的一个节点,然后进行区间操作..但似乎比较麻烦..) ○正解(erge大佬提出的思路):考虑到每个内存块不会合并…
区间交 Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 849    Accepted Submission(s): 377 Problem Description 小A有一个含有n个非负整数的数列与m个区间.每个区间可以表示为li,ri. 它想选择其中k个区间, 使得这些区间的交的那些位置所对应的数的和最大. 例如样例中,选择[2,5]…
Snacks HDU 5692 dfs序列+线段树 题意 百度科技园内有n个零食机,零食机之间通过n−1条路相互连通.每个零食机都有一个值v,表示为小度熊提供零食的价值. 由于零食被频繁的消耗和补充,零食机的价值v会时常发生变化.小度熊只能从编号为0的零食机出发,并且每个零食机至多经过一次.另外,小度熊会对某个零食机的零食有所偏爱,要求路线上必须有那个零食机. 为小度熊规划一个路线,使得路线上的价值总和最大 输入输出: 输入数据第一行是一个整数T(T≤10),表示有T组测试数据. 对于每组数据,…
Atlantis Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 11551    Accepted Submission(s): 4906 Problem Description There are several ancient Greek texts that contain descriptions of the fabled…
Attack Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others) Total Submission(s): 2523    Accepted Submission(s): 805 Problem Description Today is the 10th Annual of “September 11 attacks”, the Al Qaeda is about to attac…