這道題相對來說比較簡單,主要考察對於期望的深刻理解。
其實,我是屬於那種對數學期望一竅不通的人。我個人感覺做期望題可以從以下三個方面入手:
考慮每個元素對答案的貢獻。比如說你做乙份卷子,只有25道選擇題,一道題4分,每道題蒙對的概率是\(\dfrac\)(假設你和我一樣是個啥都不會的菜雞,只能蒙題),那麼一道題對於期望的貢獻就是\(4\times \dfrac=1\),所以你的期望得分就是25分。並不需要將每種情況列出來,算每種情況的概率乘得分,也就是說不需要像高中數學大題一樣求分布列。
把「期望」理解為「估摸」,這一種思考方式常用於期望dp。比如給一張有向無環圖和起點\(s\)和終點\(t\),開始你站在起點,每次等概率的往下走,問走到終點的期望步數。那麼\(dp(u)\)表示走到從\(u\)走到\(t\)的期望步數。那麼我們就把它理解成從\(u\)走到\(t\)「估摸著」走\(dp(u)\)步。狀態轉移方程也就不難列出。
對於那種有後效性的題,不能用期望dp,就只能使用高斯消元。一般這樣考慮,先求出點的期望,用點的期望再去求出邊的期望。
對於本題來說,我們發現a、b、c三個人取點的順序是無所謂的。這就好比是教室裡同學們抽籤,誰先抽都無所謂,抽到的概率都一樣。
我們設\(cnt\)為距離為幸運數的點對個數,設\(k\)為某個人一共要取的點的個數。那麼這個人的答案:\(\dfrac^}\times cnt=\dfrac}}\times cnt=\dfrac\times cnt\)。
至於\(cnt\)怎麼求,點分治模板題。
#include #include #include using namespace std;
#define filein(s) freopen(s".in", "r", stdin)
#define fileout(s) freopen(s".out", "w", stdout)
inline int read(void)
while (ch >= '0' && ch <= '9')
return f * x;
}const int maxm = 15, maxn = 50005;
int n, m, lucky[maxm], head[maxn], tot = 1;
int p[maxn], q[maxn], ans;
bool vis[maxn];
struct edge
edge(int _y, int _next) : y(_y), next(_next) {}
} e[maxn << 1];
inline void connect(int x, int y)
inline int get_size(int x, int fa)
return res;
}inline int get_wc(int x, int fa, int tot_size, int &wc)
mx = max(mx, tot_size - res);
if (mx * 2 <= tot_size) wc = x;
return res;
}void get_dist(int x, int fa, int dist, int &nq)
}inline void count(int a, int len, int k, int t)
while (true)
l1 = min(l1, r - 1);
l2 = min(l2, r - 1);
ans += (l1 - l2) * t;
}}void solve(int x)
}for (int j = 1; j <= nq; ++ j) p[++ np] = q[j];
}for (int j = 1; j <= m; ++ j)
for (int i = head[x]; i; i = e[i].next)
}inline long double calc(int k)
int main()
for (int i = 1; i < n; ++ i)
solve(1);
int k3 = n / 3, k2, k1;
if (n % 3 == 0) k2 = k1 = k3;
if (n % 3 == 1) k2 = k3, k1 = k2 + 1;
if (n % 3 == 2) k2 = k3 + 1, k1 = k2;
printf("%.2lf\n%.2lf\n%.2lf\n", calc(k1), calc(k2), calc(k3));
return 0;
}
2011 10 29模擬 24點遊戲題解
題目描述 24點遊戲是乙個非常有意思的遊戲,很流行,玩法很簡單 給你4張牌,每張牌上有數字 其中a代表1,j代表11,q代表12,k代表13 你可以利用數學中的加 減 乘 除以及括號想辦法得到24,例如 a k j q等價於 1 13 11 12 24 加減乘不用多說了,但除法必須滿足能整除才能除!...
題解 襲擊(平面最近點對)
題目描述 在與聯盟的戰鬥中屢戰屢敗後,帝國撤退到了最後乙個據點。依靠其強大的防禦系統,帝國擊退了聯盟的六波猛烈進攻。經過幾天的苦思冥想,聯盟將軍亞瑟終於注意到帝國防禦系統唯一的弱點就是能源 該系統由n個核電站 能源,其中任何乙個被摧毀都會使防禦系統失效。將軍派出了n個 進入據點之中,打算對能源站展開...
BZOJ4675 點對遊戲
傳送門 考慮每一對幸運點對的貢獻,假設有 v vv 對 一共可以選擇 x xx 個點,總共 n nn 個點 那麼答案就是 v a n 2x 2x x 1 anx v x x 1 n n 1 v times frac x x 1 frac v anx an 2 x 2 x x 1 n n 1 v x ...