A.兩種view,對(duì)應(yīng)如果有相同的同時(shí)消去并加入一次計(jì)數(shù),如果2個(gè)view不相同的則都加入計(jì)數(shù)。(topsky ac)
B.BFS,如果TLE則雙向廣搜,難點(diǎn)可能在于判重,試試tire樹(shù)。(topsky)
C.模擬題,用一個(gè)struct{int dt,int t},開(kāi)兩個(gè)隊(duì)列,每次比較兩個(gè)隊(duì)列頭元素的時(shí)間,取時(shí)間小的,并將對(duì)應(yīng)隊(duì)列中余下的元素中時(shí)間小于頭元素時(shí)間的元素取出,并將這些元素的時(shí)間修改為頭元素的時(shí)間,把取出來(lái)的元素按照游完一圈所需時(shí)間排序后,進(jìn)入另一個(gè)隊(duì)列,為了方便還可以用一個(gè)堆,直到模擬到結(jié)束。(topsky ac)
D.經(jīng)典題,有紅藍(lán)點(diǎn)集,問(wèn)是否存在一條直線將其劃分,做法先求凸包,然后判相交。(haozi)
E.模擬,維護(hù)面集和鉸鏈集.(ac by haozi)
F.給你一個(gè)化學(xué)方程式,將他配平。最后的系數(shù)保證在int范圍內(nèi),且為正整數(shù)。涉及到表達(dá)式運(yùn)算,和高斯消元。由于結(jié)果要是整數(shù)。我們可以在消元的每一步都保持系數(shù)是整數(shù),這樣最后結(jié)果就是整數(shù)。具體說(shuō)就是兩行相消的時(shí)候乘回一個(gè)系數(shù),再約掉最大公約數(shù)。(haozi ac by lwc)
G.想二分一個(gè)圓的半徑,然后確定另外兩個(gè)圓的位置,判斷這兩個(gè)圓是相交,還是想離。
ps. lwc topsky幫我在網(wǎng)上搜幾個(gè)更好的解法,我搜不到了(haozi)
H.集合DP,考慮某個(gè)狀態(tài)a1, a2, .. ak考慮過(guò)了,并且標(biāo)明其屬性(yes / no),其他未考慮,這個(gè)狀態(tài)最壞還需要問(wèn)幾次。轉(zhuǎn)移就是在做一次提問(wèn),轉(zhuǎn)移到下一個(gè)狀態(tài),邊界就是當(dāng)某一個(gè)狀態(tài)的人數(shù)不超過(guò)1時(shí),標(biāo)明還需問(wèn)0次。(haozi ac by lwc)
I.搜索加模擬,暫沒(méi)想法.(topsky)
J. bfs,用一個(gè)數(shù)字2^25*25來(lái)記錄當(dāng)前狀態(tài),25位壓縮表示某一位上是否有'#',25表示當(dāng)前
'@'在哪一位上。可以先處理出和某位相鄰的位置為哪些來(lái)加速,map來(lái)判重,hash效果基本相同,現(xiàn)在2.7s.(topsky ac)