uva11865 - Stream My Contest 最小树形图+二分

计算机组成原理(二)—— 数据的表示与运算 本章目录引言一、数制与编码1.1 进位计数制1.1.1 进制及转换1.1.2 真值、机器数1.2 BCD码1.3 ASCII 码1.4 校验码1.4.1 奇偶校验码1.4.2 海明码1.4.3 CRC循环冗余码二、定点数的表示和运算2.1 定点数的表示2.1.1 无符号2.1.2 有符号(原码、反码、补码、移码)2.2 定点数的运算2.2.1 移位运算2.2.2 加减运算(溢出判断)2.2.3 乘法运算2.2.4 除法运算2.3 强制类型转换2.4 数据的存储和排列三、浮点数的表示和运算3.1 浮点数的表示 阅读详情

G

Stream My Contest

Input: Standard Input

Output: Standard Output

 

During 2009 and 2010 ICPC world finals, the contest was webcasted via world wide web. Seeing this, some contest organizers from Ajobdeshdecided that, they will provide a live stream of their contests to every university in Ajobdesh. The organizers have decided that, they will provide best possible service to them. But there are two problems:

 

1. There is no existing network between universities. So, they need to build a new network. However, the maximum amount they can spend on building the network is C.

2. Each link in the network has a bandwidth. If, the stream’s bandwidth exceeds any of the link’s available bandwidth, the viewers, connected through that link can’t view the stream.

 

Due to the protocols used for streaming, a viewer can receive stream from exactly one other user (or the server, where the contest is organized). That is, if you have two 128kbps links, you won’t get 256kbps bandwidth, although, if you have a stream of 128kbps, you can stream to any number of users at that bandwidth.

 

Given C, you have to maximize the minimum bandwidth to any user.

 

Input

First line of input contains T(≤50), the number of test cases. This is followed by T test cases.

 

Each test case starts with an integer N,M,C(1≤N≤60,1≤M≤104,1≤C≤109), the number of universities and the number of possible links, and the budget for setting up the network. Each university is identified by an integer between 0 and N-1, where 0 is the server.

 

Next M lines each contain 4 integers, u,v,b,c(0≤u, v<N, 1≤b, c≤106, u!=v), describing a possible link from university u to university v, that has the bandwidth of b kbps and of cost c. All links are unidirectional.

 

There is a blank line before each test case.

 

Output

For each test case, output the maximum bandwidth to stream. If it’s not possible, output “streaming not possible.”.

 

Sample Input                               Output for Sample Input

3

 

3 4 300

0 1 128 100

1 2 256 200

2 1 256 200

0 2 512 300

 

3 4 500

0 1 128 100

1 2 256 200

2 1 256 200

0 2 512 300

 

3 4 100

0 1 128 100

1 2 256 200

2 1 256 200

0 2 512 300

128 kbps

256 kbps

streaming not possible.

 

 

 

  N个位置编号0-N-1,服务器在位置0,要连接其它位置,给出连接线路的带宽和花费,最后的带宽是所有线路里带宽最小的那个,求在花费C以内的最大带宽。

  二分最小带宽,把大于等于这个带宽的边建成图,边权是花费,求最小树形图,如果求出的花费不大于C,说明这个带宽是可以的,否则是不行的。二分到最后就是答案。

 

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<string>
#include<iostream>
#include<queue>
#include<map>
using namespace std;

typedef pair<int,int> pii;

const int MAXN=65;
const int MAXM=40010;
const int MAXC=110;
const int MAXNODE=100010;
const int LOGMAXN=50;
const int INF=0x3f3f3f3f;

int T,N,M,C;
int iw[MAXN],cir[MAXN],vis[MAXN],pre[MAXN];
int ans;

struct Edge{
    int u,v,w,band;
    bool operator < (const Edge& rhs) const{
        return band<rhs.band;
    }
}e[MAXM],tmp[MAXM];

