傳送門
貪心法。
貪心策略就是優先選開始時間較晚的節目 或者 優先選結束時間較早的節目,先排序,然後一遍順序求解。
如果要求的不是節目個數最大,而是節目總時長最大(或者每個節目都有乙個價值,要求總價值最大),該怎麼解決呢?
(5月7日)設想每個節目都有乙個價值,要求選的總價值最大。可以這麼考慮,對每個時間單位從小到大進行dp,dp[i]
表示時間範圍為0~i
的子問題的最優解。dp[
i]
=max(
dp[i
−1],
maxen
d[x]
=i(d
p[i−
spen
d[x]
]+va
lue[
x]))
dp[i]=\max(dp[i-1],\max_(dp[i-spend[x]]+value[x]))
dp[i]=
max(dp
[i−1
],en
d[x]
=imax(d
p[i−
spen
d[x]
]+va
lue[
x]))
#include
#include
#include
#include
#include
#include
#include
using namespace std;
// 區間貪心
int n;
int ans;
struct interval};
vector v;
void
init()
intmain()
);}sort
(v.begin()
, v.
end())
;int prev = v[0]
.a;for
(int i =
1; i < n; i++)}
printf
("%d\n"
, ans);}
return0;
}
HDU 2037 今年暑假不AC
題目 hdu 2037 今年暑假不ac 解題思路 簡單貪心 對節目時間的結束時間由小到大進行排序,排序用sort或者qsort都可以,讓結束的早的時間排在前面,為後面的節目留出充足的時間,只要下乙個節目的的開始時間大於等於上乙個節目的結束時間就可以了。include includestruct ac...
HDU 2037 今年暑假不AC
problem description 今年暑假不ac?是的。那你幹什麼呢?看世界盃呀,笨蛋!確實如此,世界盃來了,球迷的節日也來了,估計很多acmer也會拋開電腦,奔向電視了。作為球迷,一定想看盡量多的完整的比賽,當然,作為新時代的好青年,你一定還會看一些其它的節目,比如新聞聯播 永遠不要忘記關心...
HDU 2037 今年暑假不AC
description 今年暑假不ac?是的。那你幹什麼呢?看世界盃呀,笨蛋!確實如此,世界盃來了,球迷的節日也來了,估計很多acmer也會拋開電腦,奔向電視了。作為球迷,一定想看盡量多的完整的比賽,當然,作為新時代的好青年,你一定還會看一些其它的節目,比如新聞聯播 永遠不要忘記關心國家大事 非常6...