description
sean準備投資一些專案。有n個投資專案,投資第i個專案需要花費ci元。sean發現如果投資了某些編號連續的專案就能賺得一定的錢。現在給出m組連續的專案和每組能賺得的錢,請問採取最優的投資策略的最大獲利是多少?
樣例最佳策略是全部專案都投資,然後第1,2組都滿足了,獲利為2+2-3=1。最佳策略可能是不投資,即最大獲利為0。
input
每組資料第一行輸入兩個整數n和m , n表示專案數,m表示能獲利的連續的專案組數,1 <= n <= 20000,1 <= m <= 20000 , 接下來一行輸入n個數,表示每個專案投資需要的花費ci,1<=ci<=10^9。
接下來m行,每行3個數li,ri,pi,1<=li<=ri<=n,1<=pi<=10^9,表示投資從第li到第ri這些連續的專案的獲利。每組連續投資的獲利互不影響,如果投資的多組連續投資都包含專案i,專案i只需要投資一次。
output
對於每組資料輸出一行,即最大獲利。
sample input
3 21 1 1
1 2 2
2 3 2
sample output
1設dp[i]表示,前i個專案的最大獲利。
轉移方程 : dp[i] = max( dp[i-1] , dp[j-1] + w[j][i] ) , ( 1<=j <=n ).
列舉狀態費用o(n) , 用線段樹優化取最值,更新費用為o(log n ) , 總複雜度為o(n log n )。
線段樹的每個節點i表示 , 從i連續投資到當前節點的最大利潤
#include #includeview code#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
typedef
long
long
ll;const
int n = 200010
;const
int inf = 1e9+7
;const
double pi = acos(-1.0
);const
double eps = 1e-6
;#define root 1,n,1
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define lr rt<<1
#define rr rt<<1|1
intn , m ;
struct
node
}e[n];
ll dp[n] , cost[n] ;
void
init()
ll date[n
<<2] ,lazy[n<<2
];void build( int l , int r , int
rt )
void down( int l , int r , int
rt )
}void up( int rt )
void update( int l , int r , int rt , int l , int
r , ll val)
down(l,r,rt);
int mid = (l+r) >> 1
;
if( r <=mid ) update(lson,l,r,val);
else
if( l >mid ) update(rson,l,r,val);
else update(lson,l,mid,val) , update(rson,mid+1
,r,val);
up(rt);
}ll query(
int l , int r , int rt , int l , int
r )
down(l,r,rt);
int mid = (l+r)>>1
;
if( r <= mid ) return
query(lson,l,r);
else
if( l > mid ) return
query(rson,l,r);
else
return max( query(lson,l,mid),query(rson,mid+1
,r) );
}void
run ()
for( int i = 0 ; i < m ; ++i )
sort( e , e +m );
int head = 0
;
for( int i = 1 ; i <= n ; ++i )
printf(
"%i64d\n
",dp[n]);
}int
main()
題解 最大獲利
題目傳送門 給出 n 個使用者,m 個基站,每個使用者的需求為用 a,b 兩個基站,會產生 c 的收益。修基站也需要花費。問最大收益。n le 5000,m le 50000 這個東西要用乙個叫做最大權閉合子圖的東西。大概意思就是求解,對於乙個圖,每個點有點權,你選了乙個點則它的後繼都必須選,問選出...
網路流 最大獲利
time limit 5 sec memory limit 64 mb submit 760 solved 377 submit status discuss 新的技術正衝擊著手機通訊市場,對於各大運營商來說,這既是機遇,更是挑戰。thu集團旗下的cs t通訊公司在新一代通訊技術血戰的前夜,需要做太...
NOI 06 最大獲利
新的技術正衝擊著手機通訊市場,對於各大運營商來說,這既是機遇,更是挑戰。thu 集團旗下的cs t 通訊公司在新一代通訊技術血戰的前夜,需要做太多的準備工作,僅就站址選擇一項,就需要完成前期市場研究 站址勘測 最優化等專案。在前期市場調查和站址勘測之後,公司得到了一共n 個可以作為通訊訊號中轉站的位...