題目描述
a城市有乙個巨大的圓形廣場,為了綠化環境和淨化空氣,市**決定沿圓形廣場外圈種一圈樹。
園林部門得到指令後,初步規劃出n個種樹的位置,順時針編號1到n。並且每個位置都有乙個美觀度ai,如果在這裡種樹就可以得到這ai的美觀度。但由於a城市土壤肥力欠佳,兩棵樹決不能種在相鄰的位置(i號位置和i+1號位置叫相鄰位置。值得注意的是1號和n號也算相鄰位置!)。
最終市**給園林部門提供了m棵樹苗並要求全部種上,請你幫忙設計種樹方案使得美觀度總和最大。如果無法將m棵樹苗全部種上,給出無解資訊。
輸入輸出格式
輸入格式:
輸入的第一行包含兩個正整數n、m。第二行n個整數ai。
輸出格式:
輸出乙個整數,表示最佳植樹方案可以得到的美觀度。如果無解輸出「error!」,不包含引號。
這題的環形板
恰好用到了鍊錶維護左右關係, 環形只需要把首尾處理一下即可
記得判是否可行
#include#include#include#include#include#includetypedef long long ll;
using namespace std;
int rd()
while(c >= '0' && c <= '9')
return flag * out;
}const int maxn = 200019;
int num, m;
struct node
};priority_queueq;
int l[maxn], r[maxn], a[maxn];
bool used[maxn];
int main()
for(int i = 1;i <= num;i++));
} l[1] = num;r[num] = 1;
int ans = 0;
while(m--));
} printf("%d\n", ans);
return 0;
}
國家集訓隊2011 種樹 神貪心
莫名其妙就做了集訓隊的題 不過.資料好水 codevs 1342 哈哈哈亂搞85 貪心的 好像有bug2333 照起點和終點 然後dp搞答案 這個應該很簡單的 要滾一下陣列 同桌打的暴力dp 55好像 思路一樣的 就是省去了那個正確性不一定的貪心 include include define max...
國家集訓隊 旅遊
題目背景 ray 樂忠於旅遊,這次他來到了 t 城。t 城是乙個水上城市,一共有 nn 個景點,有些景點之間會用一座橋連線。為了方便遊客到達每個景點但又為了節約成本,t 城的任意兩個景點之間有且只有一條路徑。換句話說,t 城中只有 n 1n 1 座橋。ray 發現,有些橋上可以看到美麗的景色,讓人心...
國家集訓隊 Tree I
題目 給你乙個無向帶權連通圖,每條邊是黑色或白色。讓你求一棵最小權的恰好有nee dneed need 條白色邊的生成樹。題目保證有解。思路 凸優化裸題,要注意的就是,優先選白色 優先選黑色也行 主要是同一斜率可能會切到很多點,那麼就要有乙個標準,要麼選最小點,要麼選最大。另外求出來的點不一定是ne...