9月7日

本文探讨了位运算符的高效使用,并通过几道典型题目解析了线段树的应用技巧,包括区间更新、离散化处理及最大连续和子区间的求解。
        这几天主要看博客与课件,首先看吧位运算符搞清楚了,毕竟好多代码都用位运算符,表示大佬们说位运算符可以节约时间,假装是这样。接着看博客mayor‘s posters这道题题意给每个区间贴纸,后面贴的会覆盖前面贴的,问最后能看到的纸有几张,线段树区间更新的问题,但是数量太大要进行离散化,第一次离散区间,想了半天最后看代码才弄明白主要要吧本来不相邻的数继续保持不相邻就可以了,,然后再一次set线段树操作,最后求出线段树中一共有多少种不同的值就可以了。A Simple Problemwith Integers这道题有一个n个数的序列,有两种操作1 a b k c 在区间[a,b]内的i,如果满足(条件那么第i个数就加上c,2 a问第a个数的值是什么,首先给出n个数的初始值,然后是q次操作,完成每次操作,如果是询问的话,输出那个值。一道区间add,区间查询的模板仔细看了一下。最后看"Ray, Pass methe dishes!"这道题,题意是给出一个长度为n的整数序列D,你的任务是对m各询问做出回答。对于询问(a,b),需要找到两个下标x和y,使得a<=x<=y<=b,并且Dx+Dx+1+...+Dy尽量大。如果有多组满足条件的x和y,x应该尽量小。如果还有多解,y应该尽量小。就是要建立一颗线段树维护三种信息最大连续和的子区间,最大前缀和区间的右端坐标,最大后缀和区间的左端坐标不过思想不好想,并不知道线段树还可以那么巧的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值