日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

Ynoi

發(fā)布時(shí)間:2024/1/16 windows 23 coder
生活随笔 收集整理的這篇文章主要介紹了 Ynoi 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

P4688 [Ynoi2016] 掉進(jìn)兔子洞

序列,靜態(tài),求三個(gè)區(qū)間的可重集的交的大小,離線,\(n,Q\le 10^5\),3s,500MB

缺乏性質(zhì) \(\rightarrow\) bitset

靜態(tài)區(qū)間 \(\rightarrow\) 莫隊(duì)化為單點(diǎn)改

bitset 支持取交,\(x\) 重復(fù) \(cnt_x\) 次即可,空間 \(O(n^2/w)\),時(shí)間 \(O(n\sqrt n+{n^2\over w})\),分三次處理減小空間常數(shù)

P4690 [Ynoi2016] 鏡中的昆蟲

序列,區(qū)間賦值,區(qū)間數(shù)顏色,離線,\(n,Q\le 10^5\),1s,64MB

數(shù)顏色 \(\rightarrow\) 維護(hù) pre

珂朵莉樹 \(\rightarrow\) pre 只改變 \(O(Q)\)

轉(zhuǎn)化:?jiǎn)吸c(diǎn)改 pre,查詢 \([l,r]\) 內(nèi) pre 小于 \(l\) 的數(shù)量

  1. 樹套樹,在線,空間 \(O(n\log n)\),時(shí)間 \(O(n\log^2 n)\),過不去
  2. CDQ,離線,空間 \(O(n)\),時(shí)間 \(O(n\log^2 n)\),正解

P5064 [Ynoi2014] 等這場(chǎng)戰(zhàn)爭(zhēng)結(jié)束之后

圖,動(dòng)態(tài)加邊,回退到某歷史版本,查詢某個(gè)連通塊中權(quán)值第 \(k\) 小,離線。\(n,Q\le 10^5\),500ms,20MB

回退歷史版本 & 可離線 \(\rightarrow\) dfs 操作樹轉(zhuǎn)為撤銷

\(k\) 小 & 可合并 \(\rightarrow\) 值域分塊 或 bitset

  1. 值域分塊

    值域每 \(B\) 個(gè)分成一塊,按塊離線,記錄每個(gè)連通塊點(diǎn)數(shù)。

    • 合并、撤銷連通塊:暴力 \(O({n^2\over B}\log n)\),注意到并查集操作對(duì)每個(gè)值域塊相同,預(yù)處理可 \(O(n^2/B)\)。
    • 查詢連通塊第 \(k\) 小:
      • 枚舉值域內(nèi)每個(gè)數(shù)判斷,\(O(nB\log n)\)。
      • 每個(gè)并查集開桶,\(O(nB)\),空間 \(O(nB)\)\(B\) 需要開很小。
      • 使用鏈表維護(hù),可以是有序鏈表歸并(難寫)或每次把鏈表所有數(shù)拿出來 nth_element,\(O(nB)\)。

    總時(shí)間復(fù)雜度 \(O(n\sqrt{n\log n})\)\(O(n\sqrt{n})\),空間線性。

  2. bitset 壓位

    查詢 bitset 可直接 \(O(n/w)\)

    不能開 \(n\) 個(gè) bitset \(\rightarrow\) 對(duì)于點(diǎn)數(shù)小于 \(n/w\) 的連通塊用鏈表維護(hù),同時(shí)至多存在 \(w\) 個(gè) bitset,空間線性。

    鏈表查詢,合并同上。鏈表并入 bitset 可啟發(fā)式暴力。

    總時(shí)間復(fù)雜度 \(O(n^2/w)\),空間線性。

P5354 [Ynoi2017] 由乃的 OJ

樹,每個(gè)點(diǎn)的效果為 \(\operatorname{and}/\operatorname{or}/\operatorname{xor}\) 一個(gè)數(shù),單點(diǎn)改,詢問 \([0,z]\) 中所有數(shù)經(jīng)過路徑操作得到的最大值,無需離線。\(n,Q\le 10^5\),值域 \(2^{64}\),250ms,128MB。

