題意 :
題解 :
n^3的做法很好想,直接列舉小朋友,長度和位置暴力計算就可以了
然後我們可以發現計算位置不同長度相同的答案時有很多相同的計算
所以我們可以不去列舉位置,而對每個長度,所有位置在這個長度之前的概率均為0,因為即使前面全比他小長度也到不了我們當前的長度,而之後的位置概率都是相同的,這樣就可以去掉位置了
設s為比我們列舉到的小朋友矮的人數,對於每個長度l的概率為s/(n-1)*(s-1)/(n-2)...*(s-l+1)/(n-l)
上述複雜度為n^2
網上看到有線性做法,沒看懂,看懂再來更新
upd : 線性做法如下
考慮每個人的視野範圍的期望=$\sum (i * p(i))$ = $\sum (p(\ge i))$
然後排列推一推
具體可以參考
**(n^2) :
#includeusingview codenamespace
std;
#define maxn 305
int n,h[maxn],ap[1005
];double
ans;
intmain()
}printf(
"%.2lf\n
",double
(ans));
return0;
}
bzoj2720 Violet 5 列隊春遊
我們有夢想,我們可以暴算!列舉每個人i,再列舉他的視野k,然後組合數!300的階乘。a了。1 include 2 include 3 define n 305 4using namespace std 5int n,a n num n 6long double ans,a n n 7int main...
BZOJ2709 Violet 1 迷宮花園
這題是許可權題,版權問題不放題意,我來簡要的說一下 給出乙個迷宮,有起始點終點,可以上下左右走,移動的耗時是1,可以改變上下走的耗時為v,給出乙個總耗時l,問在總耗時中的v是多少 顯然這題可以先二分答案v然後跑寬搜或者spfa來判斷,還是蠻簡單的。這題的難點就在於,看到v的範圍很小 0 v 10 就...
BZOJ2724 Violet 6 蒲公英 分塊
n 個數,m 次詢問。n leq 40000,m leq 50000 看完題目 呀這不是莫隊裸題嗎?然後經過一波思 forever 考 piano 終於會做了。首先請你自行證明乙個結論 在詢問區間內任取一段子區間,詢問區間內的最小眾數一定是子區間的最小眾數或者出現在詢問區間除掉子區間的其他地方。於是...