題意
傳送門 p1792 [國家集訓隊]種樹
題解p1484 種樹的環版本。貪若心地取權值最大的位置種樹,可能出現取相鄰位置種樹更優的情況。設位置 i
ii 的權值為 p
ip_i
pi,那麼每次貪心選擇後,若 ppr
e[i]
+pnx
t[i]
>pi
p_+p_>p_i
ppre[i
]+p
nxt[
i]>pi
,應該取消位置 i
ii 的選擇,而選擇相鄰位置,此時保證總選擇位置數量增加 1
11。那麼每次將 i
ii 處權值賦為 ppr
e[i]
+pnx
t[i]
−p
ip_+p_-p_i
ppre[i
]+p
nxt[
i]−
pi 後加入優先佇列,並刪除相鄰節點。
#include
#include
#include
#include
#include
using
namespace std;
#define maxn 200005
struct node};
int n, m, a[maxn]
;int pre[maxn]
, nxt[maxn]
, del[maxn]
;priority_queue q;
intmain()
);} pre[1]
= n, nxt[n]=1
;if(m > n /2)
int res =0;
for(
int i =
0; i < m;
++i));
}printf
("%d\n"
, res)
;return0;
}
P1792 國家集訓隊 種樹
題目描述 a城市有乙個巨大的圓形廣場,為了綠化環境和淨化空氣,市 決定沿圓形廣場外圈種一圈樹。園林部門得到指令後,初步規劃出n個種樹的位置,順時針編號1到n。並且每個位置都有乙個美觀度ai,如果在這裡種樹就可以得到這ai的美觀度。但由於a城市土壤肥力欠佳,兩棵樹決不能種在相鄰的位置 i號位置和i 1...
優先佇列貪心
最近做了幾個用優先佇列進行貪心的題目,這裡寫下來,以免忘了。1 cf 799 b 每次選最便宜的衣服,沒什麼好說的,一發過 include include include include include define n 6005 define inf 0x3f3f3f3f include incl...
貪心加優先佇列
消滅兔子 李陶冶 命題人 基準時間限制 1 秒 空間限制 131072 kb 分值 40 有n只兔子,每只有乙個血量b i 需要用箭殺死免子。有m種不同型別的箭可以選擇,每種箭對兔子的傷害值分別為d i 為p i 1 i m 假設每種箭只能使用一次,每只免子也只能被射一次,計算要消滅地圖上的所有兔子...