【Codeforces Gym 100725K】Key Insertion
Codeforces Gym 100725K
題意:給定一個初始全0的序列,然後給\(n\)個查詢,每一次調用\(Insert(L_i,i)\),其中\(Insert(L,K)\)表示在第L位插入K,如果第L位已經有值了就會先調用\(Insert(L+1,A_L)\)(其中\(A_L\)表示第L位上的值),再將\(A_L\)賦為K。問經過查詢後序列的模樣。
思路:首先將題意抽象成每次找到從第L位開始第一個0,並將其“拖”回第L位,然後將其更改為K。這個操作很明顯可以用FHQ Treap完成,只要在每個節點處新維護一個值表示當前節點的子樹中的值有多少個為0。然後對於每一個操作先將從L開始的後綴split出來,然後在Treap上二分:如果當前節點左子樹上有0,那麽在左子樹中找,如果當前節點為0,答案就是當前節點,否則在右子樹中找第一個0。然後找到第一個0在樹中的排名後將其split出來更改一下信息再放到正確的位置即可。
反思:這道題我WA1了一次,因為輸出的格式不對,沒有輸出最後序列的長度,所以。。。這其實是個很嚴重的問題。即使真的寫出來是對的,那麽格式一錯,全盤皆輸。
【Codeforces Gym 100725K】Key Insertion
相關推薦
【Codeforces Gym 100725K】Key Insertion
mat 沒有 信息 math 是個 每次 就是 抽象 如果 Codeforces Gym 100725K 題意:給定一個初始全0的序列,然後給\(n\)個查詢,每一次調用\(Insert(L_i,i)\),其中\(Insert(L,K)\)表示在第L位插入K,如果第L位已經
【codeforces gym】Increasing Costs
有一個 friend push_back line push pri ems tor [1] Portal --> Increasing Costs Description 給你一個\(n\)個點無重邊無自環的無向連通圖,每條邊有一個邊權,對於每一條邊,詢問去掉這
【Codeforces Gym 100739 A】Queries
所有 有一種 個數 pre ldo 一段 可能 向上 如果 題意:給\(n\)個數\(a_{1..n}\),以及\(m\)個詢問,每個詢問如下: 1 p x表示把第\(p\)位上的數改成\(x\)。 2 a b表示找出\(\sum_{a\le l\le r\le b}a_
codeforces 391E2 (【Codeforces Rockethon 2014】E2)
data -1 article trac name node namespace %d problems 題目:http://codeforces.com/problemset/problem/391/E2 題意:有三棵樹。每棵樹有ni個結點,加入兩條
【CodeForces 353 A】Domino
turn n) ifdef main urn == cpp ifd local 【鏈接】 我是鏈接,點我呀:) 【題意】 【題解】 分類討論一波 設第一個數組的奇數個數為cnt1 第二個數組的奇數個數為cnt2 顯然只有在(cnt1+cnt2)%2==0的情
【CodeForces 129 B】Students and Shoelaces(拓撲排序)
end owin clu namespace 每次 font order 單獨 when Anna and Maria are in charge of the math club for junior students. When the club gathers tog
*【CodeForces - 1088 ABC】套題比賽,A水題B模擬C構造D互動
A. Input The only line contains the integer xx (1≤x≤100)(1≤x≤100). Output You should output two integers aa and
【codeforces 727 C】【互動題 求原陣列】【告訴你有一個長度為n序列,你可以問n個問題,每個問題為ai+aj等於多少,最後輸出這個序列】
描述: C. Guess the Array time limit per test 1 second memory limit per test 256 megabytes
【codeforces 749 D】【set+二分查詢+思路清晰】
There are n people taking part in auction today. The rules of auction are classical. There were n bids made, though it's not guaranteed they were from d
【codeforces 727 A】【dfs或者逆向思維】【給你兩個操作,問能不能把數字a變成b】
描述: A. Transformation: from A to B time limit per test 1 second memory limit per test 256 meg
【codeforces 704A Thor】
Thor A. Thor time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output Thor i
【Codeforces Round #397】Codeforces 765F Souvenirs【解法一】
Artsem is on vacation and wants to buy souvenirs for his two teammates. There are n souvenir shops along the street. In i-th
【CodeForces 686 D. 】 【樹的重心性質】
D. Kay and Snowflake time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard out
【codeforces 691 D】【並查集 或者 dfs】aps in Permutation【給一個1到N的排列,M個操作,每次可以交換X Y位置上的數字,求可以得到的最大字典序的數列】
題意: 給一個1到N的排列,M個操作(1<=N,M<=106),每個操作可以交換X Y位置上的數字,求可以得到的最大字典序的數列。 思路: 把位置分成若干塊,每一塊裡面的位置都是可以被
【Codeforces Round 1114】Codeforces #538 (Div. 2)
pre codeforce 不容易 long ces 格式 ORC 輸出 排名 Codeforces Round 1114 這場比賽做了\(A\)、\(C\)、\(D\)、\(E\),排名\(134\)。 \(B\)題做了很長時間,好不容易最後一分鐘\(Pretest\ P
【Codeforces Round 650】Codeforces #334 (Div. 1)
不同的 -c 枚舉 只需要 拓撲排序 math codeforce 怎麽 row 模擬CF650,ABC三題,RK90 Codeforces 650 A 思路:首先看式子 \(\sqrt{(x_i-x_j)^2+(y_i-y_j)^2}=|x_i-x_j|+|y_i-y_j
【Codeforces 1149 A】Prefix Sum Primes
... pri rime clas rim prim int ORC primes 題意:給\(n\)個數,每個是\(1\)或\(2\),現在要把它們排列,使得所有前綴和中質數數量最多。 思路:首先我們知道質數除了\(2\)都是奇數。 那麽我們最多的時候就是有2、3、5、7
【Codeforces 85 D】Sum of Medians
大於等於 ces edi spa tag dia 線段 def mat Codeforces 85 D 題意:維護一個有序集合,每次問編號\(mod\ 5\)余\(3\)的所有數的和。 思路:線段樹維護\(mod\ 5\)余\(x\)的數的和,然後上推的時候根據左節點的值改
【Codeforces 718 A】Efim and Strange Grade
force span math fim 。。 class 下一個 四舍五入 ces Codeforces 718 A 題意:給一個小數,問最多取\(t\)次四舍五入到某一個小數點後的位後這個數最大能到多少。 思路:首先肯定貪心。(但不知道為什麽tag上是\(dp\) 首先我
【Codeforces 985 F】Isomorphic Strings
題意 字符串 str 子串 表示 出現 排序 映射 哈希 題意:給一個字符串\(s\),有\(q\)個詢問 x y l 表示問從\(x,y\)開始的長度為\(l\)的子串是否等價。 等價的定義是是否可以形成一個映射\(f\),使得把所有的第一個字符串的字符經過映射後得到恰恰