二進(jìn)制操作 \(\rightarrow\) 拆位

二進(jìn)制復(fù)合 \(\rightarrow\) 壓位處理復(fù)合矩陣,同時(shí)處理 \(k\) 位的復(fù)合,\(O(k)\rightarrow O(1)\)

總時(shí)間復(fù)雜度 \(O(n\log^2n+nk)\)

P6109 [Ynoi2009] rprmq1

二維平面,先修改后查詢,矩形加,矩形求 \(\max\)。\(n\le 5\times 10^4,Q\le 5\times 10^5\),4s,512MB。

矩陣 \(\rightarrow\) 將一維時(shí)間化,離線問題轉(zhuǎn)為在線問題

修改,詢問在一段時(shí)間區(qū)間生效 \(\rightarrow\) 貓樹轉(zhuǎn)為對(duì)一段后綴有效(即修改后無需撤銷,詢問等價(jià)于查歷史信息和)

區(qū)間加歷史最值即可,時(shí)間復(fù)雜度 \(O(n\log^2n+Q\log n)\)

P6780 [Ynoi2009] pmrllcsrms

序列,單點(diǎn)改,求區(qū)間長(zhǎng)度不超過 \(c\) 的最大字段和,其中 \(c\) 為全局定值,無需離線。\(n,Q\le 10^6\),6s,512MB。

長(zhǎng)度不超過 \(c\) \(\rightarrow\)\(c\) 個(gè)位置分一塊,詢問分為每塊內(nèi)全部或兩相鄰塊之間

相鄰塊后前綴長(zhǎng)度和不超過 \(c\) \(\rightarrow\) 直角三角形模式,分成一個(gè)矩形和兩個(gè)小直角三角形

時(shí)間復(fù)雜度 \(O(n\log n)\)

P6783 [Ynoi2008] rrusq

二維平面,\(n\) 個(gè)帶權(quán)點(diǎn),\(m\) 個(gè)矩形,\(Q\) 次詢問區(qū)間 \([l,r]\) 內(nèi)的矩形并中點(diǎn)權(quán)之和,離線。\(n,m\le 10^5,Q\le 10^6\),4s,128MB。

靜態(tài)區(qū)間,難以增量 \(\rightarrow\) 掃右維護(hù)左

點(diǎn)出現(xiàn)在區(qū)間并中 \(\rightarrow\) 掃右端點(diǎn),維護(hù)每個(gè)點(diǎn)最后出現(xiàn)時(shí)間

KD-Tree,每次暴力收回子樹內(nèi)的出現(xiàn)時(shí)間 tag 即可

詢問使用 \(O(1)-O(\sqrt n)\) 的數(shù)組維護(hù)

時(shí)間復(fù)雜度 \(O(n\sqrt Q+Q\sqrt n)\)

P7446 [Ynoi2007] rfplca

序列,區(qū)間減,詢問 \(fa\) 數(shù)組形成的樹上某兩個(gè)點(diǎn)的 LCA,無需離線。\(n,Q\le 4\times 10^5\),保證 \(fa_i<i\),2.5s,64MB。

形式奇怪 \(\rightarrow\) 考慮分塊

詢問 LCA \(\rightarrow\) 不斷跳 \(fa\)

不斷進(jìn)行重復(fù)操作 \(\rightarrow\) 記錄每個(gè)點(diǎn)跳出塊后的第一個(gè)位置

散塊直接重構(gòu),整塊 \(\sqrt n\) 次后全部出塊,直接打 tag,詢問 trivial,時(shí)間復(fù)雜度 \(O(n\sqrt n)\)

P7447 [Ynoi2007] rgxsxrs

序列,區(qū)間大于 \(x\) 的數(shù)減 \(x\),區(qū)間和與最小最大值,無需離線。\(n,Q\le 5\times 10^5,a_i\le 10^9\),6s,64MB。

