题目大意:给你n个时间段,每个时间段都有一个权值,每个时间段只能选择一次,其中一天时间点能选择互不重叠的时间段,最多选择k次。问怎样选择使得总权值和最大。
和上一题 poj 3680 一样,只是数据输入麻烦点 ;把每个时间段的左右端点拿出来 ,不要重复的 ,按从小到大排序
端点间建边 ,add(i,i+1,k.0) ; 限制一个端点只能选K次 ; 然后对区间建边 ,若有i和j这个时间段,则
add(i,j,1,-w) ,限制区间段只能选一次 ,同时把费用为负 。 源点与第一个点连边,add(s,0,k,0);
最后一个点与汇点连边 ,add(cnt,t,k,0) ;
跑一遍费用流 ,同时取答案