摘要: 题目链接:http://poj.org/problem?id=3321 给你n个点,n-1条边,1为根节点。给你m条操作,C操作是将x点变反(1变0,0变1),Q操作是询问x节点以及它子树的值之和。初始所有的节点为1。 用DFS序的方法将以1为根节点DFS遍历所有的节点,L[i]表示i点出现的最早的 阅读全文
posted @ 2016-04-18 17:52 Recoder 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2481 给你n个区间,让你求每个区间被真包含的区间个数有多少,注意是真包含,所以要是两个区间的x y都相同就算0。(类似poj3067,cf652D) 对每个区间的x从小到大排序,相同的话按y从大到小排序。然后对枚举每个区间的y求其逆序 阅读全文
posted @ 2016-04-18 15:50 Recoder 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=3067 题意是:日本有N个城市在东边,从北至南编号为1 2 3,,,N,M个城市在西边,从北至南编号为1 2 ,,,,M,K条高速公路将被建造,高速公路的一端在西边,一端在东边;问高速公路的交点有多少个,不包括城市的端点。 先把x按从小 阅读全文
posted @ 2016-04-18 14:46 Recoder 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/438/D 给你n个数,m个操作,1操作是查询l到r之间的和,2操作是将l到r之间大于等于x的数xor于x,3操作是将下标为k的数变为x。 注意成段更新的时候,遇到一个区间的最大值还小于x的话就停止更新。 阅读全文
posted @ 2016-04-10 12:18 Recoder 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/242/E 给你n个数,m个操作,操作1是查询l到r之间的和,操作2是将l到r之间的每个数xor与x。 这题是线段树成段更新,但是不能直接更新,不然只能一个数一个数更新。这样只能把每个数存到一个数组中,长度大 阅读全文
posted @ 2016-04-08 22:48 Recoder 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3974 给你T组数据,n个节点,n-1对关系,右边的是左边的父节点,所有的值初始化为-1,然后给你q个操作: 有两种操作: 操作一:T X Y ,将以X为根的子树上的所有节点都变成Y。 操作二:C X,查 阅读全文
posted @ 2016-04-06 16:00 Recoder 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2777 题意是有L个单位长的画板,T种颜色,O个操作。画板初始化为颜色1。操作C讲l到r单位之间的颜色变为c,操作P查询l到r单位之间的颜色有几种。 很明显的线段树成段更新,但是查询却不好弄。经过提醒,发现颜色的种类最多不超过30种,所 阅读全文
posted @ 2016-04-05 22:26 Recoder 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3577 题意不好理解,给你数字k表示这里车最多同时坐k个人,然后有q个询问,每个询问是每个人的上车和下车时间,每个人按次序上车,问哪些人能上车输出他们的序号。 这题用线段树的成段更新,把每个人的上下车时间 阅读全文
posted @ 2016-04-05 13:48 Recoder 阅读(494) 评论(1) 推荐(1) 编辑
摘要: 题目链接:http://poj.org/problem?id=2528 给你n块木板,每块木板有起始和终点,按顺序放置,问最终能看到几块木板。 很明显的线段树区间更新问题,每次放置木板就更新区间里的值。由于l和r范围比较大,内存就不够了,所以就用离散化的技巧 比如将1 4化为1 2,范围缩小,但是不 阅读全文
posted @ 2016-04-04 21:53 Recoder 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=3468 题意就是给你一组数据,成段累加,成段查询。 很久之前做的,复习了一下成段更新,就是在单点更新基础上多了一个懒惰标记变量。updata的时候刚好在(l==T[p].l && r==T[p].r)的时候不更新下去,暂时用一个懒惰变量 阅读全文
posted @ 2016-04-04 19:36 Recoder 阅读(177) 评论(0) 推荐(0) 编辑