2018.10.16 NOIP模擬 長者(主席樹+hash)
傳送門
考試的時候開始sb的以為需要可持久化trie樹,發現建樹時空都是O(n2)的。
然後發現由於每次只從原來的字串改一個字元。
因此直接主席樹維護區間hash值。
sort的時候在主席樹上二分比大小。
如果左子樹hash值相同遞迴比右子樹,否則走左子樹,因為左子樹的字典序的貢獻更大。
程式碼
相關推薦
2018.10.16 NOIP模擬 長者(主席樹+hash)
傳送門 考試的時候開始sb的以為需要可持久化trietrietrie樹,發現建樹時空都是O(n2)O(n^2)O(n2)的。 然後發現由於每次只從原來的字串改一個字元。 因此直接主席樹維護區間hashh
2018.10.05 NOIP模擬 相遇(dfs序+lca)
描述 豪哥生活在一個n個點的樹形城市裡面,每一天都要走來走去。雖然走的是比較的多,但是豪哥在這個城市裡面的朋友並不是很多。 當某一天,猴哥給他展現了一下大佬風範之後,豪哥決定要獲得一些交往機會來提升交往
2018.10.17 NOIP模擬 管道(狀壓dp)
傳送門 狀壓dp好題。 怎麼今天道道題都有點東西啊 對於今天題目神仙出題人先膜為上策:%%%%DzYoAk_UoI%%%% 設f[i][j]f[i][j]f[i][j]表示選取點的狀態集合為iii,當
2018.10.02 NOIP模擬 聚會(字首和)
描述 在成都的一條街道上,一共有 N戶人家,每個家庭有 Xi 個人,他們和諧的生活在 一起,作為全國和諧街道,他們經常會小範圍組織活動,每次活動會選擇一戶作為聚點, 並要求某些家庭參加,為了方便通知,村
2018.10.04 NOIP模擬 排隊(組合數學)
描述 在成都某中學有m個男生與n個女生排隊,這個學校的女生比較古怪,從某個位置(包含這個位置)開始往前數,男生的數量超過了女生的數量,女生會感覺不安全,於是會大叫起來,為了構建和諧校園,安排隊伍時應該避
2018.10.04 NOIP模擬 航班(tarjan+樹形)
描述 L因為業務繁忙,經常會到處出差。因為他是航空公司的優質客戶,於是某個航空公司給了他一個優惠券。 他可以利用這個優惠券在任何一個國家內的任意城市間免費旅行,當他的路線跨國才會產生費用。L有一個航空公司的價格表與航線。而且每個城市出發都能到所有的城市,2個城市
2018.10.20 NOIP模擬 麵包(數學期望)
傳送門 把方差的式子拆開。 方差=平方的期望-期望的平方。 顯然只用維護點對的個數和總方案數就行了。 利用分步的思想來統計。 要統計覆蓋一個矩形(x1,y1,x2,y2)(x1,y1,x2,y2)(x1
2018.10.26 NOIP模擬 圖(最小生成樹+線段樹合併)
傳送門 首先最開始說的那個一條路徑的權值就是想告訴你兩個點之間的貢獻就是瓶頸邊的權值。 那麼肯定要用最小生成樹演算法。 於是我考場上想了30min+30min+30min+的樹形dpdpdp 發現轉移是
2018.10.09 NOIP模擬 世界盃(圖論+set優化)
傳送門 貌似是防akakak題? 不是很清楚。 事實上如果兩個人沒有嚴格的大小關係,我們給他們兩個連一條邊。 這樣可以構成很多連通塊。 而且對於連通塊a,ba,ba,b,aia_iai和bjb_jbj
2018.06.29 NOIP模擬 旅館(線段樹)
旅館 【問題描述】 OIEROIEROIER 們最近的旅遊計劃,是到長春淨月潭,享受那裡的湖光山色,以及明 媚的陽光。你作為整個旅遊的策劃者和負責人,選擇在潭邊的一家著名的旅館住 宿。這個巨大的旅館一共
2018.10.16【校內模擬】長者(主席樹)(字串雜湊)
解析: 其實題目已經提示了我們需要用什麼資料結構 沒睡醒的zxyoizxyoizxyoi考場上打了30pts30pts30pts暴力就直接滾粗了。。。 一聽是正解主席樹瞬間明白怎麼做。。。 由於每次修改
2018.10.30 NOIP模擬 字胡串(單調棧+容斥)
傳送門 對於每個點,用單調棧求出它左右第一個比他大的位置。 然後對每個點 O ( l
2018.10.30 NOIP模擬 有環無向圖(dijkstra+巧妙建圖)
傳送門 建圖巧妙啊。 對於每個點的出邊,我們將它們排序之後依次連邊。 這樣可以把 O (
2018.10.30 NOIP模擬 排列樹(樹形dp+組合數學)
傳送門 考試的時候亂搞過了。 其實題目就是讓你求拓撲排序方案數。 直接樹形 d p dp
2018.10.01 NOIP模擬 卡牌遊戲(貪心)
描述 L最近喜歡上了一個卡片遊戲,遊戲規則是: 2個人一共拿2n張卡片,編號1…2n,每個人n張,然後進行n輪出牌,每輪2個人都打一張牌,,點數大的玩家每次獲1分 L可以預測到對方要打牌的順序。 同時,
2018.10.01 NOIP模擬 偷書(狀壓dp)
傳送門 狀壓dp經典題。 令f[i][j]f[i][j]f[i][j]表示到第i個,第i−k+1i-k+1i−k+1~iii個物品的狀態是j時的最大總和。 然後簡單維護一下轉移就行了。 由於想皮一下果斷
2018.10.02 NOIP模擬 矩陣分組(二分答案)
描述 有N行M列的矩陣,每個格子中有一個數字,現在需要你將格子的數字分為A,B兩部分 要求: 1、每個數字恰好屬於兩部分的其中一個部分 2、每個部分內部方塊之間,可以上下左右相互到達,且每個內部方塊之間
2018.10.02 NOIP模擬 序列維護(線段樹+廣義尤拉定理)
描述 給出一個長度為n的序列,每個位置有個數字Ai,有2個操作: 1、區間修改,將[L,R]區間的數字加上一個數 2、區間查詢[l,r] 查詢:alal+1al+2....armodpa_l^{a_{l+1}^{a_{l+2}^{\text{....}^{a_r
2018.10.04 NOIP模擬 K進位制(模擬)
描述 給定一個K(2<=K<=16)進位制數a,判斷a是否能被K-1整除。 輸入 第一行是一個整數t(1<=t<=50),表示測試點數量。 對於每組資料,第一行一個整數K,表示進
2018.10.05 NOIP模擬 上升序列(狀壓dp)
描述 給出一個長度為 m 的上升序列 A(1 ≤ A[i]≤ n), 請你求出有多少種 1…n 的排列, 滿足 A 是它的一個 LIS. 輸入 第一行兩個整數 n,m. 接下來一行 m 個整數, 表示