P3110 [USACO14DEC]驮运Piggy Back

题目描述

贝西和她的妹妹艾尔斯白天在不同的地方吃草,而在晚上他们都想回到谷仓休息。聪明的牛仔,他们想出了一个计划,以尽量减少他们在步行时花费的总能量。

贝西在从田野走到相邻的地方时,花费B个能量单位,当她走到相邻的地方时,Elsie花费了E个能量单位。但是,如果Bessie和Elsie在同一个领域,Bessie可以携带Elsie在她的肩上,两者都可以移动到相邻的场地,而只花费P个能量单位(P可能比B + E小得多,Bessie的数量而Elsie会单独走到邻近的地方)。如果P非常小,最节能的解决方案可能涉及到Bessie和Elsie前往一个共同的会议场地,然后一起携带搭载旅行到谷仓的其余时间。当然,如果P很大,那么Bessie和Elsie可能最有意义的旅行

分别。在附注中,Bessie和Elsie对“背负”一词不满意,因为他们不明白为什么农场上的猪应该得到这种卓越形式的所有信用

运输。

给定B,E和P以及农场的布局,请计算Bessie和Elsie到达谷仓所需的最低能量。

Bessie和Elsie在不同的区域放牧,他们希望花费最小的能量返回谷仓。从一个区域走到一个相连区域,Bessie要花费B单位的能量,Elsie要花费E单位的能量。

如果某次他们两走到同一个区域,Bessie可以背着Elsie走路,花费P单位的能量走到另外一个相连的区域,满足P <B + E。

相遇后,他们可以一直背着走,也可以独立分开。

输入输出格式

输入格式:

INPUT :(文件piggyback.in)

第一行输入包含正整数B,E,P,N和M.所有这些最多为40,000。B,E和P如上所述。N是场中的字段数(编号为1..N,其中N> = 3),M是字段之间的连接数。Bessie和Elsie分别从1区和2区开始。谷仓住在田间N.

输入中的下一行M行描述了由两个字段的整数索引指定的一对不同字段之间的连接。连接是双向的。总是可以沿着一系列这样的连接从场1到场N,场2到场N。

输出格式:

OUTPUT:(文件piggyback.out)

一个整数,指定最小的能量Bessie和

Elsie集体需要花费到达谷仓。在例子中

这里显示,贝西从1到4,Elsie从2到3

然后,他们一起旅行从4到7到8。

输入输出样例

输入样例#1:

4 4 5 8 8
1 4
2 3
3 4
4 7
2 5
5 6
6 8
7 8 

输出样例#1:

