jzoj2248 送快遞 很雞兒巧的題

2021-08-11 20:21:55 字數 767 閱讀 7116

(我都不好意思說這是普及組的題了)

petya和vasya被聘為快遞員。在工作日期間,他們將提供包裹到線上的不同點。根據公司的內部規定,包裹的交付必須嚴格按照一定的順序進行。最初,petya處於座標s1的點,vasya位於座標s2的點,n個顧客所需訪問的順序位於點x1,x2,...,xn。

這些人預先同意他們誰將交付給哪些客戶,然後他們的行為如下。當第i個客戶端的包裹被交付時,兩個快遞員中的其中乙個負責去送第i+1個。此時不送快遞員的那個原地不動。即快遞是嚴格按照顧客順序乙個個在送的,乙個快遞員在送的時候,另乙個快遞員是不動的。

由於要相互溝通,這些傢伙有對講機。對講機的工作距離不是很遠,所以petya和vasya想在送快遞的時候,使得他們的最大距離盡可能低。幫助petya和vasya儘量減少他們之間的最大距離,遵守所有交貨規則。

對於100%的資料,n<=100000

智商忽然下線 很顯然要二分最大距離然後判定.

假設現在送到第i個地方,那麼肯定有乙個人待在x[i]這裡 .

存下另乙個人可能的位置

那麼現在考慮從乙個確定的位置和一堆可能的位置 送下乙個快遞

若x[i-1] -> x[i]這段距離不超過m,則有兩種選擇:

當前確定位置的那個人送(另乙個人可能位置不變,不加入x[i-1])

或者 不確定位置的那個人送 (去掉之前所有,加入x[i-1]).

兩種可能拼起來就是在原本基礎上加入x[i-1].

最後由確定位置可以得到另乙個人位置的上下界,不符合的用資料結構篩掉即可。

POJ 2248 迭代加深搜尋

a 0 1 a 1 2 之後每個數可以由前面的任意兩個數相加得到 可以是同乙個數 問得到數字n的最短序列 n最大為100,迭代加深搜尋打表 include stdio.h include string.h int w int pri 110 15 記錄答案 int len 110 數字n所需長度 i...

VS2008編譯時error C2248處理方法

1.問題提出 類中包含clist模板類,且clist的元素是派生自cobject的自定義類時 編譯器報錯資訊 error c2248 cobject operator 無法訪問 private 成員 在 cobject 類中宣告 2.問題分析 原因是與c 類的 複製建構函式 與 複製操作符 有關。對...

解決VC 編譯報錯error C2248的方案

在使用諸如 carray或是 clist等類時,經常會出現此錯誤 此錯誤的原因是由於自定義的類的陣列項時 有乙個操作如 add 在這個操作中,實際上需要乙個 操作,但是這個 操作在 自定義類中沒有實現,於是,程式自動去它的parent 類 也就是 cobject 類去找,但是卻找到個這個類的 是乙個...