题目分析: 我们思考正好被k个区间覆盖的情况,那么当前这个子段是不是把所有的点分成了两个部分,那么在两个部分之间相互连k条线,再对于剩下的分别连线就很好了?这个东西不难用组合数写出来. 然后我们要证明每个区间的期望长度是点数加一分之一,这个很容易,归纳法证明就行了. 代码: #include<bits/stdc++.h> using namespace std; ; int n,k,l; ]; ],inv[],pw[]; int C(int nn,int kk){ return 1ll*fac…