上一页 1 2 3 4 5 6 ··· 15 下一页
摘要: 求多边形的核 阅读全文
posted @ 2017-08-31 14:46 Pacify 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题意: 三个操作符 D x:摧毁第x个隧道 R x:修复上一个被摧毁的隧道,将摧毁的隧道入栈,修复就出栈 Q x:查询x所在的最长未摧毁隧道的区间长度。 1.如果当前区间全是未摧毁隧道,返回长度 2.如果在坐儿子的右区间或右儿子的左区间,返回这两个区间长度和 3.继续递归 阅读全文
posted @ 2017-08-30 20:52 Pacify 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 题意: 5种操作,所有数字都为0或1 0 a b:将[a,b]置0 1 a b:将[a,b]置1 2 a b:[a,b]中的0和1互换 3 a b:查询[a,b]中的1的数量 4 a b:查询[a,b]中的最长连续1串的长度 这题看题目就很裸,综合了区间更新,区间合并 我一开始把更新操作全放一个变量 阅读全文
posted @ 2017-08-30 11:38 Pacify 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题意: Q a b 查询[a, b]区间的最长连续递增子序列的长度 U a b 将下表为a的元素更新为b 区间合并一般都有3个数组:区间最值,左区间最值和右区间最值 具体详见代码 阅读全文
posted @ 2017-08-29 16:33 Pacify 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 题意: 1 输入a:询问是不是有连续长度为a的空房间,有的话住进最左边 2 输入a b:将[a,a+b-1]的房间清空 思路:记录区间中最长的空房间 线段树操作: update:区间替换 query:询问满足条件的最左端点 阅读全文
posted @ 2017-08-29 10:39 Pacify 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 注意离散化!!!线段树的叶子结点代表的是一段!!! 给出下面两个简单的例子应该能体现普通离散化的缺陷: 1-10 1-4 5-10 1-10 1-4 6-10 普通离散化算出来的结果都会是2,但是第二组样例结果是3 如果相邻数字间距大于1的话,在其中加上任意一个数字,比如加成[1,2,3,6,7,1 阅读全文
posted @ 2017-08-28 10:08 Pacify 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 我用的线段树写的。 num数组表示已插入的数值的个数。 由于a[i]数值很大,但是n不是很大,所以要离散化处理 9 1 0 5 4 离散化后 4 1 0 3 2 这样保证最大值不会超过n 阅读全文
posted @ 2017-08-23 17:42 Pacify 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 线段树功能 update:成段更新 query:区间求和 阅读全文
posted @ 2017-08-23 16:10 Pacify 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 线段树功能:update:成段替换 成段更新去要用到延迟标记,具体调试代码就容易懂些 阅读全文
posted @ 2017-08-23 16:08 Pacify 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 先看看反素数 反素数的定义:对于任何正整数,其约数个数记为,例如,如果某个正整数满足:对任意的正整 数,都有,那么称为反素数。 从反素数的定义中可以看出两个性质: (1)一个反素数的所有质因子必然是从2开始的连续若干个质数,因为反素数是保证约数个数为的这个数尽量小 (2)同样的道理,如果,那么必有 阅读全文
posted @ 2017-08-23 10:11 Pacify 阅读(202) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 15 下一页