/**
題意: 有n(1<=n<=100 000)個人圍成乙個圈, 其中第i個人想要r[i](1<= r[i] <= 100 000)個禮物;
求要使任意相鄰的兩個人沒有相同禮物的最小總禮物數
sample input :
52 2 2 2 2
sample outpu:
5分析 :
n為偶數時很簡單 : ans = max(r[i] + r[i+1]);
n為奇數時比較棘手:
既然求最值,試試二分
那對於給定答案怎樣確定是否符合條件呢?
對於給定的禮物數q,設第乙個人的禮物為1~r1
最優分配方案:編號為奇數的人盡量往後取,編號為偶數的人盡量往前取
將其按a[0]分為兩部分:左部分a[0]個,右部分q-a[0]個;
然後i為奇數的人盡量取左邊,偶數i盡量取右邊.
若最後乙個人乙個左部分的都沒有取到,則符合條件,
否則不符合條件
要怎麼記錄取值呢?
兩個陣列,left[i]記錄取左邊的個數,right[i]記錄取右邊的個數*/
#include #define scf(n) scanf("%d",&n)
#define cao(n) cout<
3 17學習計畫
1 做一套計算機二級的題目 2 背英語單詞,記筆記 4 做模電作業,課堂檢測和課後作業 1 和往常一樣,空閒的時候,在手機上做了選擇題 有電腦的時候,直接做大題。做了很多題目之後,現在對word算是比較熟悉了,基本上首先是要看是另存為,還是以什麼名字儲存。其次基本上都要調整頁面大小,頁邊距這些。當然...
3 17考試小記
考場上來讀完第一題第一反應就是網路流,看上去應該是乙個最小割或者費用流。第二題看上去好像是一道傳統計數題,可能要n 2遞推 組合數或者容斥可能會很麻煩。第三題題面很長,讀完發現就是一道lct維護子樹資訊,而且細節很多,很毒瘤。但是部分分給的很多,但是種類有點多,貌似每乙個部分分都不那麼好打,而且最後...
藍橋杯練習 3 17
旅行家的預算 貪心 問題描述 乙個旅行家想駕駛汽車以最少的費用從乙個城市到另乙個城市 假設出發時油箱是空的 給定兩個城市之間的距離d1 汽車油箱的容量c 以公升為單位 每公升汽油能行駛的距離d2 出發點每公升汽油 p和沿途油站數n n可以為零 油站i離出發點的距離di 每公升汽油 pi i 1,2,...