3.2.6 Sweet Butter香甜的黄油 USACO
题目描述
农夫John发现做出全威斯康辛州最甜的黄油的方法:糖。把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油。当然,他将付出额外的费用在奶牛上。
农夫John很狡猾。像以前的Pavlov,他知道他可以训练这些奶牛,让它们在听到铃声时去一个特定的牧场。他打算将糖放在那里然后下午发出铃声,以至他可以在晚上挤奶。
农夫John知道每只奶牛都在各自喜欢的牧场(一个牧场不一定只有一头牛)。给出各头牛在的牧场和牧场间的路线,找出使所有牛到达的路程和最短的牧场(他将把糖放在那)
输入
第一行: 三个数:奶牛数N,牧场数(2<=P<=800),牧场间道路数C(1<=C<=1450)
第二行到第N+1行: 1到N头奶牛所在的牧场号
第N+2行到第N+C+1行: 每行有三个数:相连的牧场A、B,两牧场间距离D(1<=D<=255),当然,连接是双向的
输出
一行 输出奶牛必须行走的最小的距离和
样例输入
3 4 5
2
3
4
1 2 1
1 3 5
2 3 7
2 4 3
3 4 5
样例输出
8
提示
说明
{样例图形
P2
P1 @--1--@ C1
|
|
5 7 3
|
| C3
C2 @--5--@
P3 P4
} {说明:
放在4号牧场最优
}
解题思路:
最短路
根据题意,本题求的是最短路,主要算法为Dijstra或Floyd(数据小)。
依次枚举把糖放在第i个牧场,到每个有奶牛的牧场的最短路径之和,取最小值,即为所求。
ps:不是所有的牧场都有奶牛,在计算最短路径和时,算的是有奶牛的牧场的最短路径和。
代码:
#include<bits/stdc++.h>
using namespace std;
const int MAXN=810;
const int MAXM=1460;
const int MAXD=510;
int cow[MAXD],cr[MAXN],dis[MAXN][MAXN];
int n,p,m,ans=1e9;
int wq=0;
void floyd(int x)
{wq=0;for(int i=1;i<=p;i++)wq+=dis[x][i]*cr[i];ans=min(ans,wq);
}
int main()
{cin>>n>>p>>m;for(int i=1;i<=n;i++){cin>>cow[i];cr[cow[i]]++;}for(int i=1;i<=p;i++)for(int j=1;j<=p;j++)if(i==j) dis[i][j]=0;else dis[i][j]=1e9;for(int i=1;i<=m;i++){int x,y,z;cin>>x>>y>>z;dis[x][y]=z;dis[y][x]=z;}for(int k=1;k<=p;k++)for(int i=1;i<=p;i++)for(int j=1;j<=p;j++)dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);for(int i=1;i<=p;i++){floyd(i);}cout<<ans<<endl;
}
3.2.6 Sweet Butter香甜的黄油 USACO相关推荐
- Sweet Butter 香甜的黄油
Sweet Butter 香甜的黄油 题目大意:m个点,n头奶牛,p条边,每一头奶牛在一个点上,一个点可以有多只奶牛,求这样一个点,使得所有奶牛到这个点的距离之和最小. 注释:n<=500 , ...
- USACO 3.2.6 Sweet Butter 香甜的黄油(最短路)
Description 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油.当然,他 ...
- USACO 3.2 Sweet Butter 香甜的黄油
Description 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油.当然,他 ...
- SSL-1693 USACO 3.2 Sweet Butter 香甜的黄油 (Bellman DIJ SPFA)
题目大意 找到一个点,使得所有的有黄牛的点到这个点的距离之和最小. 思路 SPFA算法 代码 #include<cstdio> #define INF 2147483648//初始化一个很 ...
- 【图论】【最短路】【SPFA】香甜的黄油 Sweet Butter (luogu 1828)
香甜的黄油 Sweet Butter luogu 1828 题目大意: 有n头奶牛,他们在不同的牧场中,他们之间有一些路,现在要让他们去一个地方吃黄油,使他们的总距离最小 题目描述 农夫John发现做 ...
- 洛谷P1828 香甜的黄油 Sweet Butter
香甜的黄油 Sweet Butter 黄油真的是这么做的吗?!!![惶恐] 这道题是Dijkstra算法的简单变形 通过题意我们要找到一个点使奶牛所在点的路程和最短.通过Dijkstra的模板我们可以 ...
- 信息学奥赛一本通 1345:【例4-6】香甜的黄油 | 洛谷 P1828 [USACO3.2]香甜的黄油 Sweet Butter
[题目链接] ybt 1345:[例4-6]香甜的黄油 洛谷 P1828 [USACO3.2]香甜的黄油 Sweet Butter [题目考点] 1. 图论 最短路径 [解题思路] 将题目叙述转为图论 ...
- [USACO3.2]香甜的黄油 Sweet Butter
香甜的黄油 1.问题分析 2.具体代码 3.总结 题目链接 1.问题分析 模拟一遍过程,就可以发现只需要先跑一遍最短路,再搜出结果就行了. 复习最短路的水题. 2.具体代码 #include < ...
- 香甜的黄油(SPFA)
香甜的黄油(SPFA) Description 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好 ...
最新文章
- 网易伏羲三项研究入选CVPR:AI感知表情能力将达到人类水平
- Fiddler的学习
- POJ 计算几何专项训练(1) 【2318】【2398】【3304】【2653】【1556】【1066】...
- 给文物安全信息化支个招
- flash的Socket通讯沙箱和安全策略问题
- python调用simulink_使用Python从dbc文件中提取simulink建模数据定义
- 心理学Notes:常用心理测量工具的选择
- 移动开发—媒体查询(Media Query)
- 【集群仿真】基于matlab匈牙利算法无人机队形重构集群仿真【含Matlab源码 1498期】
- m3u8视频下载和转码mp4
- 新建的module没有蓝色小块
- imagepreview使用案例_展示组件 ImagePreview 图片预览 - 闪电教程JSRUN
- Python \033显示为[0m
- 以软件测试的角度测试一支笔,软件测试面试:如何测试一支笔(铅笔,钢笔,中性笔)...
- 在网上看别人去韩国的日记
- AutoIt3(AU3)开发的分辨率快速设置工具
- APICloud AVM框架 封装日历组件
- 2005莱卡我型我show里的珍贵友谊
- 苹果手机打开APP显示APP未受信任的解决办法
- 基于JAVA英语课程学习网站计算机毕业设计源码+系统+mysql数据库+lw文档+部署
热门文章
- jsp弹出新窗口代码
- STM32使用ADC+DMA进行多通道模拟量采集 (踩坑及傻瓜式解析)
- GaussDB数据类型介绍
- 通过内网连接GaussDB
- 武大计算机科学与技术弘毅学堂,武汉大学研究生精品课-百余新学子体验“弘毅学堂”...
- signature=0cbbef017ab45816d9cb00aab39ea9bf,乳腺癌术后伴发胃非霍奇金淋巴瘤一例报告
- 攻防世界-pwn-forgot
- 数据结构(C语言)第二版 第一章课后答案
- 沪铅上市十周年 “铅华”与本色尽显
- 2020 EC Final 诸事不顺记