Minimal Ratio Tree HDU - 2489

时间:2022-03-11 18:07:08

Minimal Ratio Tree HDU - 2489

暴力枚举点,然后跑最小生成树得到这些点时的最小边权之和。

由于枚举的时候本来就是按照字典序的,不需要额外判。

错误原因:要求输出的结尾不能有空格。

 #include<cstdio>
#include<cstring>
#include<vector>
using namespace std;
bool ok[],ok2[];
bool vis[];
int num,n,m;
int a[],b[][];
vector<int> vec;
double anss;
int dis[];
void prim()
{
memset(vis,,sizeof(vis));
memset(dis,0x3f,sizeof(dis));
int i,j,s,sum=,mina,minid,s1=;
for(s=;s<=n;s++)
if(ok[s])
break;
vis[s]=;
dis[s]=;
for(i=s+;i<=n;i++)
if(ok[i])
dis[i]=b[s][i];
for(i=;i<m;i++)
{
mina=0x3f3f3f3f;
minid=;
for(j=;j<=n;j++)
if(ok[j]&&!vis[j]&&mina>dis[j])
{
mina=dis[j];
minid=j;
}
sum+=mina;
dis[minid]=;
vis[minid]=;
for(j=;j<=n;j++)
if(ok[j]&&!vis[j]&&dis[j]>b[minid][j])
dis[j]=b[minid][j];
}
for(i=;i<=n;i++)
if(ok[i])
s1+=a[i];
double tt=(double)sum/s1;
if(tt<anss)
{
anss=tt;
memcpy(ok2,ok,sizeof(ok));
}
}
void dfs(int minn)
{
if(num>=m)
{
prim();
return;
}
for(int i=minn+;i<=n;i++)
if(!ok[i])
{
ok[i]=;
num++;
dfs(i);
ok[i]=;
num--;
}
}
int main()
{
int i,j;
scanf("%d%d",&n,&m);
while(n!=&&m!=)
{
vec.clear();
anss=;
num=;
for(i=;i<=n;i++)
scanf("%d",&a[i]);
for(i=;i<=n;i++)
for(j=;j<=n;j++)
scanf("%d",&b[i][j]);
dfs();
for(i=;i<=n;i++)
if(ok2[i])
vec.push_back(i);
for(i=;i<vec.size()-;i++)
printf("%d ",vec[i]);
printf("%d\n",vec[vec.size()-]);
scanf("%d%d",&n,&m);
}
return ;
}

Minimal Ratio Tree HDU - 2489的更多相关文章

  1. HDU 2489 Minimal Ratio Tree &lpar;dfs&plus;Prim最小生成树&rpar;

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2489 Problem Description For a tree, which nodes and ...

  2. HDU 2489 Minimal Ratio Tree &lpar;DFS枚举&plus;最小生成树Prim&rpar;

    Minimal Ratio Tree Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) ...

  3. HDU 2489 Minimal Ratio Tree 最小生成树&plus;DFS

    Minimal Ratio Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  4. HDU 2489 Minimal Ratio Tree(暴力&plus;最小生成树)(2008 Asia Regional Beijing)

    Description For a tree, which nodes and edges are all weighted, the ratio of it is calculated accord ...

  5. HDU 2489 Minimal Ratio Tree(prim&plus;DFS)

    Minimal Ratio Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  6. hdu2489 Minimal Ratio Tree

    hdu2489 Minimal Ratio Tree 题意:一个 至多  n=15 的 完全图 ,求 含有 m 个节点的树 使 边权和 除 点权和 最小 题解:枚举 m 个 点 ,然后 求 最小生成树 ...

  7. HDUOJ----2489 Minimal Ratio Tree

    Minimal Ratio Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  8. HDU2489 Minimal Ratio Tree 【DFS】&plus;【最小生成树Prim】

    Minimal Ratio Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  9. hdu 2489 Minimal Ratio Tree

    http://acm.hdu.edu.cn/showproblem.php?pid=2489 这道题就是n个点中选择m个点形成一个生成树使得生成树的ratio最小.暴力枚举+最小生成树. #inclu ...

随机推荐

  1. 创建html模板

    打开写好的html 复制  在页面上右击------属性  --会出现下面情况

  2. PyQt4控件失去焦点和获得焦点

    #QListView控件多选设置self.ui.listView.setSelectionMode(QAbstractItemView.ExtendedSelection) #初始化QListView ...

  3. Swift数据类型简介

    用 Swift 编写 iOS 和 OS X 应用将是一场美妙的体验,Swift 之后也会不断开发新特性和兼容性. Swift 提供了与C.Objective-C的相似的基础数据类型,包含整数Int,浮 ...

  4. 【Chromium中文文档】多进程资源加载

    多进程资源加载(需要更新) 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//General_Architecture ...

  5. 成都IT公司面经及公司评价

    从2015年年底到2016年初找了几个月工作,面了大大小小若干公司,有很不错的公司,也有很多坑公司,与君共勉. 1.科大讯飞 地址:成都分公司位于天府软件园E区,占一层楼.面积挺大.公司装修风格很舒服 ...

  6. scrollView的bounds

    如果scrollView的contentoffset为(100,0) 那么scrollView的bounds就是(100,y,w,h)

  7. Python 魔法方法详解

    据说,Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切. 他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个, ...

  8. Linux下面使用命令如何运行&period;sh文件的两种解决办法

    Linux下面用命令如何运行.sh文件的方法,有两种方法: 一.直接./加上文件名.sh,如运行hello.sh为./hello.sh[hello.sh必须有x权限] 二.直接sh 加上文件名.sh, ...

  9. Android 9&period;0新特性

    1.全面屏支持,Android P加入了对刘海屏的支持,谷歌称之为凹口屏幕(display with a cutout).借助最新的提供的DisplayCutout类,开发者可以找到非功能区域的位置和 ...

  10. &period;whl文件打开方式 Python

    wheel文件本质上就是zip或者rar,只不过他更加方便python的安装以及使用.在之前的图片中我们只要使用pip install wheel 就可以安装wheel. 在安装了wheel之后我们可 ...