牛客練習賽78 B CCA的搬運(貪心)

2021-10-22 00:21:36 字數 702 閱讀 9746

題目描述

在乙個豎直的洞裡有 n 個有重量的球,需要進行 m 次操作,每次操作需要將其中乙個球拿出來然後放在最上面 。

取出乙個小球放在最上面需要消耗的體力為它上面的小球的重量之和 。

現在給定每次操作需要取的小球的編號,要求出一種初始的放球方案使得消耗的總體力最少 。

思路:尋找初始放球的方案,這是解決題目的關鍵。那麼如何放球會使得消耗的總體力最少?將題目所給的樣例,所有的放球方案都計算一下,可以發現將小球第一次出現的序列作為最終的序列這種放球方案每次消耗的總體力最少。題目只給了乙個樣例,在做題時沒有考慮多次拿乙個小球時的處理辦法,誤認為每個小球只能取一次,注意一下就好了。比如按1 3 2 3 1這個序列,最終的放球方案就是1、3、2,模擬一下即可。還需要注意的是,在取某個小球時,我們需要觀察其前面的取球序列,當取到和這次取得球相同時,本次取球結束,否則將會累計計算,這裡有點繞,好好理解。另外,每次取球以後我們標記為取過,那麼下次在取的時候,則不需要計算,因為上面的操作不管你在怎麼變,對我本次操作是沒有影響的。

**:

#if 1

#include using namespace std;

typedef long long ll;

int main()}}

cout

return 0;

}#endif

牛客練習賽78 補題

b cca的搬運 注意陣列的頭和尾在實際模擬時的情形 include using namespace std const int maxn 1e5 5 int a maxn dp maxn n,m,x1,up maxn ans,sum,vis maxn d,b maxn k,t intmain fo...

牛客練習賽78小結

前言 質量還可以 d.容斥 二項式反演 題目大意 給你n nn個小球,每個小球有乙個顏色a ia i ai 保證一種顏色最多出現兩次。問你多少種排列方式使得相鄰兩項之間顏色不同.n 1 e5 n leq 1e5 n 1e5 題目思路 發現顏色最多出現兩次.我們可以容斥。將恰好轉至少.令f i f i...

牛客練習賽9

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 珂朵莉想每天都給威廉送禮物,於是她準備了n個自己的本子 她想送最多的天數,使得每天至少送乙個本子,但是相鄰兩天送的本子個數不能相同 珂朵莉最多送幾天禮物呢 第一行乙個整...