9月28

来源:互联网 发布:怎样快速提高淘宝等级 编辑:程序博客网 时间:2024/06/04 18:36
       这几天主要是看题码代码,首先看的是Billboard 这道题一道线段数更新叶子节点的题,首先题目大意是一个h*w的公告牌,要在其上贴公告。 输入的是1*wi的w值,这些是公告的尺寸要满足几个条件首先尽量往上,同一高度尽量靠左其次求第n个广告所在的行数最后没有合适的位置贴了则输出-1。 思路是这样的利用线段树可以得出区间的最大值,在结构体中定义一个Max变量,用来表示这段区间内有最多空位的那一行的空位长度。输入后是左子树的最大值大于他,就查询左子树,否则查询右子。接着看Buy Tickets,这道题题意真心不好弄懂,题意是有n个人,给出n个人要插入的位置与其价值,输出最后的价值,由于整个队列是动态不断变化的,所以我们可以从最后一个插入的人开始逆推出所有人想要插入的队列并对线段树进行更新即可。最后看的是Matrix,一道二维树状数组的题,题意是给出矩阵左上角和右下角坐标,矩阵里的元素 1变0 ,0 变1,然后给出询问,问某个点是多少。二维的就是操作翻了一倍,三维我都做过了,就吧操作改成 add(x,y,1)add(,y1+1,-1)add(x1+1,y,-1)add(x1+1,y1+1,1)然后查询单点就是求和了。再多一维数就再把操作翻一倍就可以了。
原创粉丝点击