Processing math: 100%

随笔分类 -  数据结构—线段树

摘要:http://hihocoder.com/problemset/problem/1116 题意: 思路: 用线段树解决,每个节点需要设置4个变量,sum记录答案,all记录整个区间的乘积,pre记录该区间内所有前缀的和,suf记录该区间内所有后缀的和。 举个例子,比如现在要合并{a,b,c,d}和{ 阅读全文
posted @ 2017-12-03 11:36 Kayden_Cheung 阅读(245) 评论(0) 推荐(1) 编辑
摘要:http://poj.org/problem?id=3667 题意: 有N个房间,M次操作。有两种操作(1)"1a",表示找到连续的长度为a的空房间,如果有多解,优先左边的,即表示入住。(2)"2 b len",把起点为b长度的len的房间清空,即退房。 思路: 区间合并的线段树题。 其实如果单点更 阅读全文
posted @ 2017-08-30 11:13 Kayden_Cheung 阅读(202) 评论(0) 推荐(0) 编辑
摘要:题意: 已知树上的每个节点的值和节点之间的关系建成了一棵树,现在查询节点u到节点v的最短路径上的节点值在l到r之间的节点值的和。 思路: 用树链剖分将树映射到线段树上,线段树上维护3个值,max,min和sum即可。 接下来就是一个简单的线段树上的查询。 阅读全文
posted @ 2017-08-30 09:16 Kayden_Cheung 阅读(220) 评论(0) 推荐(0) 编辑
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1199 题意: 思路:因为是一棵树,所以需要把它剖分一下再映射到线段树上,剖分的话只需要dfs一遍树即可,得到的dfs序就是每个结点在线段树中的位置,子树上的节点的编号都是连 阅读全文
posted @ 2017-08-26 13:20 Kayden_Cheung 阅读(240) 评论(0) 推荐(0) 编辑
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1463 题意: 思路: 好题! 先对所有查询进行离线处理,按照右区间排序,因为k一共最多只有10个,所有在该区间内的B数组,每次枚举K值,通过这样的方式来得到另外一个B值。但 阅读全文
posted @ 2017-08-25 21:01 Kayden_Cheung 阅读(421) 评论(0) 推荐(0) 编辑
摘要:http://poj.org/problem?id=3162 题意:一棵n个节点的树。有一个屌丝爱跑步,跑n天,第i天从第i个节点开始跑步,每次跑到距第i个节点最远的那个节点(产生了n个距离),现在要在这n个距离里取连续的若干天,使得这些天里最大距离和最小距离的差小于M,问怎么取使得天数最多? 思路 阅读全文
posted @ 2017-08-12 10:37 Kayden_Cheung 阅读(460) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=6070 题意: 找出一个区间,使得(区间内不同数的个数/区间长度)的值最小,并输出该值。 思路: 因为是要求f(x)g(x)的最值,所以这是分数规划的题目,对于分数规划,是要用二分查找的方式去 阅读全文
posted @ 2017-08-04 10:24 Kayden_Cheung 阅读(218) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4747 题意: 给出一段数据,求出所有区间的Mex和。 思路:这道题目很不错,参考了大神博客http://www.cnblogs.com/Griselda/archive/2013/11/20/3433595.ht 阅读全文
posted @ 2017-07-20 11:02 Kayden_Cheung 阅读(299) 评论(0) 推荐(0) 编辑
摘要:http://poj.org/problem?id=2528 题意: 给出一面无限长的墙,现在往墙上依次贴海报,问最后还能看见多少张海报。 题意:这道题目就相当于对x轴染色,然后计算出最后还能看见多少种颜色。 由于数据量是给定的,所以需要进行离散化。但是这道题目的话,不能简单的离散化,前后相差大于1 阅读全文
posted @ 2017-07-18 11:27 Kayden_Cheung 阅读(226) 评论(0) 推荐(0) 编辑
摘要:http://poj.org/problem?id=3468 题意: 给出一串数,每次在一个区间内增加c,查询[a,b]时输出a、b之间的总和。 思路: 总结一下懒惰标记的用法吧。 比如要对一个区间范围内的数都要加c,在找到这个区间之后,本来它的孩子结点也是需要更新的,但是我们可以暂时不更新,如果到 阅读全文
posted @ 2017-03-16 21:47 Kayden_Cheung 阅读(133) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1698 题意:给出1~n的数,每个数初始为1,每次改变[a,b]的值,最后求1~n的值之和。 思路: 区间更新题目,关于懒惰标记什么的参考这个吧http://blog.sina.com.cn/s/blog_a2dc 阅读全文
posted @ 2017-03-15 23:16 Kayden_Cheung 阅读(166) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1556 题意: N个气球,每次[a,b]之间的气球涂一次色,统计每个气球涂色的次数。 思路: 这道题目用树状数组和线段树都可以,拿这道题来入门一下线段树的区间更新。 阅读全文
posted @ 2017-03-15 21:50 Kayden_Cheung 阅读(128) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2795 题意: 在大学入口处,有一个巨大的长方形广告牌,大小h * w(h是其高度,w是其宽度)。董事会是所有可能的公告发布的地方:最近的节目竞赛,餐厅菜单的变化,以及其他重要信息。9月1日,广告牌是空的。一个接一 阅读全文
posted @ 2017-03-14 21:10 Kayden_Cheung 阅读(155) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1394 题意: 给出一串数,每次把第一个数放到最后,求最小逆序数。 思路: 线段树。 每个结点维护3个值,l,r,和num。l和r代表数值的范围,num代表在[l,r]这个范围内出现的数字个数(下标就代表了数值大小 阅读全文
posted @ 2017-03-14 20:08 Kayden_Cheung 阅读(153) 评论(2) 推荐(0) 编辑
摘要:https://vjudge.net/problem/UVALive-3938 题意:给出一个长度为n的整数序列D,你的任务是对m个询问作出回答。对于询问(a,b),需要找到两个下标x和y,使得a≤x≤y≤b,并且Dx+Dx+1+...+Dy尽量大。如果有多组满足条件的x和y,x应该尽量小。如果还有 阅读全文
posted @ 2017-03-14 13:01 Kayden_Cheung 阅读(788) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1754 题意: 多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有 阅读全文
posted @ 2017-03-13 20:56 Kayden_Cheung 阅读(191) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1166 题意:第一行一个整数T,表示有T组数据。 每组数据第一行一个正整数N(N<=50000),表示敌人有N个工兵营地,接下来有N个正整数,第i个正整数ai代表第i个工兵营地里开始时有ai个人(1<=ai<=50 阅读全文
posted @ 2017-03-13 20:22 Kayden_Cheung 阅读(232) 评论(0) 推荐(0) 编辑

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