bool MDST(int s,int n,int m,Edge* e){
    ans=0;
    while(1){
        for(int i=0;i<n;i++) iw[i]=INF;
        for(int i=0;i<m;i++){
            int u=e[i].u,v=e[i].v;
            if(u!=v&&e[i].w<iw[v]){
                iw[v]=e[i].w;
                pre[v]=u;
            }
        }
        for(int i=0;i<n;i++) if(i!=s&&iw[i]==INF){
            return false;
        }
        int cid=0;
        iw[s]=0;
        memset(vis,-1,sizeof(vis));
        memset(cir,-1,sizeof(cir));
        for(int i=0;i<n;i++){
            ans+=iw[i];
            if(ans>C) return false;
            int v=i;
            while(vis[v]!=i&&cir[v]==-1&&v!=s){
                vis[v]=i;
                v=pre[v];
            }
            if(vis[v]==i){
                for(int u=pre[v];u!=v;u=pre[u]) cir[u]=cid;
                cir[v]=cid++;
            }
        }
        if(!cid){
            if(ans<=C) return true;
            return false;
        }
        for(int i=0;i<n;i++) if(cir[i]==-1){
            cir[i]=cid++;
        }
        for(int i=0;i<m;i++){
            int u=e[i].u,v=e[i].v;
            e[i].u=cir[u];
            e[i].v=cir[v];
            if(e[i].u!=e[i].v) e[i].w-=iw[v];
        }
        n=cid;
        s=cir[s];
    }
}

int main(){
    freopen("in.txt","r",stdin);
    int cas=0;
    scanf("%d",&T);
    while(T--){
        scanf("%d%d%d",&N,&M,&C);
        int u,v,w;
        for(int i=0;i<M;i++) scanf("%d%d%d%d",&e[i].u,&e[i].v,&e[i].band,&e[i].w);
        sort(e,e+M);
        for(int i=0;i<M;i++) tmp[i]=e[i];
        if(!MDST(0,N,M,tmp)){
            printf("streaming not possible.\n");
            continue;
        }
        int L=0,R=M;
        while(L+1<R){
            int mid=L+(R-L)/2,m=0;
            for(int i=mid;i<M;i++) tmp[m++]=e[i];
            if(MDST(0,N,m,tmp)) L=mid;
            else R=mid;
        }
        printf("%d kbps\n",e[L].band);
    }
    return 0;
}


vue2 - 最新详细实现高德地图绘制动态热力图详细教程,在某区域或城市地图上做“热力图层“展示人流量、旅游人口密度、热量图、全国地区地理热力图,利用颜色的深浅表示密度或强度等场景(详细示例代码教程) vue2,nuxt2,高德地图,热力图,绘制热力图层,报错,卡顿,出不来怎么办,无法关闭,怎么解决这个问题,出错,城市名称,城市某个街道,城区,省份,市区,县城,乡镇,村,各省份的热力图,交通流量,人口流量,密度,旅游出行,人口数量,颜色介绍,深浅代表,人流量,vue2使用高德地图实现某个区域热力图,vue高德地图api加载热力图及关闭,接收热力图数据并渲染热力图,关掉热力图,Vue使用高德API制作热力图,热力图加载不出来,电子围栏围住热力图,vue2中使用高德地图渲染热力图组件,高德地图使用热力图详细教 阅读详情

相关推荐

深入理解HanLP1.x,填平可能遇到的坑

提取指定数量的摘要。自定义词典为什么要单独领出来讲呢?因为在我们的业务开发中,可能分词的效果并不理想,需要定制自己的词库,索引更加常用。例如:小米su7特斯拉modelY比亚042025款6575767670908我们需要分出小米su72025款等词。我们分别看看用字典和不用字典的效果。

static_coder的博客 977

UVA 11865 最小树形图+二分

http://vjudge.net/contest/view.action?cid=49353#problem/A  During 2009 and 2010 ICPC world finals, the contest was webcasted via world wide web. Seeing this, some contest organizers from Ajobde

ACM,再见! 980

