JZOJ GDSOI2018模擬4 19 修牆

2021-10-03 08:17:28 字數 1548 閱讀 6148

w × h 是一位神仙。

眾所周知,近日長城修得越來越高,across the great wall, reach every corner in the world也變得越來越困難。

w × h 想要分析一下某個版本牆的特徵。在地圖上,土地可以大致用乙個無限大的黑白二維矩陣表示,其中使用者為白格,牆為黑格。由於牆很高,兩個使用者能夠互相通訊當且僅當在網格上這兩個白格能夠只經過四聯通的白格相互到達。

經過一番細緻的研究,w × h發現這個地圖可以由如下過程迭代構造。

地圖上一開始只有乙個白格。 一次迭代中,假設原來的地圖為 a,那麼新的地圖為

其中 b 為乙個與 a 邊長相同且全為黑格的正方形矩陣。 例如三次迭代之後,我們得到了這樣乙個矩陣(w 表示白格,b 表示黑格):

經過無限次迭代之後,我們就得到了土地對應的黑白矩陣。

無限大的地圖,分析起來過於困難。於是 w × h 每次會截出乙個子矩陣,他想要知道這個子矩陣中的使用者在牆的阻隔下組成了多少個聯通塊,聯通塊定義為極大的能夠互相通訊的使用者集合。

由於一次詢問不足以分析,w × h 需要進行 q 次詢問。

第一行乙個正整數 q。

接下來 q 行每行四個正整數 x1 ,y1 ,x2,y2(1≤x1≤x2,1≤y1≤y2 ),表示詢問以第 x1行第y1列,第x2行第y2列為兩對角的矩形內使用者形成的聯通塊數。

q 行,每行乙個正整數,表示對應矩形內的聯通塊數量。

下標從0開始編號後可以發現,(i,j)為白格仔等價於i&j=0

因為每次迭代相當於新增乙個新的二進位制位,並把這一位都為1的全染黑

然後有乙個性質,下圖綠框中的連通塊數=藍框的連通塊數

那麼我們只需要考慮藍色區域的連通塊數,可以拆成兩個一維部分的連通塊數之和-左上角為白格仔

現在我們的問題變成了一維

然後[l,r]的連通塊數=[0,r]-[0,l-1]-[l和l-1都為白色]

那麼我們的問題變成了給出x和r,問[0,r]中的連通塊數

可以看做是把x中的1和末尾的0去掉,剩餘的位在二進位制下不斷+1

那麼我們直接找<=r的最大的這樣的數即可。

複雜度o(q log x)

2018瀋陽模擬賽 K

這道題很費勁的將所有superme number找了出來,發現317以後就再也沒有該數了 1,2,3,5,7,11,13,17,23,31,37,53,71,73,113,131,137,173,311,317 這個過程過了 很久沒寫字串的題,字串的知識又糊了。輸入一串很長的數,可以用乙個char型...

2018提高組模擬9

2018提高組模擬9 20181004 woj4036 模擬 數論 描述給定乙個k 2 k 16 進製數a,判斷a是否能被k 1整除。輸入第一行是乙個整數t 1 t 50 表示測試點數量。對於每組資料,第一行乙個整數k,表示進製。第二行乙個k進製數,表示a。保證a是合法的k進製數,沒有前導0,且只由...

GDOI2018模擬7 8 質數

將1 n分成盡可能小的集合,使得每個集合的元素均為質數 乙個數n n 6000 第一行乙個數m表示分成幾塊 第二行n個1 m的數表示每個數分到哪一塊 2 1 2 2 1 1 1 1 2 這題很有趣 我們知道有個哥德 猜想 任意乙個足夠大的偶數可以分成兩個質數的和 由於目前人類沒有證明出它是錯的,而且...