BZOJ1479 最大获利

bzoj1296【SCOI2009】粉刷匠 DP 阅读详情

题目描述

新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战。THU 集团旗下的 CS&T 通讯公司在新一代通讯技术血战的前夜,需要做太多的准备工作,仅就站址选择一项,就需要完成前期市场研究、站址勘测、最优化等项目。

在前期市场调查和站址勘测之后,公司得到了一共 N 个可以作为通讯信号中转站的地址,而由于这些地址的地理位置差异,在不同的地方建造通讯中转站需要投入的成本也是不一样的,所幸在前期调查之后这些都是已知数据:建立第 i个通讯中转站需要的成本为 P_iPi​ (1≤i≤N)。

另外公司调查得出了所有期望中的用户群,一共 M 个。关于第 i 个用户群的信息概括为 A_iAi​ , B_iBi​ 和 C_iCi​ :这些用户会使用中转站 A i 和中转站 B i 进行通讯,公司可以获益 C_iCi​ 。(1≤i≤M, 1≤A_iAi​ , B_iBi​ ≤N)

THU 集团的 CS&T 公司可以有选择的建立一些中转站(投入成本),为一些用户提供服务并获得收益(获益之和)。那么如何选择最终建立的中转站才能让公司的净获利最大呢?(净获利 = 获益之和 – 投入成本之和)

解析:
最大权闭合子图的基本应用。源点向所有用户连流量为收益的边,所有中转站向汇点连流量为成本的边,用户所需要的中转站,由用户向需要的中转站连inf边,最后用总收益减去最小割(最大流)就是答案,原因很简单,如果割掉用户的边,那么就舍弃掉一部分收益,可以看做损失,如果割掉中转站的边,那么就付出一定代价,可以看做损失,又因为不会割掉INF的边,所以就巧妙的解决了选A必须选B的问题。

代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#define inf 1e9
using namespace std;
struct point
{
    int next;
    int dis;
    int to;
}e[1000010];
int n,m,num,s,t,a,b,c,ans;
int head[600010],h[60010];
void add(int from,int to,int dis)
{
    e[num].next=head[from];
    e[num].to=to;
    e[num].dis=dis;
    head[from]=num++;
}
bool bfs()
{
    memset(h,0,sizeof(h));
    h[s]=1;
    queue<int>q;
    q.push(s);
    while(!q.empty())
    {
        int x=q.front();
        q.pop();
        for(int i=head[x];i!=0;i=e[i].next)
        {
            int to=e[i].to;
            if(!h[to]&&e[i].dis)
            {
                q.push(to);
                h[to]=h[x]+1;
            }
        }
    }
    return h[t];
}
int dfs(int x,int dis)
{
    if(x==t)
        return dis;
    int sum=0;
    for(int i=head[x];i!=0;i=e[i].next)
    {
        int to=e[i].to;
        if(h[to]==h[x]+1&&e[i].dis)
        {
            int diss=dfs(to,min(dis,e[i].dis));
            if(diss>0)
            {
                sum+=diss;
                dis-=diss;
                e[i].dis-=diss;
                e[i^1].dis+=diss;
                if(!dis)
                    break;
            }
        }
    }
    if(!sum)
        h[x]=-1;
    return sum;
}
int dinic()
{
    int tot=0;
    while(bfs())
        tot+=dfs(s,inf);
    return tot;
}
int main()
{
    scanf("%d%d",&n,&m);
    t=m+n+1;
    for(int i=1;i<=n;i++)
    {
        int w;
        scanf("%d",&w);
        add(i,0,0);
        add(0,i,w);
    }
    for(int i=1;i<=m;i++)
    {
        scanf("%d%d%d",&a,&b,&c);
        ans+=c;
        add(i+n,a,0);
        add(a,i+n,inf);
        add(i+n,b,0);
        add(b,i+n,inf);
        add(t,i+n,0);
        add(i+n,t,c);
    }
    printf("%d",ans-dinic());
    return 0;
}


树莓派4B网线直连Windows全流程:从IP查询到SSH登录避坑指南 本文提供了一份详细的树莓派4B通过网线直连Windows电脑的实战指南。核心步骤包括配置Windows网络共享、查询树莓派IP地址以及通过SSH进行安全登录与初始配置。文章深入解析了直连的网络原理,并重点分享了使用CMD命令和工具定位IP、避免常见错误的避坑技巧,帮助用户在没有显示器或路由器的环境下快速完成树莓派初始化。 阅读详情

相关推荐

