随笔分类 -  线段树

摘要:1 //扫描线矩形周长的并 POJ1177 2 // 我是按x轴 3 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 // #include 12 // #include 13 using namespace std; 14 #define LL... 阅读全文
posted @ 2016-09-30 14:25 yyblues 阅读(294) 评论(0) 推荐(0) 编辑
摘要:1 // 判断相同区间(lazy) 多校8 HDU 5828 Rikka with Sequence 2 // 题意:三种操作,1增加值,2开根,3求和 3 // 思路:这题与HDU 4027 和HDU 5634 差不多 4 // 注意开根号的话,遇到极差等于1的,开根号以后有可能还是差1.如 5 // 2 3 2 3。。。 6 // 8 9 8 9。。。 7 // ... 阅读全文
posted @ 2016-08-15 10:17 yyblues 阅读(220) 评论(0) 推荐(0) 编辑
摘要:1 // 判断相同区间(lazy) 多校8 HDU 5828 Rikka with Sequence 2 // 题意:三种操作,1增加值,2开根,3求和 3 // 思路:这题与HDU 4027 和HDU 5634 差不多 4 // 注意开根号的话,遇到极差等于1的,开根号以后有可能还是差1.如 5 // 2 3 2 3。。。 6 // 8 9 8 9。。。 7 // ... 阅读全文
posted @ 2016-08-13 13:57 yyblues 阅读(316) 评论(0) 推荐(0) 编辑
摘要:1 // HDU5634 Rikka with Phi 线段树 2 // 思路:操作1的时候,判断一下当前区间是不是每个数都相等,在每个数相等的区间上操作。相当于lazy,不必更新到底。 3 4 5 #include 6 using namespace std; 7 #define clc(a,b) memset(a,b,sizeof(a)) 8 #defi... 阅读全文
posted @ 2016-08-12 13:35 yyblues 阅读(375) 评论(0) 推荐(0) 编辑
摘要:3044 矩形面积求并 http://hzwer.com/879.html 扫描线 阅读全文
posted @ 2016-07-05 13:06 yyblues 阅读(322) 评论(0) 推荐(0) 编辑
摘要:http://www.mamicode.com/info-detail-422707.html 线段树区间覆盖,开两个线段树,一个记录DS,一个NS 阅读全文
posted @ 2016-07-03 23:03 yyblues 阅读(257) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4614 HDU 4614 Vases and Flowers (2013多校第二场线段树) 阅读全文
posted @ 2016-07-03 19:44 yyblues 阅读(172) 评论(0) 推荐(0) 编辑
摘要:Tunnel Warfare 题意:D代表破坏村庄,R代表修复最后被破坏的那个村庄,Q代表询问包括x在内的最大连续区间是多少 思路:一个节点的最大连续区间由(左儿子的最大的连续区间,右儿子的最大连续区间,左儿子的最大连续右区间+右儿子的最大连续左区间)决定 所以线段树的节点应该维护当前节点的最大连续 阅读全文
posted @ 2016-07-01 18:07 yyblues 阅读(302) 评论(0) 推荐(0) 编辑
摘要:Q个数 问区间最大值-区间最小值 阅读全文
posted @ 2016-06-25 20:03 yyblues 阅读(220) 评论(0) 推荐(0) 编辑
摘要:lazy标记 阅读全文
posted @ 2016-06-14 22:36 yyblues 阅读(165) 评论(0) 推荐(0) 编辑
摘要:1001 思路:首先把m个x分解成x*(m个1) 显然这样直接mod不行 又=((10^m-1)mod(k*9))/9 然后快速幂,同余运算 另一种做法是找循环节 1006 Gym Class 思路:先想一下,肯定是分数高的同学在前面先出来,怎样选择分数高的呢? 如果b不能出现先a的前面,我们可以建 阅读全文
posted @ 2016-05-22 23:13 yyblues 阅读(270) 评论(0) 推荐(0) 编辑
摘要:题意:做蛋糕,给出N个半径,和高的圆柱,要求后面的体积比前面大的可以堆在前一个的上面,求最大的体积和。 思路:首先离散化蛋糕体积,以蛋糕数量建树建树,每个节点维护最大值,也就是假如节点i放在最上层情况下的体积最大值dp[i]。每次查询比蛋糕i小且最大体积的蛋糕,然后更新线段树。注意此题查询的技巧!! 阅读全文
posted @ 2016-02-24 13:45 yyblues 阅读(259) 评论(0) 推荐(0) 编辑
摘要:题意:在墙上贴海报,海报可以互相覆盖,问最后可以看见几张海报思路:直接搞超时+超内存,需要离散化。离散化简单的来说就是只取我们需要的值来 用,比如说区间[1000,2000],[1990,2012] 我们用不到[-∞,999][1001,1989][1991,1999][2001,2011][201 阅读全文
posted @ 2016-02-22 12:29 yyblues 阅读(373) 评论(0) 推荐(0) 编辑
摘要:1 #include<iostream> 2 #include<string> 3 #include<algorithm> 4 #include<cstdlib> 5 #include<cstdio> 6 #include<set> 7 #include<map> 8 #include<vector 阅读全文
posted @ 2016-02-20 00:30 yyblues 阅读(200) 评论(0) 推荐(0) 编辑
摘要:1 #include<iostream> 2 #include<string> 3 #include<algorithm> 4 #include<cstdlib> 5 #include<cstdio> 6 #include<set> 7 #include<map> 8 #include<vector 阅读全文
posted @ 2016-02-19 22:56 yyblues 阅读(219) 评论(0) 推荐(0) 编辑
摘要:水 1 #include<iostream> 2 #include<string> 3 #include<algorithm> 4 #include<cstdlib> 5 #include<cstdio> 6 #include<set> 7 #include<map> 8 #include<vect 阅读全文
posted @ 2016-02-19 21:58 yyblues 阅读(234) 评论(0) 推荐(0) 编辑
摘要:题意:求q次询问的静态区间连续最大和起始位置和终止位置 输出字典序最小的解. 思路:刘汝佳白书 每个节点维护三个值 pre, sub, suf 最大的前缀和, 连续和, 后缀和 然后这个题还要记录解的位置所以还要区间总和sum 1 #include<iostream> 2 #include<stri 阅读全文
posted @ 2016-02-16 19:48 yyblues 阅读(338) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示