t1:
將區間按左端點排序,點排序。
依次掃每乙個點,將所有滿足條件的區間裝入堆中,彈掉所有過期的區間。
每次貪心取右端點最小的區間。
時間複雜度$o(nlogn)$。
t2:把樹放在森林中考慮。
設$dp[i][j]$表示$i$個點的森林,有$j$個點在第一棵樹的概率。
然後$dp[i][j]=dp[i-1][j-1]*(j-1)*inv[i]+dp[i-1][j]*(i-j)*inv[i]$。
手模一下發現$dp[i][j]=inv[i]$,於是$dp[i][j]$就廢掉了......
設$f[i][j]$表示有$i$個點的樹,深度不超過$j$的概率,$g[i][j]$表示有$i$個點的森林,深度不超過$j$的概率。
然後$f[i][j]=g[i-1][j-1]$,於是$f[i][j]$也廢掉了......
最後$g[i][j]=\sum \limits_^i g[k-1][j-1]*g[i-k][j]*inv[i]$。
時間複雜度$o(n^3)$。
t3:由於原圖是一棵樹,所以連通塊個數=點數-邊書。
區間點數直接就區間長度,考慮如何求區間邊數。
把每一條邊看成一條線段,問題轉化為求區間包含的小區間數。
把每條邊存放在左端點處,用主席樹維護右端點,直接求區間內值域內的數個數。
時間複雜度$o(nlogn)$。
csps模擬測試74夢境,玩具,飄雪聖域題解
題面 夢境 其實還是挺水的,排序錯了過不了樣例,打了個二分圖匹配就跑了 1 include2 include3 include4 include5 include 6 define int long long 7using namespace std 8const int maxn 2e5 5 9 ...
csp模擬 模擬測試16
fdasds include using namespace std define cle a memset a,0,sizeof a inline int read const int mod 1e9 7,maxn 1e3 100 int n,m,ans 0 int f maxn maxn int...
csp模擬 模擬測試4
t1是暴力分,t2當時沒有花太多時間去推導,一見到t2就十分害怕,便放過了它,t3的話花了大量的時間推了乙個錯誤的解,以後對於t2這種題不要未戰先怯,一點一點的去推導!那一天我們在教室裡許下約定。我至今還記得我們許下約定時的歡聲笑語。我記得她說過她喜歡吃餅乾,很在意自己體重的同時又控制不住自己。她跟...