摘要: 题目链接: http://poj.org/problem?id=2828 题意: 给出n个人,每人有一个应该在队列的位置和值,如果后面的人的位置和前面重复了,就插在前面。输出最后的队列 题解: 从后往前找位置,因为后面的人的位置总是不变的 线段树,单点更新, 维护的v表示 这段区间一共有多少个空位置 阅读全文
posted @ 2017-03-02 23:14 _yxg123 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 题目链接: http://poj.org/problem?id=3667 题意: 有一个线段,从1到n,下面m个操作,操作分两个类型,以1开头的是查询操作,以2开头的是更新操作 1 w 表示在总区间内查询一个长度为w的可用区间,并且要最靠左,能找到的话返回这个区间的左端点并占用了这个区间,找不到返回 阅读全文
posted @ 2017-03-02 21:42 _yxg123 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 题目链接: http://acm.uestc.edu.cn/#/problem/show/1061 题意: 题解: 线段树记录从左边延展的长度,记录从右边延展的长度,和区间最大长度 每次更新的时候,就向上更新 代码: 1 #include <bits/stdc++.h> 2 using namesp 阅读全文
posted @ 2017-03-02 18:51 _yxg123 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1540 题意: 给你一个区间,有三个操作,使的一个村庄毁灭,使的上一个毁灭的村庄复活,查询这个村庄所在最长区间 题解: 区间合并的线段树,单点修改,记录从左边的最大值,右边的最大值,区间的最大值 然后每 阅读全文
posted @ 2017-03-02 18:09 _yxg123 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1798 题意: 题解: 线段树,区间乘法+区间加法,都扔给一个updata就好 代码: 1 #include <bits/stdc++.h> 2 using namespace std; 3 阅读全文
posted @ 2017-03-02 16:43 _yxg123 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题目链接: http://codevs.cn/problem/1191/ 题意: 题解: sum表示这段区间白点的个数,初始全部为0。 lazy为1表示到达这个区间需要被更新为白点,到需要更新的时候再pushdown 代码: 1 #include <bits/stdc++.h> 2 using na 阅读全文
posted @ 2017-03-02 15:11 _yxg123 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 题目链接: https://vijos.org/p/1659 题意: 题解: 线段树,区间更新(加/减),区间查询最大值 代码: 1 #include <cstdio> 2 #include <iostream> 3 #include <cstring> 4 using namespace std; 阅读全文
posted @ 2017-03-02 14:34 _yxg123 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题目链接: http://www.tyvj.cn/p/1038# 题意: 题解: 区间查询最小值 代码: 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 #define MS(a) memset( 阅读全文
posted @ 2017-03-02 14:33 _yxg123 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1012 题意: 题解: 不用printf输出就RE… 代码: 代码一: 单调队列 1 #include <bits/stdc++.h> 2 using namespace std; 3 ty 阅读全文
posted @ 2017-03-02 12:31 _yxg123 阅读(131) 评论(0) 推荐(0) 编辑