NOIP題解 2018T1(簡單的分治遞迴)

2021-09-27 07:53:32 字數 466 閱讀 7409

這個題乍一看還不太懂咋做,看了樣例的求解過程之後才明白,先找到最小的那個深度,先把它填滿,然後以此為界,分成左右區間,然後遞迴處理,值得注意的是:遞迴出口的設定,當區間只剩下兩個元素的時候,就直接加上最大值即可!

#include #include using namespace std;

const int maxn = 1e5 + 5;

int n, d[maxn], ans;

void solve_(int lo, int hi)

for(int i = lo;i <= hi;i++)

}ans += minv;

for(int i = lo;i <= hi;i++)

d[i] -= minv;

solve_(lo, pos - 1);

solve_(pos + 1, hi);

}int main()

NOIP2018 Day2 T1 旅行 題解

乍一看,一道基環樹。說實話考場上有點懵,day2t1直接上基環樹?再一看,好像只是一道無腦的搜尋加剪枝 對於noip資料範圍,o n 2 是可以可過去的 但是對於那個加強版資料,可能需要乙個筆者不會的超級玄學。好吧不扯了,咱們來看看資料範圍。m n 1的情況比較簡單只需一遍跑一邊搜尋,每次找字典序最...

NOIP2018 T1 鋪設道路

題目描述 春春是一名道路工程師,負責鋪設一條長度為 nn 的道路。鋪設道路的主要工作是填平下陷的地表。整段道路可以看作是 nn 塊首尾相連的區域,一開始,第 ii 塊區域下陷的深度為 d idi 春春每天可以選擇一段連續區間 l,r l,r 填充這段區間中的每塊區域,讓其下陷深度減少 11。在選擇區...

NOIP2018Day1T1 鋪設道路

春春是一名道路工程師,負責鋪設一條長度為 n 的道路。鋪設道路的主要工作是填平下陷的地表。整段道路可以看作是 n 塊首尾相連的區域,一開始,第 i 塊區域下陷的深度為 d i 春春每天可以選擇一段連續區間 l,r 填充這段區間中的每塊區域,讓其下陷深度減少 1 在選擇區間時,需要保證,區間內的每塊區...