和值域有關(guān) \(\rightarrow\) 值域倍增分塊(?)

  1. 塊大于 \(x\),打標(biāo)記或降塊,降塊至多 \(\log V\) 次,產(chǎn)生 \(\log n\) 的復(fù)雜度后必然降塊
  2. 塊等于 \(x\),暴力找到所有需要減小的 \(a_i\),單個(gè) \(a_i\) 同塊內(nèi)至多減小 \(b\) 次(\(b\) 為倍增底數(shù))

時(shí)間復(fù)雜度 \(O(nb\log_bV\log n)\)??臻g底層分塊后線性。

P7722 [Ynoi2007] tmpq

三個(gè)序列 \(a,b,c\),單點(diǎn)改 \(a\),詢問有幾個(gè) \(i<j<k\le r\) 滿足 \(b_{a_i}=a_j=c_{a_k}\),離線。\(n\le 2\times 10^5,Q\le 5\times 10^4\),4s,64MB。

陰間條件 \(\rightarrow\) 單點(diǎn)改 \(a,b,c\),詢問 \(b_i=a_j=c_k\)

顏色相關(guān) \(\rightarrow\) 次數(shù)大小分治,小者暴力,大者維護(hù)

小顏色暴力重新 dp,\(O(Q\sqrt n)\) 次區(qū)間加,\(O(Q)\) 次單點(diǎn)查

大顏色維護(hù)動(dòng)態(tài) dp,分塊維護(hù)塊內(nèi)前綴 dp 結(jié)果及前綴塊 dp 結(jié)果,單點(diǎn)改 \(O(\sqrt n)\),查詢 前綴塊+塊內(nèi)前綴=\(O(1)\)

總時(shí)間復(fù)雜度 \(O(Q\sqrt n)\),空間離線做到線性

P7880 [Ynoi2006] rldcot

樹,邊帶權(quán)(可以為負(fù)),靜態(tài),\(Q\) 次詢問 \([l,r]\) 內(nèi)的點(diǎn)對(duì)有幾種不同的 \(\operatorname{lca}\) 帶權(quán)深度,離線。注意不保證 \(fa_i\le i\)\(n\le 10^5,Q\le 5\times 10^5\),500ms,512MB。

合法子區(qū)間計(jì)數(shù) \(\rightarrow\) 考慮有用點(diǎn)對(duì)

樹上有用點(diǎn)對(duì) \(\rightarrow\) 重剖,由輕子樹合并上來,有用點(diǎn)對(duì) \(O(n\log n)\) 對(duì)

問題轉(zhuǎn)化為給定 \(O(n\log n)\) 對(duì)帶權(quán)點(diǎn)對(duì),求區(qū)間內(nèi)存在哪些權(quán)值。

靜態(tài)區(qū)間問題 \(\rightarrow\) 掃右維護(hù)左,轉(zhuǎn)為在線問題

給前綴放上一個(gè)顏色,求單點(diǎn)顏色數(shù),樹狀數(shù)組即可。時(shí)間復(fù)雜度 \(O(n\log^2 n+Q\log n)\)

P7881 [Ynoi2006] rmpq

二維平面,抽象信息類,半平面乘,單點(diǎn)查,強(qiáng)制在線。\(Q\le 10^5,x_i,y_i\le 10^9\),操作次數(shù) \(2\times 10^7\),2s,512MB。

無法 KD-Tree(值域過大且無法離線)。

很想離線(?)\(\rightarrow\) 根號(hào)重構(gòu)。

問題變成預(yù)處理 \(B\) 次修改后每個(gè)位置的答案。

發(fā)現(xiàn)易于用 \(O(k^2)\) 的時(shí)間合并兩個(gè)大小為 \(k\) 的子問題,所以遞歸兩個(gè)子問題就可以做到 \(O(B^2)\) 處理。

總時(shí)間復(fù)雜度 \(O(nB+{n^2\over B})=O(n\sqrt n)\)。

總結(jié)

以上是生活随笔為你收集整理的Ynoi的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。