2013年6月3日

UVa12299 - RMQ with Shifts

摘要: 题目大意 给定一个长度为n的序列A,可以对其进行一下两种操作: 1、query (L, R) 查询区间[L,R]的最小值 2、shift(i1, i2, i3,..., ik)(i1 < i2 < ... < ik, k > 1) 把元素A[i1],A[i2],…,A[ik]循环移动 题解 区间最小值查询+单点修改。。。水题。。。。 代码: #include<iostream>#include<c... 阅读全文

posted @ 2013-06-03 15:34 仗剑奔走天涯 阅读(284) 评论(0) 推荐(0) 编辑

HDU1540 - Tunnel Warfare(单点修改&&区间合并)

摘要: 题目大意 给定一个长度为n的全部为1的序列,可以对其进行以下三种操作: 1、D x 把第x个元素修改为02、Q x 查询包含第x个元素的全部为1的最长连续序列长度3、R: 把最后一次修改的元素还原为1 题解 比较水的区间合并问题~~O(∩_∩)O~~。维护两个域即可,即包含节点左端的全部为1的最长连续序列长度lsum,包含节点右端的全部为1的最长连续序列长度rsum,对于某个查询,假设m为节点的中... 阅读全文

posted @ 2013-06-03 01:56 仗剑奔走天涯 阅读(236) 评论(0) 推荐(0) 编辑

HDU3397 - Sequence operation(区间更新&&区间合并)

摘要: 题目大意 给定一个长度为n的01序列,可以对其进行以下五种操作:1、0 a b 把区间 [a , b]内的所有元素全部变为02、1 a b 把区间 [a , b]内的所有元素全部变为13、2 a b 把区间 [a, b]内的所以元素进行取反操作4、3 a b 查询 区间[a, b]内元素1的总数5、4 a b 查询区间 [a , b]的元素为1的最长连续子序列长度 题解 区间更新和区间合并的综合题... 阅读全文

posted @ 2013-06-03 01:22 仗剑奔走天涯 阅读(299) 评论(0) 推荐(0) 编辑

UESTC1546 - Bracket Sequence(区间覆盖&&区间合并)

摘要: 题目大意 给定一个括号序列,支持一下以下三种操作: 1、set l r c: 把区间 [l,r]内的所有元素全部改成 c(c是’(’或者’)’)2、reverse l r: 把区间[l,r]内的所以元素全部取反3、query l,r: 查询区间 [l,r] 括号序列是否合法 题解 把左括号当成-1,右括号当成1,如果括号序列合法,则区间和为0,并且任意前缀和会小于等于0,当然我们不需要判断所有的前... 阅读全文

posted @ 2013-06-03 00:56 仗剑奔走天涯 阅读(249) 评论(0) 推荐(0) 编辑

UESTC1425 - Another LCIS(成段更新&&区间合并)

摘要: 题目大意 给定一个长度为n的序列,可以对其进行一下两种操作: 1、a L R V 把区间[L,R]的所有数增加V 2、q L R 查询区间[L,R]的最长连续上升子序列 题解 和HDU3308差不多,不过这里是区间更新,而前者是单点更新,增加一个add域,表示区间累加值,然后还需要增加两个域,节点的左端点值lval和右端点值rval,处理和HDU3308基本一样 代码: #include<iost... 阅读全文

posted @ 2013-06-03 00:03 仗剑奔走天涯 阅读(203) 评论(0) 推荐(0) 编辑

导航