17B

贪心,之前先bfs判断是否联通,然后,反向建图,找一个未选择的点,找与他距离最近的点连边,因为每个点都要被选择,所以一个点离他最近的另一个点肯定也被选择,可以贪心

#include<queue>
#include<cstdio>
#include<vector>
#include<Cstring>
#include<iostream>
using namespace std;
const int inf=1<<29;
vector<int>graph[1010];
vector<int>num;
int n,m,ans,cnt,pos;
int q[1010],out[1010],head[10010],next[10010],to[10010],used[10010],w[10010];
void insert(int u,int v,int c)
{
    next[++cnt]=head[u];
    head[u]=cnt;
    to[cnt]=v;
    w[cnt]=c;
}
bool bfs(int x)
{
    int tot=1;
    queue<int>q;
    q.push(x);
    used[x]=1;
    while(!q.empty())
    {
        int u=q.front(); q.pop();
        for(int i=0;i<graph[u].size();i++)
        {
            int v=graph[u][i];
            if(!used[v])
            {
                tot++;
                q.push(v);
                used[v]=1;
            }
        }
    }
    return tot==n;
}
void go(int x)
{
    int u=x;
    used[pos]=1;
    while(u!=pos)
    {
        int MIN=inf,x;
        used[u]=1;
        for(int i=head[u];i;i=next[i])
        {
            int v=to[i],cost=w[i];
            if(cost<MIN)
            {
                MIN=cost;
                x=v;
            }
        }
        ans+=MIN;
        if(used[x]) break;
        u=x;
    }
}
int main()
{
    scanf("%d",&n); int MAX=0;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",q+i);
        if(MAX<q[i])
        {
            MAX=q[i]; pos=i;
        }
    }
    scanf("%d",&m);
    for(int i=1;i<=m;i++)
    {
        int u,v,c; scanf("%d%d%d",&u,&v,&c);
        graph[u].push_back(v);
        insert(v,u,c);
//        out[u]++;
    }
    if(!bfs(pos))
    {
        cout<<-1;
        return 0;
    }
    memset(used,0,sizeof(used));
/*    for(int i=1;i<=n;i++)
    {
        if(out[i]==0) num.push_back(i);
    }*/
    for(int i=1;i<=n;i++)
    {
        if(!used[i]) go(i);
    }
    cout<<ans;
    return 0;
}
时间: 2024-10-13 00:57:13

17B的相关文章

CF 17B Hierarchy

Nick's company employed n people. Now Nick needs to build a tree hierarchy of ?supervisor-surbodinate? relations in the company (this is to say that each employee, except one, has exactly one supervisor). There are m applications written in the follo

一个简单的微安表

这是一个用STM8S103F3P6单片机和一个LM358运算放大器制作的一个简单的微安表,可以用来测量1mA以下的小电流,分辨率是1uA.接通电源就开始测量. 开机时的工作电流是15mA,使用9V层叠电池供电.电路板: 内部图片: 电路图在最后一页.原理很简单,通过一个100欧的电阻对待测电流取样,经过一个LM358放大50倍后送到单片机进行AD转换.这个单片机的电源电压为5V,AD分辨率10位.设进来的电流为A微安,理论上AD的读数X可以通过下式得到: X = 100*A*50*2^10/(5

结构体对齐详解【转】

 1 -- 结构体数据成员对齐的意义 许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的起始地址的值是某个数k的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus).这种强制的要求一来简化了处理器与内存之间传输系统的设计,二来可以提升读取数据的速度.比如这么一种处理器,它每次读写内存的时候都从某个8倍数的地址开始,一次读出或写入8个字节的数据,假如软件能保证double类型的数据都从8倍数地址开始,那么读或写一个

convas demo1

1 getContext 语法 Canvas.getContext(contextID) 参数 参数 contextID 指定了您想要在画布上绘制的类型.当前唯一的合法值是 "2d",它指定了二维绘图,并且导致这个方法返回一个环境对象,该对象导出一个二维绘图 API. 提示:在未来,如果 <canvas> 标签扩展到支持 3D 绘图,getContext() 方法可能允许传递一个 "3d" 字符串参数. 返回值 一个 CanvasRenderingCon

http://mirror2.openwrt.org/sources/

http://mirror2.openwrt.org/sources/ Index of /sources/ ../ 1.0.4.3.arm 22-Dec-2008 20:29 93996 2.13.0.0.a.13.14.arm 10-Aug-2010 16:23 30888 2.13.12.0.arm 18-Feb-2009 16:31 29036 2.13.24.0.lm86.arm 18-Feb-2009 16:31 30083 2.13.24.0.lm87.arm 28-Nov-200

涌掩涯用抡in962w3d7m00e2420j9o

梦红尘虽然失去了魂导器辅助飞行的能力,但她的修为毕竟远在霍雨浩和王冬之上,细剑展开的时候,就已是腾身而起.之前的杜维伦作出这样的决定,无疑是要看看霍雨浩的能力究竟是什么.否则的话,以霍雨浩那天的表现,只是凭一个模拟魂技就足以让他通过考核了啊!完美模拟.伴随着精神力的提升,霍雨浩对灵眸的技能运用的更加娴熟,闭关之后,他彻底领悟了自身魂技伴随年限提升后的威能,模拟魂技的模拟范围也从原本的直径三米变成了五米--当他看到远处东方那一抹紫意的时候,仿佛有浓浓的暖意顺着自己的灵眸流淌入脑海之中,眼眸得到了前

Speculative store buffer

A speculative?store?buffer is speculatively updated in response to speculative store?memory operations buffered by a?load/store?unit in a microprocessor. Instead of performing dependency checking for?load?memory operations among the?store?memory oper

《转载》【国际惯例】华为十年,干货送给后来人

结合大家经常讨论的问题,以下有一点小收获,非经历贴非炫耀贴,分享给后来人,希望对困惑的人有所帮助:对或不对.听或不听,自行判断:觉得错的不用PEN了,本周五就截止了,有问题可以留言,我尽量答复. 第一点,人和人区别就是思维,不断更新的思维体系:人可以累,但不能停止思考.很多人最大的恐慌估计就是明知自己在打杂,又不敢或不能出去,担心出去没有竞争力.其实,这部分同学,大多数只停留在想一想的阶段,还没有到思考的阶段,没有到体系的阶段:竞争力,我的总结是工作经历+不断进步的思维体系,还有你的圈子:你会发

熔寇苄屡仕s30w48zbpl7e03i356

在这种情况下,徐三石相当于是一穿七啊!听他提起带给正选队员们惨重损失的死神使者,众人都是心中一凛,马小桃抬头看了他一眼,眼神中虽然依旧有些不服气,但也少了几分原本的轻蔑.白衣老者摇了摇头,道:"我已经让人去查了.原本我以为会是那两名学员家里派来守护他们的人.但查过后却发现没有这种可能.那两名学员一个叫王冬,一个叫霍雨浩.霍雨浩是唐门的特招生,我问过贝贝,是他和唐雅在星斗大森林遇到并且带回来的,天赋一般,而且是个孤儿.肯定不会有强者跟随保护他.那个王冬倒是有很大的背景,但是,他的背景却并非是冰属性