Codeforces 思路 去他的DP,暴力积分多好-- 首先发现\(l\)没有用,所以不管它. 然后考虑期望的线性性,可以知道答案就是 \[ \int_0^1 \left[ \sum_{i=k}^n {n\choose i}(2x(1-x))^i(1-2x(1-x))^{n-i}\right]\mathrm{d}x \] 我们令 \[ y=2x(1-x) \] 暴力拆开,答案就是 \[ \int_0^1 \sum_{i=K}^n {n\choose i} \sum_{j=0}^{n-i} (-…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 从一条长度为 l 的线段中随机选择 n 条线段,共 2*n 个线段端点将这个线段分成 2*n + 1 个区间. 求这 2*n + 1 个区间中,被随机选择的 n 条线段中的至少 k 条覆盖的,区间的期望长度和. 对 998244353 取模. Input 第一行三个整数 n, k 与 l (1≤k≤n≤2000, 1≤l≤10^9). Output 输出一个整数…
Serval and Bonus Problem 1.转化为l=1,最后乘上l 2.对于一个方案,就是随便选择一个点,选在合法区间内的概率 3.对于本质相同的所有方案考虑在一起,贡献就是合法区间个数/(2*n+1) 4.运用条件概率或者直接解释,只需求出所有本质不同的方案的合法区间个数的和 5.DP即可. #include<bits/stdc++.h> #define reg register int #define il inline #define fi first #define se…
CF1153F Serval and Bonus Problem 官方的解法是\(O(n ^ 2)\)的,这里给出一个\(O(n \log n)\)的做法. 首先对于长度为\(l\)的线段,显然它的答案就是长度为\(1\)的线段的答案\(\times l\),这样做只是为了方便计算. 考虑对于数轴上区间\([0,1]\)内任意一个点\(x\),它被一条随机线段覆盖的概率是多少:线段的两个端点都在它左边的概率是\(x ^ 2\).都在它右边的概率是\((1 - x) ^ 2\),那么它被覆盖的概率…
yyb大佬的博客 这线段期望好神啊... 还有O(nlogn)FFTO(nlogn)FFTO(nlogn)FFT的做法 Freopen大佬的博客 本蒟蒻只会O(n2)O(n^2)O(n2) CODE #include <bits/stdc++.h> using namespace std; const int mod = 998244353; typedef long long LL; const int MAXN = 4005; inline void add(int &x, int…
题目分析: 我们思考正好被k个区间覆盖的情况,那么当前这个子段是不是把所有的点分成了两个部分,那么在两个部分之间相互连k条线,再对于剩下的分别连线就很好了?这个东西不难用组合数写出来. 然后我们要证明每个区间的期望长度是点数加一分之一,这个很容易,归纳法证明就行了. 代码: #include<bits/stdc++.h> using namespace std; ; int n,k,l; ]; ],inv[],pw[]; int C(int nn,int kk){ return 1ll*fac…
题意 一个长为 \(l\) 的线段,每次等概率选择线段上两个点,共选出 \(n\) 条线段,求至少被 \(k\) 条线段覆盖的长度期望. 数据范围 \(1 \le k \le n \le 2000, 1 \le l \le 10^9\) 题解 坑爹的 \(\text E\) 浪费了我好多时间,导致没时间做.. 由于每个端点出现的概率互相独立,我们可以只考虑端点的相对顺序. 那么每相邻的两个点把线段分成了 \(2n + 1\) 个段,显然每段的期望长度是 \(\displaystyle \frac…
题目链接:洛谷 作为一只沉迷数学多年的蒟蒻OIer,在推柿子和dp之间肯定要选推柿子的! 首先假设线段长度为1,最后答案乘上$l$即可. 对于$x$这个位置,被区间覆盖的概率是$2x(1-x)$(线段端点分别在$x$的两边),不被区间覆盖的概率为$1-2x(1-x)$. $$Ans=\sum_{i=k}^n {n\choose i}\int_{0}^1(2x(1-x))^i(1-2x(1-x))^{n-i}dx$$ $$=\sum_{i=k}^n {n\choose i}\int_{0}^1(2…
http://codeforces.com/problemset/problem/442/B (题目链接) 题意 n个人,每个人有p[i]的概率出一道题.问如何选择其中s个人使得这些人正好只出1道题的概率最大. Solution 很显然的概率dp,过了样例即可AC..话说我为什么要刷B题→_→ 代码 // codeforces442B #include<algorithm> #include<iostream> #include<cstdlib> #include<…
Another Rock-Paper-Scissors Problem 题目连接: http://codeforces.com/gym/100015/attachments Description Sonny uses a very peculiar pattern when it comes to playing rock-paper-scissors. He likes to vary his moves so that his opponent can't beat him with hi…