USACO 2009 Dec cow toll paths 過路費-floyd
這道題首先要明確一點,那就是當你從一個點走到自己時,也是需要花費這個點點權值的費用。這個點卡了我兩次QWQ
然後我比較喜歡分兩步搞:
首先,我們利用floyd的一個性質:就是在更新其他點之間的路線時要先引入一個點,而枚舉是按編號
再來看這道題,如果它不要求加點權,那麽就是裸的floyd,所以這道題難點就在於如何確定一條路徑上最大的點,這時就容易讓人想到這道題有一個排序步驟,因為排完序後在每一位都可以確定它前面的點都比它大/小。
好了,那麽顯然是在枚舉的時候,如果我們把小的點先枚舉,大的點後枚舉,不就能保證之前更新的值都小於這個值(也就是說路徑上的值最大為這個枚舉點)了嗎^_^
所以
考慮用f[i][j]來表示以i,j為兩端的最短路,不過值得註意的是,這條路徑上沒有比i,j,k點權更大的點
考慮用dp[i][j]來表示答案,也就是以i,j為兩端,路徑上比較大的點權+總邊權
所以轉移方程就是:
f[i][j]=min(f[i][j],f[i][k]+f[k][j]);
dp[i][j]=min(dp[i][j],f[i][j]+max(a[i],a[j],a[k]);
最後處理一下映射細節就好了
USACO 2009 Dec cow toll paths 過路費-floyd
相關推薦
USACO 2009 Dec cow toll paths 過路費-floyd
span spa 個性 一個點 其他 paths tex 喜歡 後處理 這道題首先要明確一點,那就是當你從一個點走到自己時,也是需要花費這個點點權值的費用。這個點卡了我兩次QWQ 然後我比較喜歡分兩步搞: 首先,我們利用floyd的一個性質:就是在更新其他點之間的路線時要先
P2966 [USACO09DEC]牛收費路徑Cow Toll Paths
any his write mat 最小值 query example rom pro 題目描述 Like everyone else, FJ is always thinking up ways to increase his revenue. To thi
BZOJ1775[USACO 2009 Dec Gold 3.Video Game Troubles]——DP
表示 題目 mat borde can led cstring 背包 遊戲平臺 題目描述 輸入 * 第1行: 兩個由空格隔開的整數: N和V * 第2到第N+1行: 第i+1行表示第i種遊戲平臺的價格和可以在這種遊戲平臺上面運行的遊 戲。包含: P_i, G_i還有
【[USACO09DEC]牛收費路徑Cow Toll Paths】
很妙的一道題,我之前一直是用一個非常暴力的做法 就是列舉點權跑堆優化dijkstra 但是詢問次數太多了 於是一直只有50分 今天終於抄做了這道題,不貼程式碼了,只說一下對這道題的理解 首先點權和邊權不能混在一起,這是公認的,畢竟這個樣子完全沒有辦法處理 那我們為什麼要排序呢,發現其餘幾篇題解好像
[BZOJ] 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐
aps spl 分享 style 兩個 each lan splay onclick 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 786 Sol
BZOJ1729: [Usaco2005 dec]Cow Patterns 牛的模式匹配
space ems ace img 數字出現次數 stdlib.h 表示 計算 scan n<=1e5個數字,給m<=25000個數字做模板串,給的數字都<=25,求n個數中有多少個子串滿足這樣的與模板串匹配:長度與模板串相同,且子串中第一、二、三、……個
BZOJ——1649: [Usaco2006 Dec]Cow Roller Coaster
div a long spec cat 最優 color struct ble ive http://www.lydsy.com/JudgeOnline/problem.php?id=1649 Time Limit: 5 Sec Memory Limit: 64 MBS
BZOJ 1631 Usaco 2007 Feb. Cow Party
main tchar %d div 得出 swa ans pac dijkstra 【題解】 最短路裸題。。 本題要求出每個點到終點走最短路來回的距離,因此我們先跑一遍最短路得出每個點到終點的最短距離,然後把邊反向再跑一遍最短路,兩次結果之和即是答案。 #
USACO 2009 FEB Fair Shuttle 廟會班車 貪心
cap ppr 告訴 strong route walk 大於 OS arr 題目 題目描述 Although Farmer John has no problems walking around the fair to collect prizes or see the
bzoj 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐【dfs】
ace source namespace zoj int printf code sin class 從每個奶牛所在草場dfs,把沿途dfs到的草場的con都+1,最後符合條件的草場就是con==k的,掃一遍統計一下即可 #include<iostream> #
luogu題解 P2860[USACO冗余路徑Redundant Paths] 縮點+橋
getchar clu 節點 names 是我 getc def http rac 題目鏈接 https://www.luogu.org/problemnew/show/P2860 https://www.lydsy.com/JudgeOnline/problem.php?
【USACO 2009 JAN】地震造成的破壞Earthquake Damage(DFS)
std 路徑和 搜索 一個 幸運 for mage push 編號 題目描述 農夫John的農場遭受了一場地震。有一些牛棚遭到了損壞,但幸運地,所有牛棚間的路徑都還能使用。 FJ的農場有P(1 <= P <= 30,000)個牛棚,編號1..P,C(1 <
【USACO 2004 DEC】網絡破壞Tree Cutting(DFS)
pre nbsp \n printf 整數 back push_back sca 如果 題目描述 約翰意識到貝茜建設網絡花費了他巨額的經費,就把她解雇了.貝茜很憤怒,打算狠狠報 復.她打算破壞剛建成的約翰的網絡. 約翰的網絡是樹形的,連接著N(1≤N≤
[USACO 2017 Dec Gold] Tutorial
problem bits c++ first php fin play aps spl Link: USACO 2017 Dec Gold 傳送門 A: B: 將無根樹轉化為有根樹方便計數 明顯樹形$dp$,轉移$dp[i][j]=\prod_{k\in son} dp
[USACO 2016 Dec Gold] Tutorial
lose efi -a clas pan tar per for 決定 Link: 傳送門 A: 貪心從小到大插入,用並查集維護連通性 #include <bits/stdc++.h> using namespace std; #define X firs
[USACO 2009 Feb Gold] Fair Shuttle (貪心+優先隊列)
esp 復雜度 {} pac ted 復雜 include 行程 define 題目大意:有N個站點的輕軌站,有一個容量為C的列車起點在1號站點,終點在N號站點,有K組牛群,每組數量為Mi(1≤Mi≤N),行程起點和終點分別為Si和Ei(1≤Si<Ei≤N)。計算最多
Cow Relays(倍增floyd)
Cow Relays 題目大意 求 s s s到 t t t經過 n
bzoj1729:[Usaco2005 dec]Cow Patterns 牛的模式匹配(kmp+思維)
Problem 有一個 nn 個數的數列 AA,其數字範圍為 11~k(k<=25)k(k<=25) 。 還有 mm 個數 BB。 問從數列 nn 數列取出連續 mm 個數,排名與 B
bzoj 1774: [Usaco2009 Dec]Toll 過路費 ——(改)floyd
ans printf http ges char 表示 read ring view Description 跟所有人一樣,農夫約翰以著寧教我負天下牛,休叫天下牛負我的偉大精神,日日夜夜苦思生 財之道。為了發財,他設置了一系列的規章制度,使得任何一只奶牛在農場中的道路行走,
BZOJ_1774_[Usaco2009 Dec]Toll 過路費_floyd
存在 系列 路徑 有道 pri name span sort urn BZOJ_1774_[Usaco2009 Dec]Toll 過路費_floyd 題意: 跟所有人一樣,農夫約翰以著寧教我負天下牛,休叫天下牛負我的偉大精神,日日夜夜苦思生 財之道。為了發財,他設置了一系列