20200306 ABC 題解 by 孫晨曦

2022-05-29 05:18:09 字數 658 閱讀 2597

今晚a題題解:

n<=100,直接暴力,開兩個string陣列a,b,對每個a[i]找有沒有b[j](未打過標記的)==a[i],有的話把a中第i個和b中第j個都打上標記,答案就是a中沒打標記的串的數量

b題題解:

先讓ans=不插入元素時的總開燈時間。

預處理0-a1,a1-a2,a2-a3,...,an-m的差值(絕對值)記作k1,k2,k3,...,kn+1

對於k的奇數下標是開燈的持續時間,偶數下標就是關燈時間

然後對開燈時間求字首和,關燈時間求字尾和

設開燈時間的字首和陣列為l1,字尾和陣列為r0

i從1到n列舉,答案就是max(ans,l1[i]+r0[i+1]-1),

即在ai前面插入ai-1,前面的開關燈時間段不變,後面的開關燈時間段交換,但是還要減去ai-(ai-1)的這1秒關燈時間

(不太嚴謹,好像還要判斷是否已存在ai-1這個數了,如果存在就跳過)

c題題解:

如果座標<=1e6的話顯然用差分陣列

座標<=1e18,直接差分即tle又mle,所以用map充當差分陣列

因為map是有序的,所以用for(auto i:map)列舉map內的數,用pre記錄剛列舉過的i-1的座標(key),

然後統計答案時就是ans[差分字首和]+=i.first-pre+1

20200306騰訊暑期實習面試死亡過程2

簡歷裡一定不要給自己挖坑!不熟的東西放上去被問到就當場死亡!今天做了自我介紹。第一道程式設計題 簡單的括號匹配。最後一道程式設計題 矩陣乘法,主要是開空間的問題,我寫錯了直接死亡。兩道程式設計題中間是各種提問。dfa和nfa的區別是什麼?nfa和dfa怎麼相互轉換?正規表示式怎麼編 微核心和單核心的...

三個執行緒ABC,交替列印ABC

問題為三線程間的同步喚醒操作,主要的目的就是threada threadb threadc threada 迴圈執行三個執行緒。為了控制線程執行的順序,那麼就必須要確定喚醒 等待的順序,所以每乙個執行緒必須同時持有兩個物件鎖,才能繼續執行。乙個物件鎖是prev,就是前乙個執行緒所持有的物件鎖。還有乙...

快速智慧型ABC

1.直接輸入英文 如果在智慧型輸入法中輸入英文,只要在輸入的英文本母前先輸入 v 即可,如輸入 teacher 只需鍵入 vteacher 即可。2.輸入大寫數字 要在智慧型abc中輸入大寫的數字,如 一 二 三 或 壹 貳 叄 需要使用的快捷鍵就是 i 和 i 鍵。比如要輸入 三 只要鍵入 i3 ...