[USACO3.2]香甜的黄油 Sweet Butter

2023-10-29 08:18

本文主要是介绍[USACO3.2]香甜的黄油 Sweet Butter,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

香甜的黄油

  • 1.问题分析
  • 2.具体代码
  • 3.总结

题目链接

1.问题分析

模拟一遍过程,就可以发现只需要先跑一遍最短路,再搜出结果就行了。
复习最短路的水题。

2.具体代码

#include <bits/stdc++.h>using namespace std;const int N = 810, M = 3000,INF = 0x3f3f3f3f;
int n,p,c;
int sh[N];
int h[N],w[M],e[M],ne[M],idx;
int d[N];
bool st[N];
void add(int a,int b,int v)
{w[idx]=v;e[idx]=b;ne[idx]=h[a];h[a]=idx++;
}int spfa(int v)
{queue<int> heap;memset(d,0x3f,sizeof d);//memset(st,false,sizeof st);d[v]=0;st[v]=true;heap.push(v);while(heap.size()){auto t=heap.front();heap.pop();st[t]=false;for(int i=h[t];~i;i=ne[i]){int j=e[i];if(d[j]>d[t]+w[i]){d[j]=d[t]+w[i];if(!st[j]){st[j]=true;heap.push(j);}}}}int out=0;for(int i=0;i<n;i++){int now=sh[i];if (d[now] == INF) return INF;out+=d[now];}return out;
}
int main()
{memset(h,-1,sizeof h);scanf("%d%d%d",&n,&p,&c);for(int i=0;i<n;i++)scanf("%d",&sh[i]);for(int i=0;i<c;i++){int a,b,v;scanf("%d%d%d",&a,&b,&v);add(a,b,v),add(b,a,v);}int ans=0x3f3f3f3f;for(int i=1;i<=p;i++){ans=min(ans,spfa(i));}cout<<ans<<endl;return 0;
}

3.总结

用cin;cout被卡了。

这篇关于[USACO3.2]香甜的黄油 Sweet Butter的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/299405

相关文章

P2730 [USACO3.2] 魔板 Magic Squares

[USACO3.2] 魔板 Magic Squares 题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板。这是一张有 8 8 8 个大小相同的格子的魔板: 1 2 3 4 1\quad2\quad3\quad4 1234 8 7 6 5 8\quad7\quad6\quad5 8765 题目描述 我们知道魔板的每一个方格都有一种颜色。这 8 8 8 种颜

Butter Knife 8

// 部分代码省略… @Override public View getView(int position, View view, ViewGroup parent) { ViewHolder holder; if (view != null) { holder = (ViewHolder) view.getTag(); } else {

Android Butter Knife使用详解

1. 简介2. 使用场景代码示例 2.1 Activity下使用Butter Knife2.2 资源类绑定2.3 非Activity场景——Fragment中绑定2.4 非Activity场景——Adapter中绑定2.5 其他特性2.6 监听器绑定2.7 重置绑定2.8 可选绑定2.9 对包含多个监听方法的绑定——ListView OnItemSelectedListener2.10 B

UVA 10497 - Sweet Child Makes Trouble(DP+高精度)

题目链接:10497 - Sweet Child Makes Trouble 题意:n个物品,原来物品属于一个地方,现在要把物品重新放回去,问能放几种使得每个物品都与原来位置不同 思路:递推,一开始随便搞了个二维状态,dp[i][j]表示i个物品,有j个位置不同,那么dp[n][n]就是答案,递推式为: dp[i][j] = 1 (j == 0) dp[i] [j]

P1134 [USACO3.2] 阶乘问题

题目传送门: P1134 [USACO3.2] 阶乘问题 29分代码  #include<bits/stdc++.h>using namespace std;int main(){int n;cin>>n;unsigned long long s=1;for(int i=1;i<=n;i++){s*=i;while(s>10){if(s%10==0) s/=10;else s=s%10;}

算法提高之香甜的黄油

算法提高之香甜的黄油 核心思想:spfa 遍历所有点作为起点 spfa求最短路最后求和返回 求最小 #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 810,M = 3000,INF = 0x3f3f3f3f;int n,p,m;int id[N];int

Android Studio集成Sweet Alert Dialog报错(Error:Execution failed for task ':app:processDebugManifest'.)

Sweet Alert Dialog项目地址: https://github.com/pedant/sweet-alert-dialog/blob/master/README.zh.md 导入方式: Gradle dependencies { compile ‘cn.pedant.sweetalert:library:1.3’ } 方案来源:http://www.tuicool.co

3月黄油奶酪行业数据分析:安佳和妙可蓝多领军市场

近些年来,随着新消费主义盛行,老少皆宜的黄油和奶酪逐渐成为都市年轻人的烘培“新宠”。 今年3月份,黄油奶酪表现的中规中矩,处在稳定发展阶段。根据鲸参谋数据显示,3月份,在线上综合电商平台(京东天猫淘宝)上黄油奶酪共卖出了将近360万件,环比上个月上涨了45%;销售额累计约1.5亿元,环比上个月上涨32%。 *数据源于鲸参谋(来自公开渠道获取与统计,数据仅供参考) 观察黄油奶酪产品的价

# [USACO3.2] 魔板 Magic Squares

[USACO3.2] 魔板 Magic Squares 题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板。这是一张有 8 8 8 个大小相同的格子的魔板: 1 2 3 4 1\quad2\quad3\quad4 1234 8 7 6 5 8\quad7\quad6\quad5 8765 题目描述 我们知道魔板的每一个方格都有一种颜色。这 8 8 8 种颜

sweet buffer

#include<stdio.h>#define INF 1<<30 //定义无穷const int MAXP=808,MAXN=508;//最大农场数目int cows[MAXN];//牛所在牧场int numOfCow[MAXN];//牧场牛的数量int minLength[MAXP][MAXP];//两牧场之间的最小路径长度bool isInQue[MAXP];//检查是否已进队