問題 G Brannn愛旅遊

2021-10-08 06:18:21 字數 974 閱讀 7240

brannn 熱愛旅遊,在大學四年裡一共遊覽了 n 個不同的景區,並對每個景區評分,其中第 i 個景區的評分為 a[i],現在 brannn 想從這 n 個景區中挑出其中的 2 個,使得這兩個景區的組合得分最高。

景區 i 和 景區 j (i請你幫 brannn 選擇一對景區,使得它們能夠取得的組合得分最高。

單組輸入,第一行為乙個整數 n 表示景區的數量。(2<=n<=50000)

第二行一共 n 個整數 a[0],a[1],...,a[n-1],分別對應 n 個景區的評分。(1<=a[i]<=20000)

輸出乙個整數,表示能夠取得的最高組合得分。

5

8 1 5 2 6

11
超時75%,o(n^2)就會超時

#include#includeusing namespace std;

int main()

}b[j]=max;

}sort(b,b+n);

cout《題型: 字首 / 字尾最大值

o (n^2)==>o(n)

先計算a[j]-j,找出最大的a[j]-j

再計算s[i]+i,加上之前計算出的a[j]-j,尋找最大的和

#include using namespace std;

const int n = 5e4 + 100;

int n;

int s[n];

int dp[n];

void solve()

for (int i=n-2; i>=0; i--)

int res = int_min;

for (int i=0; i> n;

for (int i=0; i> s[i];

// ∂『」⁄j œ¨ª§a[i] + a[j] + i - j (i < j)

solve();

return 0;

}

虛擬旅遊 宅人新愛

這是虛擬旅遊 中的羅浮宮,你看出來了嗎?只要輕點滑鼠,就可逛逛羅浮宮,爬爬阿爾卑斯山 通常不用半小時,就可從故宮遊到白宮,這便是當下最熱的虛擬旅遊。跟護照說byebye,也無需擔心酒店與機票,如此簡單便捷的方式實現環遊世界的夢想,受到了白領和宅男宅女的追捧。身臨其境的網上旅行 可扮演格格遊覽紫禁城 ...

2017 03 04 天天愛旅遊

天天突發奇想,要去 g 地,於是他搞來了一張地圖,看怎麼走才好。地圖上有很多城市,g 地也是一座城市。每兩座城市之間都可能有直達方法,也有可能 兩座城市之間並不能直接相通,而要通過其他的城市轉達。對於兩個城市之間的直達方法,需要一定的時間,當然,如果從 a 城市到 b 城市的直達方法需要 t 時間,...

城市旅遊問題

在你要去的城市中,都有四個機場,且在乙個平行四邊形上,他們有地鐵與相臨的機場相連.城市間只有飛機可達.機票與地鐵是按里程計算的,機票是統一的,地鐵由城市自定.由乙個城市去另乙個城市,要找你在a城市到b城市的位置可以使花費最少 include include include define max 20...