刷題記錄12

2021-10-10 16:10:48 字數 449 閱讀 7584

某條街被劃為 n 條路段,這 n 條路段依次編號為1\dots n1…n。每個路段最多可以種一棵樹。現在居民們給出了 h 組建議,每組建議包含三個整數 b,e,t,表示居民希望在路段 b 到 e 之間至少要種t棵樹。這些建議所給路段的區間可以交叉。請問:如果要滿足所有居民的建議,至少要種多少棵樹。

【**】

#includeusing namespace std;

int n,h;

struct edu

a[5010];

bool use[30005];

int ans=0,k;

bool cmp(edu x,edu y)

} }cout<【感悟】

要輸出種樹的最少數量,符合貪心的定義:輸出最優的策略。本題的關鍵是運用布林型別來解決該棵數是否需要種下,並保證在最優的條件下種下,最後記錄種樹的最優棵數。

leetcode刷題記錄 12 簡單

題目 給定兩個非空二叉樹 s 和 t,檢驗 s 中是否包含和 t 具有相同結構和節點值的子樹。s 的乙個子樹包括 s 的乙個節點和這個節點的所有子孫。s 也可以看做它自身的一棵子樹。思路 遞迴比較。判斷兩顆樹是否有相同的結構,就是比較根節點的val值,如果相同,比較左右子樹的節點值。這樣就可以用遞迴...

OI刷題記錄

2014 4 18 poj3264 bzoj1699 balanced lineup rmq 2014 4 19 bzoj1012 jsoi2008 最大數maxnumber noi2004 鬱悶的出納員 bzoj3224 tyvj 1728 普通平衡樹 2014 4 20 bzoj1862 105...

面試刷題記錄

寫一段 判斷乙個包括 的表示式是否合法 注意看樣例的合法規則。給定乙個表示式a,請返回乙個bool值,代表它是否合法。測試樣例 a b 5 4 返回 true 測試樣例 a b 5 4 返回 false include vector include iostream using namespace ...