P2339 提交作業usaco 區間dp

2022-04-06 01:31:53 字數 1527 閱讀 5608

usaco

貝西在哞哞大學選修了 c 門課,她要把所有作業分別交給每門課的老師,然後去車站和同學們一起回家。每個老師在各自的辦公室裡,辦公室要等他們下課後才開,第 i 門課的辦公室將在 ti 分鐘後開放。

所有的辦公室都在一條筆直的走廊上,這條走廊長 h 個單位,一開始貝西在走廊的盡頭一側,位於座標為 0 的地方。第 i 門課的辦公室座標位於座標為 xi 的地方,車站的座標為 b。貝西可在走廊上自由行走,每分鐘可以向右或者向左移動乙個單位,也可以選擇停著不移動。如果走到一間已經開門的辦公室,貝西就可以把相應的作業交掉了,走進辦公室交作業是不計時間的。請幫助貝西計算一下,從她開始交作業開始,直到到交完所有作業,再走到車站,最短需要多少時間時間。

輸入格式:

輸入格式

• 第一行:三個整數 c, h 和 b, 1 ≤ c ≤ 1000 , 1 ≤ h ≤ 1000 , 0 ≤ b ≤ h

• 第二行到 c + 1 行:第 i + 1 行有兩個整數 xi 和 ti, 0 ≤ xi ≤ h , 0 ≤ ti ≤ 10000

輸出格式:

輸出格式

• 單個整數,表示貝西交完作業後走到車站的最短時間

輸入樣例#1: 複製

4 10 3

8 94 21

3 16

8 12

輸出樣例#1: 複製

22

走到座標 8 處,第 9 分鐘交一本作業,等到第 12 分鐘時,交另一本作業。再走到座標 4 處交作業,最後走到座標 3 處,交最後一本作業,此地就是車站所在位置,共用時 22 分鐘

/*

直接想dp不好設狀態,那就看看有什麼性質......

容易想到把教室排序,如果一段區間[l,r]

先選外側的教室交作業一定比先選裡面的再出來再去另一邊更優

那麼答案就可以從外往裡遞推而來

再就是這種也可以向左也可以向右的題目一般來說都是轉化為區間dp

f[l][r][0/1]表示決策到[l,r]這段區間,區間外的都已滿足,選則l/r交作業的最短時間

轉移看從那個教室移動過來即可。

*/#include

#define n 1007

using

namespace

std;

intn,m,ans,cnt;

int f[n][n][2

];struct

node

}a[n];

inline

intread()

while(c>='

0'&&c<='9')

return x*f;

}int

main()

ans=0x3f3f3f3f

;

for (int i=1;i<=c;i++)

ans=min(ans,f[i][i][0]+abs(a[i].pos-b));

printf(

"%d\n

",ans);

return0;

}

python如何提交作業 提交作業

1.提交作業 1.1 簡單作業 如果您已經按照準備工作裡的步驟配置了預設映象 例項型別和網路型別,可以通過以下的簡單命令提交乙個作業。bcs sub echo 123 提交乙個單任務作業,執行 echo 123 如果您沒有對命令列工具進行過預設配置,需要在提交的時候指定更多的選項。bcs sub e...

Spark Yarn 提交作業

初學spark時,部署的是standalone模式 整合了ha 寫的測試程式一般建立上下文時如下 此處master設定為管理節點的集群位址 spark webui上顯示的位址 之後將測試 打包成jar包,上傳到伺服器,使用spark submit提交作業。提交命令 spark submit mast...

Oozie提交作業總結

最常用的就是通過命令列方式提交,見yarn和hdfs的呼叫方式彙總中的 使用oozie提交yarn作業環節。使用rest的方式顯然更通用,當然原理與上述完全一致。首先在hdfs上建立相應工作空間目錄 user workspaces,放置oozie要用到的workflow.xml,並建立lib資料夾,...