题目大意:给你n个点,问这n个点构成的最小标准差生成树的值

这题题解里面写的都是什么代码??

你用O(n^4)的复杂度,枚举出两条边,然后求平均数。

对于剩下的边,我们求出这些边与平均数的差,然后求最下差生成树。

然后就过了???

不是很懂

 #include<bits/stdc++.h>
#define M 22
#define sqr(x) ((x)*(x))
using namespace std; double x[M]={},y[M]={},dis[M][M]={}; int n; int m=; struct edge{
int u,v; double w;
friend bool operator <(edge a,edge b){return a.w<b.w;}
}a[M*M]; bool sel[M*M]={}; int f[M]={}; int get(int x){return x==f[x]?x:f[x]=get(f[x]);} map<double,int> mp; double solve(double avg){
if(mp[avg]) return ; mp[avg]=;
memset(sel,,sizeof(sel));
for(int i=;i<=n;i++) f[i]=i;
m=;
for(int i=;i<=n;i++)
for(int j=i+;j<=n;j++)
a[++m]={i,j,sqr(dis[i][j]-avg)};
sort(a+,a+m+);
double sum=;
for(int i=;i<=m;i++){
int U=get(a[i].u),V=get(a[i].v);
if(U==V) continue;
sel[i]=;
f[U]=V;
}
for(int i=;i<=m;i++) if(sel[i]){
sum+=dis[a[i].u][a[i].v];
}
avg=sum/(n-); sum=;
for(int i=;i<=m;i++) if(sel[i]){
sum+=sqr(avg-dis[a[i].u][a[i].v]);
}
return sum;
} int Main(){
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%lf",x+i);
for(int j=;j<=n;j++) scanf("%lf",y+j);
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
dis[i][j]=sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j])); double minn=;
for(int i1=;i1<=n;i1++)
for(int j1=;j1<=n;j1++) if(i1!=j1){
double dis1=dis[i1][j1];
for(int i2=;i2<=n;i2++)
for(int j2=;j2<=n;j2++) if(i2!=j2){
double dis2=dis[i2][j2];
minn=min(minn,solve((dis1+dis2)/));
}
}
printf("%.3lf\n",sqrt(minn/(n-)));
}
int main(){
int cas; cin>>cas;
while(cas--) Main();
}

【xsy1303】生成树 乱搞的更多相关文章

  1. 「10.14」小P的2048(模拟)·小P的单调数列(性质,DP)·小P的生成树(乱搞)

    A. 小P的2048 模拟.....又没啥可说的,以后要认真打打模拟题了... B. 小P的单调数列 考场$n^2log(n)$的SB思路有人听吗 正解当然不是这样, 事实上我们每次选取的只有一段区间 ...

  2. 2016 10 28考试 dp 乱搞 树状数组

    2016 10 28 考试 时间 7:50 AM to 11:15 AM 下载链接: 试题 考试包 这次考试对自己的表现非常不满意!! T1看出来是dp题目,但是在考试过程中并没有推出转移方程,考虑了 ...

  3. URAL 1827 Indigenous Wars(排序、乱搞)

    题意:给一个长度为n数组{a[i]}.有m个操作Ti,Si,Li表示找以Ti值结束,以Si值开始,长度为Li的连续子串.找到后,将区间的答案值设为1.一开始答案值全部为0.最后输出n个答案值. 好久没 ...

  4. UVA 11853 [dfs乱搞]

    /* 大连热身E题 不要低头,不要放弃,不要气馁,不要慌张 题意: 在1000×1000的格子内有很多个炮弹中心,半径给定. 为某人能否从西部边界出发,从东部边界走出. 不能输出不能,能的话输出最北边 ...

  5. Codeforces 732e [贪心][stl乱搞]

    /* 不要低头,不要放弃,不要气馁,不要慌张 题意: 给n个插座,m个电脑.每个插座都有一个电压,每个电脑都有需求电压. 每个插座可以接若干变压器,每个变压器可以使得电压变为x/2上取整. 有无限个变 ...

  6. 【BZOJ-4692】Beautiful Spacing 二分答案 + 乱搞(DP?)

    4692: Beautiful Spacing Time Limit: 15 Sec  Memory Limit: 128 MBSubmit: 46  Solved: 21[Submit][Statu ...

  7. 【BZOJ-3578】GTY的人类基因组计划2 set + map + Hash 乱搞

    3578: GTY的人类基因组计划2 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 367  Solved: 159[Submit][Status][ ...

  8. 【BZOJ-2937】建造酿酒厂 前缀和 + 展环为链 + 乱搞

    2937: [Poi2000]建造酿酒厂 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 70  Solved: 24[Submit][Status][D ...

  9. SCOI 2013 密码 & 乱搞

    题意: Fish 是一条生活在海里的鱼.有一天他很无聊,就到处去寻宝.他找到了位于海底深处的宫殿,但是一扇带有密码锁的大门却阻止了他的前进.通过翻阅古籍,Fish 得知了这个密码的相关信息:1. 该密 ...

随机推荐

  1. 简化Getter 与 Setter 的插件 Lombok

    参考文档:https://www.jianshu.com/p/365ea41b3573 第一步:添加依赖 <dependency> <groupId>org.projectlo ...

  2. django 数据库配置 ,APP 迁移.模型基础

    # 1.数据库的连接配置django 连接mysql的配置流程:- 安装 pymysql pip install pymysql- 创建数据库用户有创建数据库权限的用户- 创建数据库crm .进入数据 ...

  3. Flask最强攻略 - 跟DragonFire学Flask - 第一篇 你好,我叫Flask

    首先,要看你学没学过Django 如果学过Django 的同学,请从头看到尾,如果没有学过Django的同学,并且不想学习Django的同学,轻饶过第一部分 一. Python 现阶段三大主流Web框 ...

  4. python 删除非空文件夹

    import os import shutil os.remove(path) #删除文件 os.removedirs(path) #删除空文件夹 shutil.rmtree(path) #递归删除文 ...

  5. 容器101:Docker基础

    Docker如此受欢迎的一个原因是它提供了“一次开发,随处运行”的承诺.Docker提供了一种将应用程序及其运行时依赖性打包到单个容器中的简单方法.它还提供了一个运行时抽象,使容器能够跨不同版本的Li ...

  6. Centos7+hadoop2.7.3+jdk1.8

     修改主机名 1.       修改主机名 vi /etc/sysconfig/network ,改为 master , slave1 , slave2 2.       source /etc/sy ...

  7. BZOJ1015或洛谷1197 [JSOI2008]星球大战

    BZOJ原题链接 洛谷原题链接 发现正着想毫无思路,所以我们可以考虑倒着思考,把摧毁变成建造. 这样很容易想到用并查集来维护连通块,问题也变的很简单了. 建原图,先遍历一遍所有边,若某条边的两端点未被 ...

  8. mysql---select的五种子句学习(where、group by、having、order by、limit)

      mysql---select的五种子句学习(where.group by.having.order by.limit) 分类: Mysql学习2012-09-27 16:14 1533人阅读 评论 ...

  9. 第一次使用zxxbox弹层经历

    一:首先这个插件是基于JQuery的插件,要先导入JQuery,然后再导入这个插件 二:HTML部分 <a href="http://www.jisuapi.com/static/im ...

  10. 走进JDK(五)------AbstractList

    接下来的一段时间重点介绍java.util这个包中的内容,这个包厉害了,包含了collection与map,提供了集合.队列.映射等实现.一张图了解java中的集合类: AbstractList 一. ...