這題一開始我是用貪心去做的,但是一直沒過。。。貌似貪心並不能得到最優解法。
然後這道題用優先佇列來寫
首先我們先把對於第i的中間站可以連線的城市用向量陣列存起來。。然後在只有滿足中間站數量這題真的是很妙。。膜拜ing
#include#include#include
#include
#include
#include
const
int n=1005
;using
namespace
std;
priority_queue
q;vector
v[n];
intmain()
int s=0
;
for(int i=1;i<=n;i++)
for(;q.size()>i+1
;q.pop())
s+=q.top();
ans=max(ans,s);
}printf(
"%d\n
",ans);
}
51nod 1475 建設國家 優先佇列
小c現在想建設乙個國家。這個國家中有乙個首都,然後有若干個中間站,還有若干個城市。現在小c想把國家建造成這樣的形狀 選若干 可以是0個 的中間站把他們連成一條直線,然後把首都 首都也是乙個中間站 連在這一條直線的左端。然後每個點可以連乙個城市,特別的是最右端的點可以連線兩個城市。現在有n個城市的規劃...
51Nod 1475 建設國家 貪心 列舉
題目 小c現在想建設乙個國家。這個國家中有乙個首都,然後有若干個中間站,還有若干個城市。現在小c想把國家建造成這樣的形狀 選若干 可以是0個 的中間站把他們連成一條直線,然後把首都 首都也是乙個中間站 連在這一條直線的左端。然後每個點可以連乙個城市,特別的是最右端的點可以連線兩個城市。現在有n個城市...
51Nod 建設國家(DP)
1475 建設國家 基準時間限制 1 秒 空間限制 131072 kb 分值 20難度 3級演算法題 小c現在想建設乙個國家。這個國家中有乙個首都,然後有若干個中間站,還有若干個城市。現在小c想把國家建造成這樣的形狀 選若干 可以是0個 的中間站把他們連成一條直線,然後把首都 首都也是乙個中間站 連...