洛谷P1828 香甜的黃油 Sweet Butter

香甜的黃油 Sweet Butter

黃油真的是這么做的嗎?!!![惶恐]
這道題是Dijkstra算法的簡單變形
通過題意我們要找到一個點使奶牛所在點的路程和最短。通過Dijkstra的模板我們可以求的一點到其他任一點的最短路徑,那么我們可以遍歷所有點跑一邊Dijkstra,每個點的最后把奶牛所在點的dis相加,最后將每個點的路程和進行比較,輸出最短。
AC代碼如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#include<vector>
#define INF 0x3f3f3f3f
#define MAXN 1000
using namespace std;vector<int> G[MAXN];
vector<int> M[MAXN];int cow[MAXN];
int dis[MAXN];
int done[MAXN];struct item
{int u;int dis;friend bool operator < (struct item x,struct item y){return x.dis>y.dis;}
};priority_queue<item> q;
int mn=INF;
int main()
{int n,p,c;scanf("%d%d%d",&n,&p,&c);for(int i=1;i<=n;i++){scanf("%d",&cow[i]);}for(int i=1;i<=c;i++){int x,y,z;scanf("%d%d%d",&x,&y,&z);G[x].push_back(y);M[x].push_back(z);G[y].push_back(x);M[y].push_back(z);}for(int i=1;i<=p;i++){memset(dis,0x3f,sizeof(dis));memset(done,0,sizeof(done));q.push((item){i,0});dis[i]=0;while(!q.empty()){item r;r=q.top();q.pop();int au=r.u;if(done[au]) continue;done[au]=1;for(int j=0;j<G[au].size();j++){int p=G[au][j];int c=dis[au]+M[au][j];if(dis[p]>c){dis[p]=c;q.push((item){p,c});}}}int total=0;for(int j=1;j<=n;j++){if(cow[j]==INF) continue;total=total+dis[cow[j]];}mn=min(mn,total);}printf("%d",mn);return 0;
}

轉載于:https://www.cnblogs.com/LITTLESUNwl/p/10757313.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387789.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387789.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387789.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JAVA List集合轉Page(分頁對象)