Surface Pro 4/5/6/7保姆级黑苹果安装:从Windows分区到OC引导配置全流程(含EFI文件替换避坑)

本文详细介绍了在Surface Pro 4/5/6/7上安装黑苹果的全流程,包括Windows分区、OC引导配置和EFI文件替换等关键步骤。通过实战经验分享,帮助用户避开常见陷阱,实现Windows与macOS双系统完美共存,特别适合对黑苹果安装感兴趣的Surface Pro用户。

weixin_30300225的博客 1373

最大获利

问题 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 ...

刘猿猿 389

iTunes备份文件路径修改方法

因为以前的很多帖子iTunes都不是从微软下载的,而现在的iTunes一般都是微软商店里面的,它的路径为:“C:\Users\ 你的用户名 \Apple\MobileSync” (注:用户名,根据个人电脑名称更改)打开iTunes备份路径:“C:\Users\txh\AppData\Roaming\Apple Computer\MobileSync”,其中文件夹MobileSync就是用来存放备份文件的。创建你想备份纯在的目录创建备份文件目录(我的是G:/APPLE/Backup)2.粘贴的剪切文件目录。

尘玥的故事 1万+

省选专练 [NOI2006]最大获利(profit)

模板最大权闭合图。对于边权拆除一个点和两个连上的无穷大边#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #include<queue> using na...

dingwufu9301的博客 311

【Oracle数据库】Oracle11g数据库下载与安装教程(超详细安装图解)

