博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FJ省队集训最终测试 T2
阅读量:6154 次
发布时间:2019-06-21

本文共 1874 字,大约阅读时间需要 6 分钟。

思路:发现如果一个人一共选了x个点,那么选中某一个点对的概率都是一样的,一个人选x个点的总方案是C(n,x),一个人选中某个点对的总方案是C(n-2,x-2),这样,那么选中某个点对的概率就是 x*(x-1)/(n*(n-1)),这样,我们就用树分治求出有多少对符合条件的对数,然后乘上每个人的概率即可。

1 #include
2 #include
3 #include
4 #include
5 #include
6 #define inf 0x7fffffff 7 int son[200005],F[200005],root,vis[200005],pd[200005],c[200005]; 8 int n,go[200005],tot,first[200005],next[200005],dis[200005],num,sz,m,b[200005]; 9 int ans,cnt[200005];10 double Ans;11 int read(){12 int t=0,f=1;char ch=getchar();13 while (ch<'0'||ch>'9'){
if (ch=='-')f=-1;ch=getchar();}14 while ('0'<=ch&&ch<='9'){t=t*10+ch-'0';ch=getchar();}15 return t*f;16 }17 void insert(int x,int y){18 tot++;19 go[tot]=y;20 next[tot]=first[x];21 first[x]=tot;22 }23 void add(int x,int y){24 insert(x,y);insert(y,x);25 }26 void findroot(int x,int fa){27 son[x]=1;F[x]=0;28 for (int i=first[x];i;i=next[i]){29 int pur=go[i];30 if (vis[pur]||pur==fa) continue;31 findroot(pur,x);32 son[x]+=son[pur];33 F[x]=std::max(F[x],son[pur]);34 }35 F[x]=std::max(F[x],num-son[x]);36 if (F[x]
=dis[c[i]])53 ans+=cnt[b[j]-dis[c[i]]];54 for (int i=1;i<=t;i++)55 cnt[dis[c[i]]]++; 56 }57 void solve(int x,int fa){58 vis[x]=1;sz++;59 memset(cnt,0,sizeof cnt);cnt[0]=1;60 for (int i=first[x];i;i=next[i]){61 int pur=go[i];62 if (vis[pur]) continue;63 bfs(pur);64 }65 int Sum=num;66 for (int i=first[x];i;i=next[i]){67 int pur=go[i];68 if (vis[pur]) continue;69 if (son[pur]>son[x]) num=Sum-son[x];70 else num=son[pur];71 root=0;72 findroot(pur,0);73 solve(root,x);74 }75 }76 int main(){77 n=read();m=read();78 for (int i=1;i<=m;i++){79 b[i]=read();80 }81 std::sort(b+1,b+1+m);82 for (int i=1;i

 

转载于:https://www.cnblogs.com/qzqzgfy/p/5656407.html

你可能感兴趣的文章
同步和异步, 阻塞和非阻塞, Reactor和Proactor
查看>>
首次!海豚间像人类一样的交谈被水下麦克风记录
查看>>
《PHP和MySQL Web开发从新手到高手(第5版)》一一第1章 安装
查看>>
《Android 应用案例开发大全(第二版)》——6.1节Android系统的信使:Intent
查看>>
Linux环境下安装RocketMQ(MetaQ)
查看>>
ROS机器人程序设计(原书第2版)1.4.7 在BeagleBone Black中安装rosinstall
查看>>
分布式锁的实现
查看>>
MongoDB Sharded Cluster Routing Policy Explained
查看>>
【Spark Summit EU 2016】摆脱传统ETL,让我们走向Spark吧!
查看>>
【云栖大会】探索云时代下的游戏开发模式
查看>>
【Hadoop Summit Tokyo 2016】Hivemall: Apache Hive/Spark/Pig 的可扩展机器学习库
查看>>
羊都哪里去了?
查看>>
大数据打造你的变美频道——数加平台上小红唇的大数据实践
查看>>
Manual手册的正确姿势
查看>>
Python之IPython开发实践
查看>>
Linux 应用程序开发入门
查看>>
MFC ListCtrl和IP控件的使用杂记
查看>>
ActiveMQ_基础学习
查看>>
有关OCS监控软件安装在windows上, 服务端显示乱码的问题
查看>>
Spring对JNDI的支持方法
查看>>