
ACM _线段树
Coder_YX
ACMer
展开
-
线段树-小学期考核
题目大意 :本题为POJ2777的改编题 :poj2777 数据比poj弱了点,可以不用状压 ! 给你n个花盆(n 题目思路:首先看到题目第一想到的是线段树,然后就想线段树的节点维护的是什么,容易想到的是区间的花的种类数,但是一般的方法不好实现满足区间的减法,这里就有一个相对暴力的方法,用一个标记数组和种类计数的数组,当然我不推荐这种做法,因为我当时也不是这样想的。因为种类只有30原创 2016-09-11 22:04:07 · 372 阅读 · 0 评论 -
CDOJ-1592 (2017 UESTC Training for Data Structures B)
B - An easy problem B Time Limit: 2000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit Status N个数排成一列,每个数的大小为1或者0。有两种操作,第一种操作是把一段区间内的每个数异或1,第二种操作是询问区间内原创 2017-07-02 19:23:56 · 536 阅读 · 0 评论 -
CDOJ1597-线段树好题(2017 UESTC Training for Data Structures C)
传送门:CDOJ1597 题目大意: 给你一个长度为n的序列,m次操作,三种操作: 1.给一段区间内的每个数乘上一个非负整数。 2.给一段区间内的每个数加上一个非负整数. 3.询问一段区间的和模上P的值。 题目思路: 首先我们很好想到用线段树来维护这个区间的和,但是这里多了个乘法,加法我们很好处理 其实想一想乘法的话我们可以另外加个乘法的懒惰数组,这样在更新时照样跟原创 2017-07-02 19:57:55 · 1237 阅读 · 1 评论 -
CDOJ1598-线段树合并(2017 UESTC Training for Data Structures G)
传送门:CDOJ1598 题目大意: 给你n个数m次操作,有两种操作 1,询问区间[a,b]的 最大连续子区间 2,将第pos个数变为X 题目思路: 线段树区间和并,对于这题我们需维护个区间和和区间最大连续和向左向右最大连续和 对于向上更新时,父区间向左向右连续和为为子区间向左向右连续和和向左向右和加上 相反区间向左向右连续和,这个就和求最大原创 2017-07-02 20:34:16 · 472 阅读 · 0 评论 -
CDOJ1590-dfs+树链剖分(2017 UESTC Training for Data Structures O)
传送门:CDOJ1590 题目大意: 给你一颗n个节点的树,根为T,初始时所有节点的值为0,然后给你m次操作,三种操作 1,更新一个子树,节点a的子树节点都加上b 2,更新一条树链,将从u-v的所有节点都加上c 3,查询节点的值 题目思路: 这题更新子树很容易想到dfs序,更新树链很容易想到树链剖分,但是如果我们理解树链剖分 的话就知道树链剖原创 2017-07-03 19:36:37 · 567 阅读 · 0 评论 -
HDU6070(分数规划+线段树)
题目链接:HDU6070题目大意:给你长度为n的序列,求某个区间[l,r]使得区间内的数字种类/区间长度最小 输出这个最小值 题目思路:对于这种区间最优比率问题(分数规划问题)我们常规的解法是二分答案来求 根据题目意思我们二分答案后可以转化成 size(l,r)/(r-l+1)<=mid -> size(l,r)+l*mid <=(r+1)*mid 这里我们可以枚举右边的r ,然后用最值线段原创 2017-08-04 10:38:29 · 1521 阅读 · 5 评论