22 
/*三遍bfs分别求以1,2,n为起点的最短路,然后枚举然后枚举两人相遇的点,计算消耗之和即可
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
#define maxn 40010
int bb,ee,p,n,m,num,head[maxn];
long long ans=9000000000;
int a[maxn],b[maxn],c[maxn];
struct node{int to,pre;
}e[maxn*2];
bool vis[maxn];
void Insert(int from,int to){e[++num].to=to;e[num].pre=head[from];head[from]=num;
}
void bfs(int start,int f[]){memset(vis,0,sizeof(vis));queue<int>q;q.push(start);vis[start]=1;while(!q.empty()){int now=q.front();q.pop();for(int i=head[now];i;i=e[i].pre){int to=e[i].to;if(!vis[to]){vis[to]=1;f[to]=f[now]+1;q.push(to);}}}
}
int main(){//freopen("Cola.txt","r",stdin);scanf("%d%d%d%d%d",&bb,&ee,&p,&n,&m);int x,y;for(int i=1;i<=m;i++){scanf("%d%d",&x,&y);Insert(x,y);Insert(y,x);}bfs(1,a);bfs(2,b);bfs(n,c);for(int i=1;i<=n;i++){ans=min(ans,1LL*(bb*a[i]+ee*b[i]+p*c[i]));}cout<<ans;
}

 

转载于:https://www.cnblogs.com/thmyl/p/7388158.html

洛谷P3110 [USACO14DEC]驮运Piggy Back相关推荐

  1. 【洛谷3110】【USACO14DEC】驮运Piggy Back

    题目描述 Bessie and her sister Elsie graze in different fields during the day, and in the evening they b ...

  2. 驮运Piggy Back

    题目描述 Bessie and her sister Elsie graze in different fields during the day, and in the evening they b ...

  3. 洛谷 P3111 [USACO14DEC]牛慢跑Cow Jog_Sliver

    P3111 [USACO14DEC]牛慢跑Cow Jog_Sliver 题目描述 The cows are out exercising their hooves again! There are N ...

  4. 洛谷 P3112 [USACO14DEC]后卫马克Guard Mark

    题目描述 Farmer John and his herd are playing frisbee. Bessie throws the frisbee down the field, but it' ...

  5. 教你如何更改在洛谷里的运势

    如何更改你在洛谷里的运势 你会不会经常满怀期待的打开洛谷 却发现今天的运势是凶 多么令人伤心啊qwq 但是,今天我来教你,如何让运势瞬间变成大吉. 第一步:打开洛谷 然后-没了 第二步:右击写着&qu ...

  6. 洛谷P2904 [USACO08MAR]跨河River Crossing 动态规划

    洛谷P2904 [USACO08MAR]跨河River Crossing 动态规划 区间DP f[ i ] 表示 将 i 头牛 运了过去,然后John 又返回所需要的最少时间 1 #include & ...

  7. 【杂题总汇】NOIP2013(洛谷P1967) 货车运输

    [洛谷P1967] 货车运输 重做NOIP提高组ing... +传送门-洛谷P1967+ ◇ 题目(copy from 洛谷) 题目描述 A国有n座城市,编号从1到n,城市之间有m条双向道路.每一条道 ...

  8. 洛谷OJ上的A+B花(zhuang)式(bi)解法

    转眼间快到了8月,一想自己都毕业好久了,很怀念曾经在各大OJ上刷题的时光,今天无意在一个算法群里看到最近有个叫洛谷的oj网站貌似蛮火的,于是注册了一个下进去看一看,顺手打开了A+B problem,然 ...

  9. 栈——后缀表达式(洛谷 P1449)

    题目选自洛谷P1449 阅读一个后缀表达式的方法是:从左往右读式子,一旦遇到运算法,就往前取n个数,这个n取决于运算法有多少个参数,然后擦掉这些参数和这个运算符,把计算的结果写在那里.接下来重复刚才的 ...

  10. 洛谷P3755 [CQOI2017]老C的任务 题解

    题目传送门 题目描述 老C是个程序员. 最近老C从老板那里接到了一个任务--给城市中的手机基站写个管理系统.作为经验丰富的程序员,老C轻松地完成了系统的大部分功能,并把其中一个功能交给你来实现. 由于 ...

最新文章

  1. 饿了么UI框架element的表格多个弹窗问题
  2. 【Android FFMPEG 开发】Android Studio 工程配置 FFMPEG ( 动态库打包 | 头文件与函数库拷贝 | CMake 脚本配置 )
  3. linux 路径名长度限制,linux下 如何修改命令行提示符路径提示符路径长度
  4. java里的关键字有什么用_java语言关键字有哪些?都有什么用处?
  5. JPA 2 | EntityManagers,事务及其周围的一切
  6. Linux中的shell正则表达式详解
  7. 基于VUE2.0的分页插件
  8. TeamViewer 13界面功能介绍
  9. php国家图书馆opac的marc,国家图书馆OPAC书目信息在图书馆编目中的应用
  10. 算法题 高斯消元解线性方程组(Python)
  11. 加性噪声--传递概率密度函数=噪声概率密度函数
  12. Jcrop实现图片裁剪
  13. 如何写一个简单的时钟表盘(qt)
  14. 支付宝和微信支付合作伙伴RiverPay加速全球化战略布局
  15. ROOT/RStringView.hxx:32:37: error: ‘experimental’ in namespace ‘std’ does not name a type
  16. 在opencv2.4.x版本中处理图像EXIF orientation不统一的问题
  17. 【Debias】Model-Agnostic Counterfactual Reasoning for Eliminating Popularity Bias in RS(KDD‘21)
  18. 远程桌面工具 mRemote
  19. java 捕获 nullpointerexception,Android上无法捕获java.lang.NullPointerException
  20. linux下基于SMTP协议的C++邮件客户端

热门文章

  1. wps-doc文件输出为pdf文件时目录报错“错误!未定义书签”解决方法
  2. wp网站,wordpress网站搭建,wp网站建设教程
  3. 新西兰梅西大学计算机专业研究生,新西兰梅西大学硕士读几年,新西兰专升硕 | 能进八大,还有机会移民,最快1.5年完成!...
  4. java必备基础5(集合list、set、map)
  5. 集成App Linking服务后无法正确跳转到应用的解决方案
  6. Retina 显示屏的网页图片兼容方案
  7. 补肾常见中成药辩驳------右归丸、左归丸与桂附地黄丸、六味地黄丸
  8. 南洋生活,聊聊新加坡的房地产
  9. 用计算机制作母亲贺卡,母亲节电子贺卡制作
  10. Android TextView更换字体