Oracle11g是Oracle公司出的一个比较轻量版的数据库,这里重点说一下在window系统上如何安装Oracle11g, Oracle11g是很早之前的安装包,win7 系统安装时不会遇到环境不满足最低要求的提示,win11系统安装时会提醒环境不满足,修改配置文件即可(注意:先安装oracle服务端/oracle客户端,再安装第三方工具(PL/ SQL Developer,DBeaver等)服务器端环境概述:ORACLE数据库版本:Oracle 11g 64位(11.2.0)

qq_34463511的博客 1万+

【案例讲解】LVGL关于旋转的配置

在实现项目中,因为横竖屏的关系,需要对其做90度的旋转。配置旋转时发现一些局部刷新控件,旋转后效果不对。异常图标正常图标。

Bigan(安)的博客 4284

bzoj1497 NOI2006 最大获利 最小割

woc我真的想打人了,inf值如果不调到最大就tle是什么鬼?????我整整调了将近一个小时啊淦! 。。 连边的话,看amber的论文就好了,然后形成最大权封闭子图,s向正权点连边,负权点向t连边,容量都为权值,可以证明一个方案和一个割一一对应。/************************************************************** Problem:

老臣 976

LangGraph-StateGraph 和 Graph API 源码分析

摘要: StateGraph是LangGraph的核心API,用于构建有状态工作流图。本文分析了其实现原理,包括: 核心类关系:StateGraph(构建器)和CompiledStateGraph(继承自Pregel的可执行图) 关键流程:状态模式到通道的映射、节点到PregelNode的转换 实现特点: 支持TypedDict和Pydantic两种状态模式 自动选择通道类型(LastValue或BinaryOperatorAggregate) 通过映射函数处理节点输入输出 边实现基于通道写入机制 编译过程

838

【bzoj1479】[NOI2006]最大获利

1497: [NOI2006]最大获利 Time Limit:5 SecMemory Limit:64 MBSubmit:4335Solved:2123[Submit][Status][Discuss] Description 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战。THU集团旗下的CS&T通讯公司在新一代通讯技术血战...

anzhi7214的博客 101

YOLOv12超参数智能优化:基于内置Ray Tune的自动化调优实战指南

购买即可解锁300+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,别人有的本专栏也有! 目标检测模型的性能瓶颈往往源于超参数配置不当。传统手动调优方式不仅耗时耗力,且难以找到全局最优解。YOLOv12集成的Ray Tune框架为解决这一难题提供了完整方案,通过分布式异步优化算法,可实现超参数搜索效率的指数级提升。实际测试表明,采用Ray Tune自动调优的YOLOv12模型,在COCO数据集上mAP指标平均提升3.8%,收敛速度加快2.1倍。在VisDrone无人机数据集上的跨域测试

LXY_LOVE36的博客 119

11、体内皮质功能的电压敏感染料成像技术

本文详细介绍了电压敏感染料成像(VSDI)技术在体内皮质功能研究中的应用。内容涵盖VSDI的技术起源、作用机制、信号特点与解读局限性,以及其在映射感觉皮质功能区方面的优势。文章对比了VSDI与电极记录和钙成像技术的差异,突出了其在高时空分辨率下监测神经元群体亚阈值活动的独特价值。同时,提供了完整的实验操作流程,包括手术步骤、染料应用、光学系统配置及数据分析方法,并总结了常见问题及其解决方案。随着基因靶向和多模态技术结合的发展,VSDI有望进一步提升信号特异性和空间精度,成为解析大脑网络动态的重要工具。

Apple的专栏 81

BZOJ2182: [Spoj1479]The GbAaY Kingdom最小直径生成树

图的绝对中心.. http://blog.youkuaiyun.com/crazy_ac/article/details/8816877#include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<queue> #include<algorithm> using namespace std;int f[211]

Don't fake it till you made it 776

k230+CanMV+micropython环境下byte、int、hex、string之间的转换常用函数实测

【代码】k230+CanMV+micropython环境下byte、int、hex、string之间的转换常用函数实测。

weixin_47446386的博客 119

(待更)[学习笔记]数论例题选做1

你来迟了… 当你看到篇博客的时候,这个世界已经发生了翻天覆地的变化。

Panda_Hu's blog 367

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Bzoj1479: [Nerrc1997]Puncher打孔机

1479: [Nerrc1997]Puncher打孔机 Time Limit:5 SecMemory Limit:64 MBSubmit:22Solved:14[Submit][Status][Discuss] Description 打孔机是一种在票上打孔的装置, 假设票是一个M*N的矩阵,矩阵行列间距相等,你可以选择在M*N个位置上打穿或不打穿,这样就有 2^(M*N...

weixin_30361753的博客 58

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

[最小直径生成树 模板题] BZOJ 2180 最小直径生成树 & BZOJ 2182 [Spoj1479] TGK & Ural 1569 Networking the “Iset”

我不会啊 老老实实去学吧 求图的绝对中心 && 最小直径生成树 MDST 绝对重心呢 就是枚举每一条边 然后从这条边上某个坐标 到所有点的最小距离是一条折线 然后用这一组折线乱搞就好了怎么求MDST呢 从绝对重心跑一边最短路径树就好了#include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> using n

雯舞 1102

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【BZOJ 4228】Tibbar的后花园

算法标签:生成函数+多项式操作

forever_dreams的博客 345

【BZOJ3456】城市规划(分治NTT)

累了

DD(XYX)的硫氰化氘博客 483

bzoj1072【SCOI2007】排列perm

状压DP

AaronPolaris 1736

STM32参考设计去哪找?从官方文档到开源社区的全套实战路线

在嵌入式开发中,参考设计是连接芯片手册与实际工程的桥梁,尤其对于STM32这类资源庞大、外设复杂的MCU而言,能否高效获取已验证的硬件方案和代码模板,直接决定项目初期的推进速度。开发者通常面临两类需求:一是快速上手,需要接地气的原理图、例程和教程;二是解决偏门问题,需要从社区中寻找针对特定场景的实践方案。ST官方提供的参考手册、应用笔记与例程包构成了权威基础,正点原子、野火等板卡厂商则降低了学习门槛,而GitHub、Gitee与立创开源广场进一步扩展了设计灵感的边界。围绕ILI9341读ID异常、HAL_D

weixin_33895695的博客 310

【BZOJ-2818】Gcd 线性筛

2818: Gcd Time Limit:10 SecMemory Limit:256 MBSubmit:3347Solved:1479[Submit][Status][Discuss] Description 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. Input 一个整数N Ou...

weixin_30249203的博客 90

BZOJ-2875 随机数生成器 矩阵乘法快速幂+快速乘

题目没给全,吃X了。。。 2875: [Noi2012]随机数生成器 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 1479 Solved: 829 [Submit][Status][Discuss]Description 栋栋最近迷上了随机算法,而随机数生成是随机算法的基础。栋栋准备使用线性同余法(Linear Congruential

DaD3zZ , To be a Beyonder! 724

BZOJ2241:打地鼠(二维前缀和 & 思维)

2241: [SDOI2011]打地鼠Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1479  Solved: 946[Submit][Status][Discuss]Description打地鼠是这样的一个游戏:地面上有一些地鼠洞,地鼠们会不时从洞里探出头来很短时间后又缩回洞中。玩家的目标是在地鼠伸出头时,用锤子砸其头部,砸到的地鼠越多分数也就越

junior19的博客 585
上一篇: BZOJ1458 士兵占领
下一篇: BZOJ3144 切糕
Slr2002
博客等级 码龄9年 3粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值