TJOI2013 拯救小矮人 排序 dp

2022-05-07 21:36:13 字數 582 閱讀 1988

題目鏈結

imagine的完美回答

重點大概是證明我們選出要救的小矮人一定可以根據 \(a_i+b_i\) 的大小進行排序救出。

注意這裡關注的物件是可以保留的高度,所以我們的dp值才會表示成最少減少的高度。

#includeusing namespace std;

#define go(u) for(int i=head[u],v=e[i].to;i;i=e[i].last,v=e[i].to)

#define rep(i,a,b) for(int i=a;i<=b;++i)

#define pb push_back

typedef long long ll;

inline int gi()

while(isdigit(ch))

return x*f;

}templateinline bool max(t &a,t b)

rep(j,0,n) if(f[n][j]!=inf) max(ans,j);

printf("%d\n",ans);

return 0;

}

TJOI 2013 拯救小矮人

有 n 個人,每個人有兩個屬性 a i,b i 現在他們要從洞裡逃出去。第 x 個人能逃出去的條件是,隨意選擇一些還在洞裡的人 重新編號為 1.k 滿足 a 1 a 2 a k a x b x ge h 注意,第 x 個人不能在這 k 個人裡。求最多能跑出去多少個人。貪心和 dp 的結合,不得不說是...

TJOI2013 拯救小矮人

一群小矮人掉進了乙個很深的陷阱裡,由於太矮爬不上來,於是他們決定搭乙個人梯。即 乙個小矮人站在另一小矮人的 肩膀上,知道最頂端的小矮人伸直胳膊可以碰到陷阱口。對於每乙個小矮人,我們知道他從腳到肩膀的高度ai,並且他的胳膊長度為bi。陷阱深度為h。如果我 們利用矮人1,矮人2,矮人3,矮人k搭乙個梯子...

TJOI2013 松鼠聚會

題目描述 草原上住著一群小松鼠,每個小松鼠都有乙個家。時間長了,大家覺得應該聚一聚。但是草原非常大,松鼠們都很頭疼應該在誰家聚會才最合理。每個小松鼠的家可以用乙個點x,y表示,兩個點的距離定義為點 x,y 和它周圍的8個點 x 1,y x 1,y x,y 1 x,y 1 x 1,y 1 x 1,y ...