題目描述:給出一棵樹的\(dfs\)序(只要通過就會記錄),求每一個點的度app
solution
按\(dfs\)序的規則還原這棵樹就行了。spa
時間複雜度:\(O(n)\)排序
solution
模擬遊戲
題目描述:有\(n\)臺電腦,每臺電腦的電量,電容量,功耗均可能不一樣,如今有功率相同的充電器若干個,問最少須要多少個充電器,以及只給必定數量的充電器時,最先沒電的電腦的運行時長。io
solution
由於拔充電器是不須要時間的所以能夠當作一個充電器給全部的電腦同時充電,功率均分,所以最少的充電器個數等於功耗最大的除以充電器的功率。第二個問題就二分一下便可。class
時間複雜度:\(O(nlogn)\)循環
題目描述:有兩我的在玩遊戲,分別有金幣\(A, B\)個,設\(C=min(A, B)\),每一輪輸的人給贏的人\(C\)個金幣。每一個人贏的機率是相等的,問指望在多少輪結束遊戲,以及第一我的贏的機率。im
solution
第一我的贏的機率爲\(\frac{A}{A+B}\), 對於指望輪數,只有考慮金幣少的那我的贏的狀況就行了,經過計算可得,當金幣數數對有循環時,指望輪數爲\(2\),當金幣數均分時,指望輪數爲\(2^{通過多少輪後金幣均分}\).top
時間複雜度:\(O(能過)\)di
solution
暴力枚舉
題目描述:有一個圖(不必定聯通)每條邊交給一個點看守,看守的費用爲刪掉這條邊後不連通的點對數乘邊權,每一個點的重要值爲看守總費用加這個點的重要值,求重要值最大的點的最小值。
solution
一道思路清晰卻很是難打的題。
對於每一個連通塊,求出每條邊看守的費用,將環裏的邊刪掉。
原題就變成了一個森林,而後對於每棵樹二分答案,先考慮度爲\(1\)的點,能看守父邊的就看守,最後判斷是否全都能看守,全部數的最小值的最大值就是答案。
時間複雜度:\(O(nlogn)\)
題目描述:有\(n\)道題,有些題須要上一題的答案才能解,有\(m\)我的解題,要求每一個人解題數的最大值減最小值最小,給出每一個人答每道題的正確率,問正確題數的指望值。
solution
暴力七維\(dp\)
時間複雜度:\(O(能過)\)
題目描述:有\(n\)個向量,從中選擇\(m\)個,從原點出發,依次相連,使得與\(x\)軸圍成的面積最大(最後一個向量的\(x\)座標爲右邊界),求最大值。
solution
將向量極角排序,當加入一個新的向量在最後時,面積增長值爲原高度乘向量寬度再加向量圍成的三角形,因此能夠用\(dp\)求出到第\(i\)個向量,已經選了\(j\)個,高度爲\(k\)的最大值,而高度只枚舉有效狀態便可。
時間複雜度:\(O(2500n^2)\)
題目描述:有一個\(n \times m\)的網格圖,每一個格子均可以放一個守衛,每一個守衛會守護它所在的行和列。問網格圖的最外層都被守護的方案數。
solution 比較噁心的分類討論。