/*** version 1.0* author: fwjia*/ import java.util.List;public class PageModel<T> {/**** 當前頁*/private int page 1;/**** 總頁數*/public int totalPages 0;/**** 每頁數據條數*/private int pageRecorders;/**** 總頁數*/private int totalRows 0;/**** 每頁…

分區分表實驗用的語句

--查看索引 select * from DBA_IND_PARTITIONS &#xff54;; select status,t.* from dba_indexes t where t.OWNERGANSUSC; select count(*) from ACT_HI_VARINST SELECT ALTER INDEX || TABLE_OWNER || . || INDEX_NAME || UNUSABLE; UNUSABLE_INDEX FROM ALL_INDEX…

分布式數據庫數據一致性的原理、與技術實現方案

http://youzhixueyuan.com/the-principle-and-technology-realization-of-distributed-data-consistency.html 背景 可用性&#xff08;Availability&#xff09;和一致性&#xff08;Consistency&#xff09;是分布式系統的基本問題&#xff0c;先有著名的CAP理論定義過分布式…

模塊之re模塊 —— 正則

#‘match’只匹配從左向右第一個值是否在中括號的范圍內&#xff0c;如果沒有就返回None 如果有就直接打印一個對象&#xff0c;加上.group()就可以返回你要找的區間里面的值&#xff0c;如果沒有找到對應的值&#xff0c;加上‘.group()’會報錯 #‘search’ 默認是從整個st…

centos7 docker

Docker 是一個開源工具&#xff0c;它可以讓創建和管理 Linux 容器變得簡單。容器就像是輕量級的虛擬機&#xff0c;并且可以以毫秒級的速度來啟動或停止。Docker 幫助系統管理員和程序員在容器中開發應用程序&#xff0c;并且可以擴展到成千上萬的節點。 容器和 VM&#xff08…

批處理ping指定ip列表

for /f in (filename) do (command) for /f %i in (C:\ip.txt) do (ping %i -n 1 && echo %i 通 >>IP.txt || echo %i 不通 >>IP1.txt) 有返回寫入ip.txt 沒有寫入ip1.txt轉載于:https://blog.51cto.com/2216859/2384188

Intellij Idea 2017創建web項目及tomcat部署實戰

相關軟件&#xff1a;Intellij Idea2017、jdk16、tomcat7 Intellij Idea直接安裝&#xff08;可根據需要選擇自己設置的安裝目錄&#xff09;&#xff0c;jdk使用1.6/1.7/1.8都可以&#xff0c;主要是配置好系統環境變量&#xff0c;tomcat7上tomcat的官網下載壓縮包解壓即可。…

docker ssh

1&#xff0c;首先&#xff0c;需要從Docker官網獲得centos或Ubuntu鏡像 2&#xff0c;當本地已有Ubuntu鏡像后&#xff08;大概200M左右大小&#xff09;&#xff0c;使用如下命令 [cpp]view plaincopy docker run -t -i ubuntu /bin/bash 即可啟動一個容器&#xff0c;并放…

[BFS]JZOJ 4672 Graph Coloring

Description 現在你有一張無向圖包含n個節點m條邊。最初&#xff0c;每一條邊都是藍色或者紅色。每一次你可以將一個節點連接的所有邊變色&#xff08;從紅變藍&#xff0c;藍變紅&#xff09;。找到一種步數最小的方案&#xff0c;使得所有邊的顏色相同。Input 第一行包含兩個…

實現繼承的方式

/*** 借助構造函數實現繼承*/function Parent1(){this.name "parent1";}Parent1.prototype.say function(){};function Child1(){//將父構造函數的this指向子構造函數的實例上Parent1.call(this);//applythis.type "child1";}console.log(new Child1);/…

Vue源碼: 關于vm.$watch()內部原理

vm.$watch()用法 關于vm.$watch()詳細用法可以見官網。 大致用法如下: <script>const app new Vue({el: "#app",data: {a: {b: {c: c}}},mounted () {this.$watch(function () {return this.a.b.c}, this.handle, {deep: true,immediate: true // 默認會初始化…

docker啟動順序

VMDocker: 用戶名:root 密碼:XXXXXXXXXXXXX docker run -i -t -d -p 8081:8080 -p 23:22 67591570dd29 /bin/bash 常用命令 啟動停止: service docker start service docker stop 所有鏡像:docker images 當前執行:docker ps 提交保存docker容器: docker commit 進入到對應服…

js時鐘倒計時

JS倒計時Date 代碼如下&#xff1a; 1 <style type"text/css">2 * {3 margin: 0;4 padding: 0;5 }6 7 #box {8 border: 1px solid cyan;9 background-color: #000; 10 height: 50px; 11 width: 500px; 12 margin: 100px auto 0; 13 border-radius: 20px; 14 te…

JAVA的值傳遞問題

為什么 Java 中只有值傳遞&#xff1f; 首先回顧一下在程序設計語言中有關將參數傳遞給方法&#xff08;或函數&#xff09;的一些專業術語。按值調用(call by value)表示方法接收的是調用者提供的值&#xff0c;而按引用調用&#xff08;call by reference)表示方法接收的是調…

小程序如何封裝自定義組件(Toast)

1、創建和pages 同級的component目錄新建一個myToast目錄 例如: 2、myToast.wxml文件內容: <!-- 自定義toast組件 --> <!-- name 模塊名稱 --><template name"toast" ><!-- catchtouchmove‘xxx’ 遮罩層的滾動穿透 --><!-- isHide 顯示…

2017 百度杯丶二月場第一周WP

1.禍起北荒 題目&#xff1a; 億萬年前 天子之子華夜&#xff0c;被父神之神末淵上神告知六荒十海之北荒西二旗即將發生一場“百度杯”的諸神之戰 他作為天族的太子必須參與到此次諸神之戰定六荒十海 華夜臨危受命&#xff0c;馬上帶著火鳳凰飛行到北荒“西二旗” 卻沒想到這六…

docker保存對容器的修改

Docker 子命令: attach commit diff export history import insert kill login port pull restart rmi save start tag version build cp events help images info inspect load logs ps …

中國涉5.9億份簡歷信息泄露

據美國科技媒體ZDNet報道&#xff0c;有研究人員發現&#xff0c;中國企業今年前3個月出現數起簡歷信息泄漏事故&#xff0c;涉及5.9億份簡歷。大多數簡歷之所以泄露&#xff0c;主要是因為MongoDB和ElasticSearch服務器安全措施不到位&#xff0c;不需要密碼就能在網上看到信息…

阿里云亮相2019聯通合作伙伴大會,邊緣計算等3款云產品助力5G時代產業數字化轉型...

4月23日&#xff0c;2019中國聯通合作伙伴大會在上海正式開幕&#xff0c;本次大會以“合作不設限&#xff0c;共筑新生態”為主題&#xff0c;涉及5G、邊緣計算、云計算、物聯網、新媒體、人工智能、互聯網化等各領域超過600家合作伙伴與3萬名各行業觀眾參會。據了解&#xff…