P2514-[HAOI2010]工厂选址【贪心】

正题

题目链接:https://www.luogu.org/problemnew/show/P2514


题目大意

有一个厂,需要bbb吨煤炭,然后第jjj个矿运到该厂的运费为c0,jc_{0,j}c0,j,运行总费用为运费之和加上h0h_0h0

现在在1∼n1\sim n1n挑选一个建一个新厂,其余的煤矿都运到这个厂,第jjj个矿运到该厂的运费为ci,jc_{i,j}ci,j,运行费用为运费之和加上hih_ihi

求最小费用。


解题思路

很简单的一道贪心题,显然我们将最优的bbb吨运到旧厂。

我们枚举建立在哪个厂,然后对于每个矿将c0,j−ci,jc_{0,j}-c_{i,j}c0,jci,j进行从小到大排序,然后将最小的bbb吨运入旧厂就行了。


codecodecode

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=55,M=55000;
struct node{int w,num;
}d[M];
int m,b,H,n,a[M],h[N],c[N][M],ans,mins=2147483647,p;
bool cmp(node x,node y)
{return x.w<y.w;}
int main()
{scanf("%d%d%d%d",&m,&b,&H,&n);for(int i=1;i<=m;i++)scanf("%d",&a[i]);for(int i=1;i<=n;i++)scanf("%d",&h[i]);for(int i=0;i<=n;i++)for(int j=1;j<=m;j++)scanf("%d",&c[i][j]);for(int i=1;i<=n;i++){ans=H+h[i];for(int j=1;j<=m;j++)d[j]=(node){c[0][j]-c[i][j],a[j]},ans+=c[i][j]*a[j];sort(d+1,d+1+m,cmp);int k=b;for(int j=1;j<=m&&k;j++)if(k>=d[j].num)k-=d[j].num,ans+=d[j].w*d[j].num;else if(k<d[j].num)ans+=k*d[j].w,k=0;if(ans<mins)mins=ans,p=i;}printf("%d\n%d",p,mins);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/322348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Scala与Java差异(三)之函数

一、函数定义 &#xff08;1&#xff09;函数的定义与调用 在Scala中定义函数时&#xff0c;需要定义函数的函数名、参数、函数体。 第一个函数如下所示&#xff1a; def sayHello(name: String, age: Int) {if (age > 18) { printf("hi %s, you are a big boy\n&…

(十二)C3P0连接池使用教程

一般我们在项目中操作数据库时&#xff0c;都是每次需要操作数据库就建立一个连接&#xff0c;操作完成后释放连接。因为jdbc没有保持连接的能力&#xff0c;一旦超过一定时间没有使用&#xff08;大约几百毫秒&#xff09;&#xff0c;连接就会被自动释放掉。而每次新建连接都…

通过Chocolatey软件包管理器安装.NET Core

在Linux的世界里&#xff0c;有了yum/apt-get百分之九十的软件都可以通过它来安装管理。但是在Windows系统上&#xff0c;装个软件还是挺折腾的。比如我要装个Chrome浏览器&#xff0c;我先得打开IE浏览器吧&#xff0c;我还打不开Chrome的官网吧&#xff0c;得百度吧&#xff…

P3100-[USACO14JAN]建造滑雪场【贪心,dp】

正题 题目链接:https://www.luogu.org/problemnew/show/P3100 题目大意 一个空矩阵&#xff0c;每次可以将B∗BB*BB∗B的矩阵覆盖为RRR或者BBB。 求BBB最大是多少使得可以覆盖使得原矩阵成为目标矩阵。 解题思路 我们考虑贪心&#xff0c;先分析一下性质。 假设答案为kkk&…

Scala与Java差异(四)之数组操作

一、数组操作之Array、ArrayBuffer以及遍历数组 &#xff08;1&#xff09;Array 在Scala中&#xff0c;Array代表的含义与Java中类似&#xff0c;也是长度不可改变的数组。此外&#xff0c;由于Scala与Java都是运行在JVM中&#xff0c;双方可以互相调用&#xff0c;因此Scal…

(十三)RabbitMQ使用详解

RabbitMQ是基于AMQP的一款消息管理系统。AMQP(Advanced Message Queuing Protocol)&#xff0c;是一个提供消息服务的应用层标准高级消息队列协议&#xff0c;其中RabbitMQ就是基于这种协议的一种实现。 常见mq&#xff1a; ActiveMQ&#xff1a;基于JMSRabbitMQ&#xff1a;…

ASP.NET Core Web API下事件驱动型架构的实现(二):事件处理器中对象生命周期的管理

在ASP.NET Core Web API下事件驱动型架构的实现&#xff08;一&#xff09;&#xff1a;一个简单的实现中&#xff0c;我介绍了事件驱动型架构的一种简单的实现&#xff0c;并演示了一个完整的事件派发、订阅和处理的流程。这种实现太简单了&#xff0c;百十行代码就展示了一个…

和某ZYC巨佬和XXY巨佬的随机挑战2总结

前言 一切的起点在那个炎热的酷暑&#xff0c;菜的一批的WYCWYCWYC坐在最容易被∗*∗的左下角。这时他永远都想不到&#xff0c;他与巨佬之间的挑战&#xff0c;即将开始。 正题 规则 随机跳333到蓝题&#xff0c;然后写完。 完成记录 题目博客 T1:P3100−[USACO14JAN]T1:P31…

(十四)消息中间件MQ详解及四大MQ比较

一、消息中间件相关知识 1、概述 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能&#xff0c;成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件&#xff0c;如老牌的ActiveMQ、RabbitMQ&a…

jzoj3301-[集训队互测2013]家族【并查集,暴力】

正题 题目大意 一个图每个边有不同的频率&#xff0c;对于大小为xxx的联通可以共享价值wxw_xwx​。现在要去保留一段频率内的边&#xff0c;使得剩下的联通分量价值之和至少为KKK。 求最小的保留频率宽度。 解题思路 首先将频率进行排序&#xff0c;然后愉快的发现不满足二分…

g4e基础篇#3 Git安装与配置

现在你已经对Git有了最基本的了解&#xff0c;现在让我们开始动手开始安装和配置Git环境。Git工具包括Git命令行工具&#xff0c;图形化工具和服务器环境&#xff1b;在我们这个教程中&#xff0c;我们会使用以下软件配置我们的环境&#xff1a;• Windows 操作系统&#xff08…

Scala与Java差异(五)之Map与Tuple

一、 创建Map &#xff08;1&#xff09;创建Map // 创建一个不可变的Map val ages Map("Leo" -> 30, "Jen" -> 25, "Jack" -> 23) ages("Leo") 31 // 创建一个可变的Map val ages scala.collection.mutable.Map("…

jzoj3302-[集训队互测2013]供电网络【上下界网络流,费用流,动态加边】

正题 题目大意 若干个城市一些城市有一定的电&#xff0c;有些城市需要一定的电。对于第iii个城市购买一个电需要iniin_iini​&#xff0c;送出电需要outiout_iouti​。当然城市之间也可以相互传输电。 对于一条电缆(x,y,a,b,l,r)(x,y,a,b,l,r)(x,y,a,b,l,r)表示x−>yx-&g…

Mybatis生成器插件扩展,生成findInSet方法

Mybatis生成器插件扩展&#xff0c;生成findInSet方法 public Criteria andNameFindInSet(String value) {addCriterionPattern("find_in_set($value, name)", value, "name");return (Criteria) this;}public Criteria andNamePattern(String pattern, S…

[认证授权] 6.Permission Based Access Control

在前面5篇博客中介绍了OAuth2和OIDC&#xff08;OpenId Connect&#xff09;&#xff0c;其作用是授权和认证。那么当我们得到OAuth2的Access Token或者OIDC的Id Token之后&#xff0c;我们的资源服务如何来验证这些token是否有权限来执行对资源的某一项操作呢&#xff1f;比如…

P4841,jzoj3303-城市规划【NTT,多项式求逆,dp】

正题 题目链接:https://www.luogu.org/problemnew/show/P4841 题目大意 求nnn个点的简单联通无向图的个数。 解题思路 首先考虑n2n^2n2&#xff0c;我们设gig_igi​表示iii个点的简单无向图的个数&#xff0c;显然gi2n(n−1)2g_i2^{\frac{n(n-1)}{2}}gi​22n(n−1)​ 然后我…

微软发布PowerShell Core第一个版本:支持多平台开发

微软旗下的PowerShell团队正式宣布推出PowerShell Core 6.0&#xff0c;非常诡异的是这明明是Core的第一个版本&#xff0c;但是却用了一个6.0后缀的版本号。“这是我们对PowerShell做出的最大最重要的改变&#xff01;”微软技术研究员兼PowerShell创始人Jeffrey Snover在Twit…

Mybatis生成器插件扩展,定制方法生成,list参数生成

Mybatis生成器插件扩展&#xff0c;定制方法生成 public Criteria andNameIsEmpty() {addCriterion("name ");setCriterionPattern();return (Criteria) this;}public Criteria andNameFindInSet(String value) {addCriterion("find_in_set($value, name)"…

欢乐纪中某A组赛【2019.7.5】

前言 被花式暴虐&#xff0c;T1T1T1签到后两题神仙 成绩 JJJ表示初中&#xff0c;HHH表示高中后面加的是几年级 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC111(J−3)ZZY(J-3)ZZY(J−3)ZZY200200200100100100100100100000888(J−3)WHF(J-3)WHF(J−3)WHF145145145…

Mybatis生成器插件扩展,生成OR操作

Mybatis生成器插件扩展&#xff0c;生成OR操作 ManExample example new ManExample();ManExample.Criteria and example.createCriteria();and.andNameIsEmpty().andNameFindInSet("a").andNameFindInSetIn(Arrays.asList("1", "2", "3&q…