【xsy1303】生成树 乱搞
题目大意:给你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】生成树 乱搞的更多相关文章
- 「10.14」小P的2048(模拟)·小P的单调数列(性质,DP)·小P的生成树(乱搞)
A. 小P的2048 模拟.....又没啥可说的,以后要认真打打模拟题了... B. 小P的单调数列 考场$n^2log(n)$的SB思路有人听吗 正解当然不是这样, 事实上我们每次选取的只有一段区间 ...
- 2016 10 28考试 dp 乱搞 树状数组
2016 10 28 考试 时间 7:50 AM to 11:15 AM 下载链接: 试题 考试包 这次考试对自己的表现非常不满意!! T1看出来是dp题目,但是在考试过程中并没有推出转移方程,考虑了 ...
- URAL 1827 Indigenous Wars(排序、乱搞)
题意:给一个长度为n数组{a[i]}.有m个操作Ti,Si,Li表示找以Ti值结束,以Si值开始,长度为Li的连续子串.找到后,将区间的答案值设为1.一开始答案值全部为0.最后输出n个答案值. 好久没 ...
- UVA 11853 [dfs乱搞]
/* 大连热身E题 不要低头,不要放弃,不要气馁,不要慌张 题意: 在1000×1000的格子内有很多个炮弹中心,半径给定. 为某人能否从西部边界出发,从东部边界走出. 不能输出不能,能的话输出最北边 ...
- Codeforces 732e [贪心][stl乱搞]
/* 不要低头,不要放弃,不要气馁,不要慌张 题意: 给n个插座,m个电脑.每个插座都有一个电压,每个电脑都有需求电压. 每个插座可以接若干变压器,每个变压器可以使得电压变为x/2上取整. 有无限个变 ...
- 【BZOJ-4692】Beautiful Spacing 二分答案 + 乱搞(DP?)
4692: Beautiful Spacing Time Limit: 15 Sec Memory Limit: 128 MBSubmit: 46 Solved: 21[Submit][Statu ...
- 【BZOJ-3578】GTY的人类基因组计划2 set + map + Hash 乱搞
3578: GTY的人类基因组计划2 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 367 Solved: 159[Submit][Status][ ...
- 【BZOJ-2937】建造酿酒厂 前缀和 + 展环为链 + 乱搞
2937: [Poi2000]建造酿酒厂 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 70 Solved: 24[Submit][Status][D ...
- SCOI 2013 密码 & 乱搞
题意: Fish 是一条生活在海里的鱼.有一天他很无聊,就到处去寻宝.他找到了位于海底深处的宫殿,但是一扇带有密码锁的大门却阻止了他的前进.通过翻阅古籍,Fish 得知了这个密码的相关信息:1. 该密 ...
随机推荐
- 516. Longest Palindromic Subsequence最长的不连续回文串的长度
[抄题]: Given a string s, find the longest palindromic subsequence's length in s. You may assume that ...
- 152. Maximum Product Subarray最大乘积子数组/是否连续
[抄题]: Given an integer array nums, find the contiguous subarray within an array (containing at least ...
- [leetcode]46. Permutations全排列(给定序列无重复元素)
Given a collection of distinct integers, return all possible permutations. Input: [1,2,3] Output: [ ...
- pythonj基础(五)元组和集合
一,什么是元祖 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 1.创建一个空元组 tu ...
- iis7 部署 mvc4项目提示404错误
1.装了.net framework 4.0框架 2.重新注册了asp.net_iisreg -i 访问mvc项目仍提示404错误 搜了一下,有些服务器还要装个补丁 https://support.m ...
- face_recognition 相关依赖
centos-v:7 python-v:3.7 IDE:pycharm 安装顺序: boost boost-py cmake numpy opencv-python scipy 安装方法:settin ...
- RIDE 接口自动化请求体参数中文时报错:“UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in position 9......”
在进行robotframework 接口自动化,在请求体参数中输入中文会报以下错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 ...
- 杨其菊201771010134《面向对象程序设计(java)》第四周学习总结
<面向对象程序设计(java)> 第四周学习总结 第一部分:理论知识 1.类与对象 a.类(class)是构造对象的模板或蓝图.由类构造对象的过程称为创建类的实例: java中类声明的格式 ...
- nagios 报警参数
host_notification_options: d = notify on DOWN host states, u = notify on UNREACHABLE host states r = ...
- leveldb 学习记录(二) Slice
基本每个KV库都有一个简洁的字符串管理类 比如redis的sds 比如leveldb的slice 管理一个字符串指针和数据长度 通过对字符串指针 长度的管理实现一般的创建 判断是否为空 获取第N个位 ...