bzoj 1283 線性規劃

2021-07-11 20:44:07 字數 1718 閱讀 2064

time limit: 10 sec  

memory limit: 162 mb

submit: 200  

solved: 114 [

submit][

status][

discuss]

給出乙個長度為 的正整數序列ci,求乙個子串行,使得原序列中任意長度為 的子串中被選出的元素不超過k(k,m<=100) 個,並且選出的元素之和最大。

第1行三個數n,m,k。 接下來n行,每行乙個字串表示ci。

最大和。

10 5 3

4 4 4 6 6 6 6 6 4 4

3020%的資料:n<=10。

100%的資料:n<=1000,k,m<=100。ci<=20000。

解題思路:同noi2008招募。此處是最大費用最大流

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define inf 1000000000

#define pa pair

#define ll long long

#define mod 1000000007

using

namespace

std;

intread()

while(ch

>=

'0'&&

ch<=

'9')

returnx*

f; }

intn,

m,cnt=1,

k,t,

ans;

inta[

2005],

q[2005],

last

[2005],

dis[

2005];

bool

inq[

2005],

mark

[2005];

struct

edgee[

10005];

void

insert

(intu,

intv

,intw,

intc)

bool

spfa()

} }

return

dis[0]

!=-1;

}void

build()

for(

inti=1

;i<=n-

m+1;

i++)

insert(i

,i+1

,k,0

);

insert(0

,n+2

,k,0

);

insert(n

+1,t

,k,0

); }

intdfs(

intx

,intf)

return

used;

} void

zkw() }}

intmain()

bzoj1283 序列 線性規劃與費用流

題目描述 給出乙個長度為 的正整數序列ci,求乙個子串行,使得原序列中任意長度為 的子串中被選出的元素不超過k k,m 100 個,並且選出的元素之和最大。輸入第1行三個數n,m,k。接下來n行,每行乙個字串表示ci。輸出最大和。樣例輸入 10 5 3 4 4 4 6 6 6 6 6 4 4 樣例輸...

bzoj1061 線性規劃

線性規劃裸題。根據題目很容易可以得到線性規劃方程 以樣例為例 min 2 x1 5 x2 2 x3 x1 0 0 2 x1 x2 0 3 0 x2 x3 4 x1,x2,x3 0 再將方程對偶,得到 max 2 x1 3 x2 4 x3 x1 x2 0 2 0 x2 x3 5 0 0 x3 2 x1...

BZOJ 1283 序列 費用流

題目大意 給定乙個長度為n的序列,要求選一些數,使得任意乙個長度為m個區間中最多選k個數,求最大的和 費用流直接跑就是了 把這個序列用流量為k費用為0的邊連成一條直線 然後第i個點向第i m個點連一條費用為a i 流量為1的邊 跑最大費用最大流即可 卡單純型差評。include include in...