Bulk / Smart-seq2数据分析一般流程

Bulk RNA-seq(RNA-Seq of bulk samples)是一种RNA-Seq技术应用,它是通过将整个组织或细胞群体的RNA提取并混合,进行高通量测序来分析基因表达的技术。转录本定量结果可以用于后续的差异表达分析和聚类分析。功能注释和富集分析:对差异表达基因进行功能注释和富集分析,以帮助理解差异表达基因的功能和调控网络,从而获得对研究样品的更深入的理解。数据可视化:最后,将聚类分析的结果进行可视化,可以使用常见的数据可视化工具,如ggplot2、Plotly等,来帮助用户更好地理解数据。

weixin_54519672的博客 5350

【二分+最小树形图】UVA11865 比赛网络

Description During 2009 and 2010 ICPC world finals, the contest was webcasted via world wide web. Seeing this, some contest organizers from Ajobdesh decided that, they will provide a live stream of t...

weixin_30345055的博客 129

海思Hi3061M MCU:为高速吹风筒市场注入智能动力

此外,海思还提供了丰富的软件开发工具和生态环境组件,帮助开发者快速实现复杂功能。高速吹风筒因其高效的风力和快速的干燥效果,近年来在市场上越来越受欢迎。然而,传统的高速吹风筒在性能、噪音和使用寿命等方面仍有改进的空间。凭借其高性能、低功耗、低噪声和易用的开发工具,为高速吹风筒市场带来了全新的解决方案。这不仅提高了用户的使用体验,还延长了电机的使用寿命。这不仅减少了电机的电磁噪声,还提高了电机的运行效率。还支持风机顺逆风启动适配多种电阻范围的电机,进一步提高了吹风筒的适用性和灵活性。

2401_83448585的博客 2016

基于Openrouter的API调用免费大模型

Openrouter 是一个 AI 模型聚合平台,整合了全球 200 多种主流 AI 模型,包括 GPT-4、Claude、Gemini 等,以及国产通义千问、DeepSeek 等。其核心优势是统一的 API 设计,开发者仅需少量代码即可与多个模型交互,还支持自动路由与回退机制。用户可通过 OpenAI SDK 或 LangChain 调用 Openrouter 中的模型。

MurphyStar的博客 6202

[UVA 11865]Stream My Contest[最小树形图][二分答案]

题目链接:[UVA 11865]Stream My Contest[最小树形图][二分答案] 题意分析: 建立一个从服务器(节点0),到所有大学的网络,在可行的网络中,最小带宽最大的网络对应的带宽是多少? 题目中给出了两个限制: 大学间原先是没有网络的,所以需要建立网络,要花费一定的费用,最大预算为C元,且边是单向的。 大学间的网络都有一个带宽,在生成的网络中,流量不能超过最小带宽,否则无法送

闲停 536

Avalonia+ReactiveUI跨平台路由:从零到舞者,你的UI也能跨界起舞?

至此,你已掌握了Avalonia+ReactiveUI的跨平台路由精髓!你的应用现在能够优雅地在各个界面间穿梭,就像是在不同星球间跳跃的宇宙飞船。无论是初探跨平台开发的新手,还是经验丰富的老船长,这段旅程都能让你的UI编排技能更上一层楼。现在,是时候让世界见证你的跨平台魔术了!💫记住,每一次实践都是向着完美编舞迈进的一步,勇敢地在你的项目中尝试吧!如果在航行中遇到风暴,别忘了回来看看这篇指南,或者在评论区抛出你的救生圈,我们一起解决!🌊。

java专栏 1534

UVA 11865 Stream My Contest 二分枚举 + 最小树形图

题目:http://vjudge.net/problem/UVA-11865 题意:以0为根构建树形图,其中每条边有两个权值,一个为花费一个为流量,要求构建树形图时花费不超过C且使构建树形图所用到的边中流量的最小值最大 思路:构建树形图这个简单,套模板即可,怎么使流量的最小值最大化呢?二分枚举流量的值,流量小于枚举值的边弃用,然后构建树形图,如果无法构建树形图或者花费超过了C,那么就向下调整枚

