bzoj1513【POI2006】Tet-Tetris 3D
生活随笔
收集整理的這篇文章主要介紹了
bzoj1513【POI2006】Tet-Tetris 3D
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1513: [POI2006]Tet-Tetris 3D
Time Limit:?30 Sec??Memory Limit:?162 MBSubmit:?733??Solved:?245
[Submit][Status][Discuss]
Description
Task: Tetris 3D "Tetris" 游戲的作者決定做一個新的游戲, 一個三維的版本號, 在里面非常多立方體落在平面板,一個立方體開始落下直到碰上一個曾經落下的立方體或者落地即停止. 作者想改變一下游戲的目的使得它更大眾化,在新游戲中你將知道落下的立方體信息以及位置,你的任務就是回答全部立方體落下后最高的方塊的高度.全部的立方體在下落過程中都是垂直的而且不會旋轉.平板左下角坐標為原點,而且平行于坐標軸.?Input
第一行給出三個整數 D, S and N ( 1<= N<= 20 000, 1<= D, S <=1 000), 分別表示平板的長和寬以及下落立方體的數目. 接下來N 行每行描寫敘述一個立方體. 每行包括5個整數: d, s, w, x and y (1<= d, 0 <=x, d + x<= D, 1 <=s, 0<= y, s + y<= S, 1<= w <=100 000), 分別表示立方體的長\寬\高以及落下的左下角坐標, 長和寬都是平行于平板坐標軸的,落下后立方體著地的四個角坐標分別為: (x, y), (x + d, y), (x, y + s) and (x + d, y + s).?Output
一個整數表示全部立方體落下后最高的方塊的高度.Sample Input
7 5 44 3 2 0 0
3 3 1 3 0
7 1 2 0 3
2 3 3 2 2
Sample Output
6HINT
Source
題目大意:給定一個二維矩陣。每次詢問一個矩形范圍內最大值max。并把矩形內全部數更新為max+p。
看到這道題非常easy想到二維線段樹,可是存在兩個問題:二維線段樹的標記下傳和信息上傳不easy實現。
那怎么解決呢?答案是用標記永久化。
我們用v和tag表示由子節點求出的最大值和全然覆蓋該區間的最大值。每次改動時把路徑上全部的v和底端的tag都改動,每次詢問將路徑上的全部tag和底端的v取最大值。
轉載于:https://www.cnblogs.com/zsychanpin/p/6984294.html
總結
以上是生活随笔為你收集整理的bzoj1513【POI2006】Tet-Tetris 3D的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css命名规范和书写规范
- 下一篇: windows 域用户账号验证登陆