题目:传送门
思路:
所得钱数 = 每对所能拿到钱的个数之和。
我们由期望公式 x = y+z, E[x] = E[y]+E[z]可得,我们所求期望 = 每个对鲨鱼所能拿到钱的期望 相加.
能想到这一点,我们的问题就迎刃而解了.
double pi[100050];
int main() {
int n, p;
cin >> n >> p;
for(int i=0;i<n;i++) {
int l, r;
cin >> l >> r;
pi[i] = 1.0 *((r / p) - (l - 1) / p)/(r-l+1);
}
double ans = 0;
for (int i = 0; i < n; i++) {
ans += (1 - (1 - pi[i])*(1 - pi[(i + 1) % n]));
}
printf("%.7f\n", ans*2000);
return 0;
}