hdu6215 Brute Force Sorting(模擬)
題意
給一個長度為n(n<=1e5)的序列,如果一個位置i滿足a[i-1]>a[i]或者a[i]>a[i+1],那麽我們就稱該位置是不合法的位置
先把序列中所有不合法的位置統一找出來,然後再一起刪除,剩下的合並成一個新序列
再對新序列重復操作,直至最後每個位置都是合法的
現在你需要輸出最後的序列長什麽樣
分析
如果根據題意用鏈表去直接暴力模擬那麽會T
會T的原因就是可能有很多不應該被刪除的位置我們去從前往後遍歷了很多遍
註意發現一個規律,某一次可能的不合法位置一定是上一次不合法位置的左邊或者右邊
所以我們可以利用並查集維護每個元素當前的左邊和右邊,然後每次將上一次刪除的位置記錄下來,這一次只需要check那些位置的左邊或者右邊是否合法就行了
時間復雜度O(n)
hdu6215 Brute Force Sorting(模擬)
相關推薦
hdu6215 Brute Force Sorting(模擬)
n) 很多 利用 暴力模擬 所有 只需要 維護 需要 刪除 題意 給一個長度為n(n<=1e5)的序列,如果一個位置i滿足a[i-1]>a[i]或者a[i]>a[i+1],那麽我們就稱該位置是不合法的位置 先把序列中所有不合法的位置統一找出來,
HDU6215 Brute Force Sorting 【模擬】
傳送門 顯然 當[l,r]被刪除後,下一輪可能刪除的位置必定是從l-1或r+1開始 每刪除一個值,將其左右邊的值放進佇列,用一個數組標記是否被刪除過,避免重複操作即可 #include<stdio.h> #include<bits
HDU 6215 Brute Force Sorting(鏈表)
show 滿足 .cn namespace freopen vector 題意 判斷 type http://acm.hdu.edu.cn/showproblem.php?pid=6215 題意:給出一個序列,對於每個數,它必須大於等於它前一個數,小於等於後一個數,如果不
HDU 6215 Brute Force Sorting(雙向連結串列+佇列)
Brute Force Sorting Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 2304 Acce
HDU 4288-Coder(模擬)
!= lease wrap write sca panel return img his Coder Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O
HDU 5386 Cover(模擬)
pad ger href for mem tracking pla cep tip Cover Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Othe
[luoguP1076] 尋寶(模擬)
記錄 urn efi nbsp show while org tdi tar 傳送門 模擬就好! 然後需要把一圈的有樓梯的都記錄一下,取膜亂搞。 代碼 #include <cstdio> #include <iostream>
[luoguP1042] 乒乓球(模擬)
乒乓球 char nbsp light 代碼 main pro else 傳送門 傳送門 終於過了這sb題了。 當初我連這道題都A不了(╯▔皿▔)╯ 代碼 #include <cstdio> #include <iostream&
[luoguP2626] 斐波那契數列(升級版)(模擬)
sub std [1] 斐波那契數 == cnblogs () ios git 傳送門 模擬 代碼 #include <cmath> #include <cstdio> #include <iostream>
poj 1068 Parencodings(模擬)
define href contains margin seq nes where rom round 轉載請註明出處:http://blog.csdn.net/u012860063?viewmode=contents 題目鏈接:http://poj.org/probl
fluorescence-activated cell sorting(FACS)熒光激活細胞分類
sorting .sh com 領域 blank top 特定 幹細胞 href 參考: 熒光激活細胞分選在幹細胞領域的應用 【求助】急!問熒光激活細胞分選技術(FACS)能按癌基因分選細胞嗎? 熒光激活細胞分選術分離特定細胞群,實驗和臨床研究往往需要高純度的細胞群,熒光激
[HDOJ6144] Arithmetic of Bomb(模擬)
i++ ring hdoj tin mod return nbsp int spa 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=6144 XJB模擬一下就行,反正最多重復⑨次。 非要說用上什麽數學原理的話,大概就是(a+
NYOJ 2356 哈希計劃(模擬)
std 提示 ret 我們 scanf 個數 輸入 return ... 題目鏈接: http://acm.nyist.me/JudgeOnline/problem.php?id=2356 題目描述 眾所周知,LLM的算法之所以菜,就是因為成天打遊戲,最近LLM突然想玩《
HDU 6215 Brute Force Sorting
刪掉 cnblogs code span cstring con class -- 模擬 一層一層刪 鏈表模擬 #include <iostream> #include <cstring> #include <algorithm> #
CCF201412-2 Z字形掃描(模擬)
得到 while ostream () turn rect pac clu 分隔 對於下面的4×4的矩陣, 1 5 3 9 3 7 5 6 9 4 6 4 7 3 1 3 對其進行Z字形掃描後得到長度為16的序列: 1 5 3 9 7 3 9 5 4 7 3
【NOIP2017練習】跳躍切除子序列(模擬)
class clock com goto def main std fail () 題意: 思路: 已放棄 1 #include <bits/stdc++.h> 2 typedef long long LL; 3 4 int main(){
CF 888C K-Dominant Character(模擬)
index nsis log tex 多少 tin state lan const 題目鏈接:http://codeforces.com/problemset/problem/888/C 題目: You are given a string s
【UVA】201 Squares(模擬)
ref size || for != %d else eof mark 題目 題目 ? ? 分析 記錄一下再預處理一下。 ? ? 代碼 #include <bits/stdc++.h> int main() { int t=0,s,n; wh
【UVA】1596 Bug Hunt(模擬)
num com pan dig 分析 bit i++ cnblogs main 題目 題目 ? ? 分析 算是個模擬吧 ? ? 代碼 #include <bits/stdc++.h> using namespace std; map<int,int&g
CodeForces 888C K-Dominant Character(模擬)
exist mini tput eof one blog mina nsis i++ You are given a string s consisting of lowercase Latin letters. Character c is called k-domina