弱智就要多努力 530

AI颠覆市场调研:生成式智能体如何重构商业决策?

AI正在将市场调研从"成本中心"转变为"战略武器"。当企业能够用生成式智能体实时模拟百万级虚拟用户时,传统调研的样本偏差、时间滞后、成本高昂等问题将不复存在。对于开发者而言,这不仅是技术的狂欢,更是参与商业规则重构的历史机遇。行动建议立即体验Simile/Aaru的智能体平台,验证虚拟样本效果参与LLM持续性记忆架构的开源项目(如Memory Llama)关注AI调研API的标准化进程(如Hugging Face的Market Research Toolkit)

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 614

PCL Fast Global Registration 快速全局配准(源码版)

Fast Global Registration(FGR)是一种经典的点云粗配准算法,已集成到Open3D和CloudCompare等软件中。本文介绍了该算法的源码实现及优化方法,包括如何通过修改源码直接读取点云进行配准,而不依赖文件中读取特征描述子。文章还提供了关键参数设置(如最大迭代次数、匹配距离等)。算法实现简单高效,未来计划发布基于纯PCL的版本。源码和论文链接已附上,供开发者参考。

点云侠的博客 383

UVa 11865 Stream My Contest 二分+最小树形图

题目来源:UVa 11865 Stream My Contest  题意:0是服务器 其他每个点要接收到0传送的数据 并且每条路单向 有最大带宽和花费 求总花费不超过c的最大带宽 思路:单向的0是根 是一颗有向树 要最大化带宽 是树中所有边最小的带宽尽量大 然后总得花费不超过n 二分最小带宽 然后选出带宽大雨二分mid值的边  判断是否存在最小树形图 存在说明mid值可行 此外没有用到白书上

嗯。 1125

GEE高阶应用——如何绘制2000-2022年土地利用变化轨迹时序图

土地利用变化是指在一定时间范围内,土地利用类型和结构发生的变化。时序变化是指这种变化随时间的推移而发生的序列变化。土地利用变化轨迹的时序变化具体介绍如下:首先,土地利用变化轨迹的时序变化体现在土地利用类型的演变上。在过去的几十年里,随着人口的增加、经济的发展和城市化的推进,土地利用类型发生了显著的变化。传统的农田逐渐减少,而城市、工业、交通、居住等用地的面积不断扩大。同时,随着环境保护意识的提高,生态保护用地、森林、湿地等绿色用地的面积也在增加。

此星光明博客 1113

UVA 11865 Stream My Contest(最小树形图+二分)

题目链接: UVA 11865 Stream My Contest 题意: 有n个点编号为0–n-1,0为根节点,m条有向边,u,v,w,val表示从u到v的花费是w,可以传输数据的带宽是val, 每个点只可以从指向它的边中选择一个带宽(带宽不可以叠加),一张连通图的带宽是所有连通边中的最小带宽。 问在总花费不超过C的条件下,将n个点连通的最大带宽?如果无法连通输出”streaming n

ramay7 633

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

UVA 11865 Stream My Contest (最小树形图 + 二分)

题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26164 题意:你需要花费不超过cost元来搭建一个比赛网络。网络中有n台机器,编号0~n-1,其中机器0为服务器,其他机器为客户机。一共有m条可以使用的网线,其中第i条网线的发送端是机器ui,接收端是机器vi(数据只能从机器ui单向传输到机器vi),带宽是b...

Tongqi 635

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【UVA 11865】 Stream My Contest (二分+MDST最小树形图)

【题意】   你需要花费不超过cost元来搭建一个比赛网络。网络中有n台机器,编号0~n-1,其中机器0为服务器,其他机器为客户机。一共有m条可以使用的网线,其中第i条网线的发送端是机器ui,接收端是机器vi(数据只能从机器ui单向传输到机器vi),带宽是bi Kbps,费用是ci元。每台客户机应当恰好从一台机器接收数据。你的任务是最大化网络中的最小带宽。 InputFir...

