#include <bits/stdc++.h> using namespace std; const int N=2e5+10; int f[N]; int sz[N]; long long sum[N]; void init(int n) { for(int i=1;i<=n;i++) { f[i]=i; sz[i]=1; } } int find(int a) { if(f[a]==a) return a; return find(f[a]); } void merge(int a,int b) { int fa = find(a); int fb = find(b); if(fa==fb)return; if(fa<fb)swap(fa,fb); sum[fa]+=sum[fb]; sz[fa]+=sz[fb]; f[fb]=fa; } int main() { int n,m; cin>>n>>m; for(int i=1;i<=n;i++) cin>>sum[i]; init(n); while(m--) { int op; cin>>op; if(op==1) { int l,r; cin>>l>>r; for(int i=l;i<r;i++) { merge(i,i+1); i = find(i+1)-1; } } else { int x; cin>>x; x = find(x); printf("%.10lf\n",1.0*sum[x]/sz[x]); } } return 0; } 为啥我的超时了呀
点赞 2

相关推荐

02-24 10:34
门头沟学院 Java
已注销:之前发最美的女孩基本爱答不理,发最帅的hr终于有反馈了,女孩子也要自信起来
点赞 评论 收藏
分享
ResourceUtilization:我嘞个董事长
点赞 评论 收藏
分享
牛客网
牛客企业服务