weixin_30821731的博客 150

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Stream My Contest UVA - 11865(带权最小树形图+二分最小值最大化)

#include <iostream> #include <cstdio> #include <sstream> #include <cstring> #include <map> #include <set> #include <vector> #include <stac...

weixin_30940783的博客 86

UVa11865 Stream My Contest

二分答案(最小带宽),找出从0出发的最小树形图(需要禁用带宽小于答案的网线),判断权值和是否超过cost即可。固定根的最小树形图可以用朱-刘算法(也称 Edmonds 算法)解决,其时间复杂度为𝑂(𝑉𝐸),此算法不能找出最小树形图的各条边,只能求出其权值和。

hlhgzx的博客 1039

UVa 11865 Stream My Contest

该问题描述了一个网络流媒体服务的优化场景,要求在有向图中构建满足预算约束的生成树,最大化最小带宽。关键点包括: 问题建模:以服务器为根的有向生成树,需同时满足带宽约束(所有边≥目标值)和成本约束(总建网成本≤C)。 算法框架: 采用二分查找确定最大可行带宽,利用单调性缩小搜索范围。 每次检查结合连通性验证(BFS/DFS)和朱刘算法求解最小有向生成树。 技术实现: 朱刘算法处理有向图最小生成树,通过收缩环逐步求解。

寂静山林 1022

UVA 11865 Stream My Contest

题意:需要用不超过cost元来建立一个能到所有点的网络,每条边都有花费和带宽,要求一颗能到所有点的树,使得整棵树的最小带宽(即该图中所有点的带宽的最小值)最大。 解析:如果已知最小带宽了,问题转化为:如果仅用小于此带宽的网线,是否可以再给定花费内成功搭建网络,则明显应该求最小生成树,因为是有向图,所以就是最小树形图,可以用朱刘算法来求。朱刘算法详解:http://blog.sina.com.cn

u010489766的专栏 1717

UVA 11865 Stream My Contest(最小树形图、朱刘算法)

题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2965 题目大意:有n个点,m条有向边,和一个定值cost。n个点,编号0~n-1,0为服务器,只能发数据,其他为主机。每条边有一个带宽和价格,问你在不超过cost 的情况下,整个网络的最小带宽的最大

沉溺的专栏 816

UVA 11865 - Stream My Contest(最小树形图)

UVA 11865 - Stream My Contest 题目链接 题意:给定一些有向边,每个边有一个花费和一个带宽,给定一个金额,要求一个有向生成树使得金额足够,并且带宽最小值尽量大,求出这个最大值 思路:二分带宽,然后就是最小树形图了 代码: #include #include const int MAXNODE = 65; const int MAXED

Remilia's 1293

UVA - 11865 Stream My Contest

二分找最小的带宽,然后最小树形图求cost#include<iostream> #include<string> #include<cstdio> #include<set> #include<map> #include<stack> #include<list> #include<vector> #include<queue> #include<algorithm> #include<cstrin

圣人惠的博客 313

UVA-11865 - Stream My Contest(最小树形图)

转自:http://www.cnblogs.com/arbitrary/archive/2013/02/17/2915073.html 题意:你需要花费不超过cost元来搭建一个比赛网络。网络中有n台机器,编号0~n-1,其中机器0为服务器,其他机器为客户机。一共有m条可以使用的网线,其中第i条网线的发送端是机器ui,接收端是机器vi(数据只能从机器ui单向传输到机器vi),

xiaoyu1_1的专栏 850

[UVA - 11865]Stream My Contest(最小树形图+朱刘算法)

只是想保存一下朱刘模板

229
上一篇: uva10600 - ACM Contest and Blackout 次小生成树
下一篇: poj2991 Crane 向量旋转+线段树
小小小小葱
博客等级 码龄14年 22粉丝 266原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值