Khiêu chuyển chí

Bối bao DP

Tiền trí tri thức:Động thái quy hoa bộ phân giản giới.

Dẫn nhập

Tại cụ thể giảng hà vi “Bối bao dp” tiền, tiên lai khán như hạ đích lệ đề:

“USACO07 DEC” Charm Bracelet

Đề ý khái yếu: HữuCá vật phẩm hòa nhất cá dung lượng viĐích bối bao, mỗi cá vật phẩm hữu trọng lượngHòa giới trịLưỡng chủng chúc tính, yếu cầu tuyển nhược càn vật phẩm phóng nhập bối bao sử bối bao trung vật phẩm đích tổng giới trị tối đại thả bối bao trung vật phẩm đích tổng trọng lượng bất siêu quá bối bao đích dung lượng.

Tại thượng thuật lệ đề trung, do vu mỗi cá vật thể chỉ hữu lưỡng chủng khả năng đích trạng thái ( thủ dữ bất thủ ), đối ứng nhị tiến chế trung đíchHòa,Giá loại vấn đề tiện bị xưng vi “0-1 bối bao vấn đề”.

0-1 bối bao

Giải thích

Lệ đề trung dĩ tri điều kiện hữu đệCá vật phẩm đích trọng lượng,Giới trị,Dĩ cập bối bao đích tổng dung lượng.

Thiết DP trạng tháiVi tại chỉ năng phóng tiềnCá vật phẩm đích tình huống hạ, dung lượng viĐích bối bao sở năng đạt đáo đích tối đại tổng giới trị.

Khảo lự chuyển di. Giả thiết đương tiền dĩ kinh xử lý hảo liễu tiềnCá vật phẩm đích sở hữu trạng thái, na ma đối vu đệCá vật phẩm, đương kỳ bất phóng nhập bối bao thời, bối bao đích thặng dư dung lượng bất biến, bối bao trung vật phẩm đích tổng giới trị dã bất biến, cố giá chủng tình huống đích tối đại giới trị vi;Đương kỳ phóng nhập bối bao thời, bối bao đích thặng dư dung lượng hội giảm tiểu,Bối bao trung vật phẩm đích tổng giới trị hội tăng đại,Cố giá chủng tình huống đích tối đại giới trị vi.

Do thử khả dĩ đắc xuất trạng thái chuyển di phương trình:

Giá lí như quả trực tiếp thải dụng nhị duy sổ tổ đối trạng thái tiến hành ký lục, hội xuất hiện MLE. Khả dĩ khảo lự cải dụng cổn động sổ tổ đích hình thức lai ưu hóa.

Do vu đốiHữu ảnh hưởng đích chỉ hữu,Khả dĩ khứ điệu đệ nhất duy, trực tiếp dụngLai biểu kỳ xử lý đáo đương tiền vật phẩm thời bối bao dung lượng viĐích tối đại giới trị, đắc xuất dĩ hạ phương trình:

Vụ tất lao ký tịnh lý giải giá cá chuyển di phương trình, nhân vi đại bộ phân bối bao vấn đề đích chuyển di phương trình đô thị tại thử cơ sở thượng thôi đạo xuất lai đích.

Thật hiện

Hoàn hữu nhất điểm nhu yếu chú ý đích thị, ngận dung dịch tả xuất giá dạng đíchThác ngộ hạch tâm đại mã:

1
2
3
4
5
for(inti=1;in;i++)
for(intl=0;lW-w[i];l++)
f[l+w[i]]=max(f[l]+v[i],f[l+w[i]]);
// do f[i][l + w[i]] = max(max(f[i - 1][l + w[i]], f[i - 1][l] + w[i]),
// f[i][l + w[i]]); giản hóa nhi lai
1
2
3
4
5
foriinrange(1,n+1):
forlinrange(0,W-w[i]+1):
f[l+w[i]]=max(f[l]+v[i],f[l+w[i]])
# do f[i][l + w[i]] = max(max(f[i - 1][l + w[i]], f[i - 1][l] + w[i]),
# f[i][l + w[i]]) giản hóa nhi lai

Giá đoạn đại mã na lí thác liễu ni? Mai cử thuận tự thác liễu.

Tử tế quan sát đại mã khả dĩ phát hiện: Đối vu đương tiền xử lý đích vật phẩmHòa đương tiền trạng thái,TạiThời,Thị hội bịSở ảnh hưởng đích. Giá tựu tương đương vu vật phẩmKhả dĩ đa thứ bị phóng nhập bối bao, dữ đề ý bất phù. ( sự thật thượng, giá chính thị hoàn toàn bối bao vấn đề đích giải pháp )

Vi liễu tị miễn giá chủng tình huống phát sinh, ngã môn khả dĩ cải biến mai cử đích thuận tự, tòngMai cử đáo,Giá dạng tựu bất hội xuất hiện thượng thuật đích thác ngộ, nhân viTổng thị tạiTiền bị canh tân.

Nhân thử thật tế hạch tâm đại mã vi

1
2
for(inti=1;in;i++)
for(intl=W;l>=w[i];l--)f[l]=max(f[l],f[l-w[i]]+v[i]);
1
2
3
foriinrange(1,n+1):
forlinrange(W,w[i]-1,-1):
f[l]=max(f[l],f[l-w[i]]+v[i])
Lệ đề đại mã
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include&LTiostream>
usingnamespacestd;
constintmaxn=13010;
intn,W,w[maxn],v[maxn],f[maxn];

intmain(){
cin>>n>>W;
for(inti=1;in;i++)cin>>w[i]>>v[i];// độc nhập sổ cư
for(inti=1;in;i++)
for(intl=W;l>=w[i];l--)
if(f[l-w[i]]+v[i]>f[l])f[l]=f[l-w[i]]+v[i];// trạng thái phương trình
coutf[W];
return0;
}

Hoàn toàn bối bao

Giải thích

Hoàn toàn bối bao mô hình dữ 0-1 bối bao loại tự, dữ 0-1 bối bao đích khu biệt cận tại vu nhất cá vật phẩm khả dĩ tuyển thủ vô hạn thứ, nhi phi cận năng tuyển thủ nhất thứ.

Ngã môn khả dĩ tá giám 0-1 bối bao đích tư lộ, tiến hành trạng thái định nghĩa: ThiếtVi chỉ năng tuyển tiềnCá vật phẩm thời, dung lượng viĐích bối bao khả dĩ đạt đáo đích tối đại giới trị.

Nhu yếu chú ý đích thị, tuy nhiên định nghĩa dữ 0-1 bối bao loại tự, đãn thị kỳ trạng thái chuyển di phương trình dữ 0-1 bối bao tịnh bất tương đồng.

Quá trình

Khả dĩ khảo lự nhất cá phác tố đích tố pháp: Đối vu đệKiện vật phẩm, mai cử kỳ tuyển liễu đa thiếu cá lai chuyển di. Giá dạng tố đích thời gian phục tạp độ thịĐích.

Trạng thái chuyển di phương trình như hạ:

Khảo lự tố nhất cá giản đan đích ưu hóa. Khả dĩ phát hiện, đối vu,Chỉ yếu thông quáChuyển di tựu khả dĩ liễu. Nhân thử trạng thái chuyển di phương trình vi:

Lý do thị đương ngã môn giá dạng chuyển di thời,Dĩ kinh doCanh tân quá, na maTựu thị sung phân khảo lự liễu đệKiện vật phẩm sở tuyển thứ sổ hậu đắc đáo đích tối ưu kết quả. Hoán ngôn chi, ngã môn thông quá cục bộ tối ưu tử kết cấu đích tính chất trọng phục sử dụng liễu chi tiền đích mai cử quá trình, ưu hóa liễu mai cử đích phục tạp độ.

Dữ 0-1 bối bao tương đồng, ngã môn khả dĩ tương đệ nhất duy khứ điệu lai ưu hóa không gian phục tạp độ. Như quả lý giải liễu 0-1 bối bao đích ưu hóa phương thức, tựu bất nan minh bạch áp súc hậu đích tuần hoàn thị chính hướng đích ( dã tựu thị thượng văn trung đề đáo đích thác ngộ ưu hóa ).

“Luogu P1616” phong cuồng đích thải dược

Đề ý khái yếu: HữuChủng vật phẩm hòa nhất cá dung lượng viĐích bối bao, mỗi chủng vật phẩm hữu trọng lượngHòa giới trịLưỡng chủng chúc tính, yếu cầu tuyển nhược càn cá vật phẩm phóng nhập bối bao sử bối bao trung vật phẩm đích tổng giới trị tối đại thả bối bao trung vật phẩm đích tổng trọng lượng bất siêu quá bối bao đích dung lượng.

Lệ đề đại mã
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include&LTiostream>
usingnamespacestd;
constintmaxn=1e4+5;
constintmaxW=1e7+5;
intn,W,w[maxn],v[maxn];
longlongf[maxW];

intmain(){
cin>>W>>n;
for(inti=1;in;i++)cin>>w[i]>>v[i];
for(inti=1;in;i++)
for(intl=w[i];lW;l++)
if(f[l-w[i]]+v[i]>f[l])f[l]=f[l-w[i]]+v[i];// hạch tâm trạng thái phương trình
coutf[W];
return0;
}

Đa trọng bối bao

Đa trọng bối bao dã thị 0-1 bối bao đích nhất cá biến thức. Dữ 0-1 bối bao đích khu biệt tại vu mỗi chủng vật phẩm hữuCá, nhi phi nhất cá.

Nhất cá ngận phác tố đích tưởng pháp tựu thị: Bả “Mỗi chủng vật phẩm tuyểnThứ” đẳng giới chuyển hoán vi “HữuCá tương đồng đích vật phẩm, mỗi cá vật phẩm tuyển nhất thứ”. Giá dạng tựu chuyển hoán thành liễu nhất cá 0-1 bối bao mô hình, sáo dụng thượng văn sở thuật đích phương pháp tựu khả dĩ giải quyết. Trạng thái chuyển di phương trình như hạ:

Thời gian phục tạp độ.

Hạch tâm đại mã
1
2
3
4
5
6
7
8
for(inti=1;in;i++){
for(intweight=W;weight>=w[i];weight--){
// đa biến lịch nhất tằng vật phẩm sổ lượng
for(intk=1;k*w[i]weight&&kcnt[i];k++){
dp[weight]=max(dp[weight],dp[weight-k*w[i]]+k*v[i]);
}
}
}

Nhị tiến chế phân tổ ưu hóa

Khảo lự ưu hóa. Ngã môn nhưng khảo lự bả đa trọng bối bao chuyển hóa thành 0-1 bối bao mô hình lai cầu giải.

Giải thích

Hiển nhiên, phục tạp độ trung đíchBộ phân vô pháp tái ưu hóa liễu, ngã môn chỉ năng tòngXử nhập thủ. Vi liễu biểu thuật phương tiện, ngã môn dụngĐại biểu đệChủng vật phẩm sách phân xuất đích đệCá vật phẩm.

Tại phác tố đích tố pháp trung,,Quân biểu kỳ tương đồng vật phẩm. Na ma ngã môn hiệu suất đê đích nguyên nhân chủ yếu tại vu ngã môn tiến hành liễu đại lượng trọng phục tính đích công tác. Cử lệ lai thuyết, ngã môn khảo lự liễu “Đồng thời tuyển”Dữ “Đồng thời tuyển”Giá lưỡng cá hoàn toàn đẳng hiệu đích tình huống. Giá dạng đích trọng phục tính công tác ngã môn tiến hành liễu hứa đa thứ. Na ma ưu hóa sách phân phương thức tựu thành vi liễu giải quyết vấn đề đích đột phá khẩu.

Quá trình

Ngã môn khả dĩ thông quá “Nhị tiến chế phân tổ” đích phương thức sử sách phân phương thức canh gia ưu mỹ.

Cụ thể địa thuyết tựu thị lệnhPhân biệt biểu kỳ doCá đan cá vật phẩm “Khổn bảng” nhi thành đích đại vật phẩm. Đặc thù địa, nhượcBất thịĐích chỉnh sổ thứ mịch, tắc nhu yếu tại tối hậu thiêm gia nhất cá doCá đan cá vật phẩm “Khổn bảng” nhi thành đích đại vật phẩm dụng vu bổ túc.

Cử kỉ cá lệ tử:

Hiển nhiên, thông quá thượng thuật sách phân phương thức, khả dĩ biểu kỳ nhậm ýCá vật phẩm đích đẳng hiệu tuyển trạch phương thức. Tương mỗi chủng vật phẩm án chiếu thượng thuật phương thức sách phân hậu, sử dụng 0-1 bối bao đích phương pháp giải quyết tức khả.

Thời gian phục tạp độ

Thật hiện

Nhị tiến chế phân tổ đại mã
1
2
3
4
5
6
7
8
9
10
11
12
13
index=0;
for(inti=1;im;i++){
intc=1,p,h,k;
cin>>p>>h>>k;
while(k>c){
k-=c;
list[++index].w=c*p;
list[index].v=c*h;
c*=2;
}
list[++index].w=p*k;
list[index].v=h*k;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
index=0
foriinrange(1,m+1):
c=1
p,h,k=map(int,input().split())
whilek>c:
k-=c
index+=1
list[index].w=c*p
list[index].v=c*h
c*=2
index+=1
list[index].w=p*k
list[index].v=h*k

Đan điều đội liệt ưu hóa

KiếnĐan điều đội liệt / đan điều sạn ưu hóa.

Tập đề:“Luogu P1776” bảo vật si tuyển _NOI đạo khan 2010 đề cao ( 02 )

Hỗn hợp bối bao

Hỗn hợp bối bao tựu thị tương tiền diện tam chủng đích bối bao vấn đề hỗn hợp khởi lai, hữu đích chỉ năng thủ nhất thứ, hữu đích năng thủ vô hạn thứ, hữu đích chỉ năng thủThứ.

Giá chủng đề mục khán khởi lai ngận hách nhân, khả thị chỉ yếu lĩnh ngộ liễu tiền diện kỉ chủng bối bao đích trung tâm tư tưởng, tịnh tương kỳ hợp tịnh tại nhất khởi tựu khả dĩ liễu. Hạ diện cấp xuất ngụy đại mã:

1
2
3
4
5
6
7
8
for ( tuần hoàn vật phẩm chủng loại ) {
if ( thị 0 - 1 bối bao )
Sáo dụng 0 - 1 bối bao đại mã;
else if ( thị hoàn toàn bối bao )
Sáo dụng hoàn toàn bối bao đại mã;
else if ( thị đa trọng bối bao )
Sáo dụng đa trọng bối bao đại mã;
}

Lệ đề

“Luogu P1833” anh hoa

HữuChủng anh hoa thụ hòa trường độ viĐích thời gian, hữu đích anh hoa thụ chỉ năng khán nhất biến, hữu đích anh hoa thụ tối đa khánBiến, hữu đích anh hoa thụ khả dĩ khán vô sổ biến. Mỗi khỏa anh hoa thụ đô hữu nhất cá mỹ học trị,Cầu tạiĐích thời gian nội khán na ta anh hoa thụ năng sử mỹ học trị tối cao.

Hạch tâm đại mã
1
2
3
4
5
6
7
8
9
10
11
12
13
for(inti=1;in;i++){
if(cnt[i]==0){// như quả sổ lượng một hữu hạn chế sử dụng hoàn toàn bối bao đích hạch tâm đại mã
for(intweight=w[i];weightW;weight++){
dp[weight]=max(dp[weight],dp[weight-w[i]]+v[i]);
}
}else{// vật phẩm hữu hạn sử dụng đa trọng bối bao đích hạch tâm đại mã, tha dã khả dĩ xử lý 0-1 bối bao vấn đề
for(intweight=W;weight>=w[i];weight--){
for(intk=1;k*w[i]weight&&kcnt[i];k++){
dp[weight]=max(dp[weight],dp[weight-k*w[i]]+k*v[i]);
}
}
}
}

Nhị duy phí dụng bối bao

“Luogu P1855” trá thủ kkksc03

HữuCá nhậm vụ nhu yếu hoàn thành, hoàn thành đệCá nhậm vụ nhu yếu hoa phíPhân chung, sản sinhNguyên đích khai chi.

Hiện tại hữuPhân chung thời gian,Nguyên tiền lai xử lý giá ta nhậm vụ, cầu tối đa năng hoàn thành đa thiếu nhậm vụ.

Giá đạo đề thị ngận minh hiển đích 0-1 bối bao vấn đề, khả thị bất đồng đích thị tuyển nhất cá vật phẩm hội tiêu háo lưỡng chủng giới trị ( kinh phí, thời gian ), chỉ nhu tại trạng thái trung tăng gia nhất duy tồn phóng đệ nhị chủng giới trị tức khả.

Giá thời hầu tựu yếu chú ý, tái khai nhất duy tồn phóng vật phẩm biên hào tựu bất hợp thích liễu, nhân vi dung dịch MLE.

Thật hiện

1
2
3
4
for(intk=1;kn;k++)
for(inti=m;i>=mi;i--)// đối kinh phí tiến hành nhất tằng mai cử
for(intj=t;j>=ti;j--)// đối thời gian tiến hành nhất tằng mai cử
dp[i][j]=max(dp[i][j],dp[i-mi][j-ti]+1);
1
2
3
4
forkinrange(1,n+1):
foriinrange(m,mi-1,-1):# đối kinh phí tiến hành nhất tằng mai cử
forjinrange(t,ti-1,-1):# đối thời gian tiến hành nhất tằng mai cử
dp[i][j]=max(dp[i][j],dp[i-mi][j-ti]+1)

Phân tổ bối bao

“Luogu P1757” thông thiên chi phân tổ bối bao

HữuKiện vật phẩm hòa nhất cá đại tiểu viĐích bối bao, đệCá vật phẩm đích giới trị vi,Thể tích vi.Đồng thời, mỗi cá vật phẩm chúc vu nhất cá tổ, đồng tổ nội tối đa chỉ năng tuyển trạch nhất cá vật phẩm. Cầu bối bao năng trang tái vật phẩm đích tối đại tổng giới trị.

Giá chủng đề chẩm ma tưởng ni? Kỳ thật thị tòng “Tại sở hữu vật phẩm trung tuyển trạch nhất kiện” biến thành liễu “Tòng đương tiền tổ trung tuyển trạch nhất kiện”, vu thị tựu đối mỗi nhất tổ tiến hành nhất thứ 0-1 bối bao tựu khả dĩ liễu.

Tái thuyết nhất thuyết như hà tiến hành tồn trữ. Ngã môn khả dĩ tươngBiểu kỳ đệTổ đích đệKiện vật phẩm đích biên hào thị đa thiếu, tái dụngBiểu kỳ đệTổ vật phẩm hữu đa thiếu cá.

Thật hiện

1
2
3
4
5
6
for(intk=1;kts;k++)// tuần hoàn mỗi nhất tổ
for(inti=m;i>=0;i--)// tuần hoàn bối bao dung lượng
for(intj=1;jcnt[k];j++)// tuần hoàn cai tổ đích mỗi nhất cá vật phẩm
if(i>=w[t[k][j]])// bối bao dung lượng sung túc
dp[i]=max(dp[i],
dp[i-w[t[k][j]]]+c[t[k][j]]);// tượng 0-1 bối bao nhất dạng trạng thái chuyển di
1
2
3
4
5
6
7
forkinrange(1,ts+1):# tuần hoàn mỗi nhất tổ
foriinrange(m,-1,-1):# tuần hoàn bối bao dung lượng
forjinrange(1,cnt[k]+1):# tuần hoàn cai tổ đích mỗi nhất cá vật phẩm
ifi>=w[t[k][j]]:# bối bao dung lượng sung túc
dp[i]=max(
dp[i],dp[i-w[t[k][j]]]+c[t[k][j]]
)# tượng 0-1 bối bao nhất dạng trạng thái chuyển di

Giá lí yếu chú ý:Nhất định bất năng cảo thác tuần hoàn thuận tự,Giá dạng tài năng bảo chứng chính xác tính.

Hữu y lại đích bối bao

“Luogu P1064” kim minh đích dự toán phương án

Kim minh hữuNguyên tiền, tưởng yếu mãiCá vật phẩm, đệKiện vật phẩm đích giới cách vi,Trọng yếu độ vi.Hữu ta vật phẩm thị tòng chúc vu mỗ cá chủ kiện vật phẩm đích phụ kiện, yếu mãi giá cá vật phẩm, tất tu cấu mãi tha đích chủ kiện.

Mục tiêu thị nhượng sở hữu cấu mãi đích vật phẩm đíchChi hòa tối đại.

Khảo lự phân loại thảo luận. Đối vu nhất cá chủ kiện hòa tha đích nhược càn phụ kiện, hữu dĩ hạ kỉ chủng khả năng: Chỉ mãi chủ kiện, mãi chủ kiện + mỗ ta phụ kiện. Nhân vi giá kỉ chủng khả năng tính chỉ năng tuyển nhất chủng, sở dĩ khả dĩ tương giá khán thành phân tổ bối bao.

Như quả thị đa xoa thụ đích tập hợp, tắc yếu tiên toán tử tiết điểm đích tập hợp, tối hậu toán phụ tiết điểm đích tập hợp.

Phiếm hóa vật phẩm đích bối bao

Giá chủng bối bao, một hữu cố định đích phí dụng hòa giới trị, tha đích giới trị thị tùy trứ phân phối cấp tha đích phí dụng nhi định. Tại bối bao dung lượng viĐích bối bao vấn đề trung, đương phân phối cấp tha đích phí dụng viThời, năng đắc đáo đích giới trị tựu thị.Giá thời, tương cố định đích giới trị hoán thành hàm sổ đích dẫn dụng tức khả.

Tạp hạng

Tiểu ưu hóa

Căn cư tham tâm nguyên lý, đương phí dụng tương đồng thời, chỉ nhu bảo lưu giới trị tối cao đích; đương giới trị nhất định thời, chỉ nhu bảo lưu phí dụng tối đê đích; đương hữu lưỡng kiện vật phẩmThảĐích giới trị đại vuĐích giới trị tịnh thảĐích phí dụng tiểu vuĐích phí dụng thời, chỉ nhu bảo lưu.

Bối bao vấn đề biến chủng

Thâu xuất phương án

Thâu xuất phương án kỳ thật tựu thị ký lục hạ lai bối bao trung đích mỗ nhất cá trạng thái thị chẩm ma thôi xuất lai đích. Ngã môn khả dĩ dụngBiểu kỳ đệKiện vật phẩm chiêm dụng không gian viĐích thời hầu thị phủ tuyển trạch liễu thử vật phẩm. Nhiên hậu tại chuyển di thời ký lục thị tuyển dụng liễu na nhất chủng sách lược ( tuyển hoặc bất tuyển ). Thâu xuất thời đích ngụy đại mã:

1
2
3
4
5
6
7
8
9
10
11
intv=V;// ký lục đương tiền đích tồn trữ không gian

// nhân vi tối hậu nhất kiện vật phẩm tồn trữ đích thị tối chung trạng thái, sở dĩ tòng tối hậu nhất kiện vật phẩm tiến hành tuần hoàn
for(Tòng tối hậu nhất kiện tuần hoàn chí đệ nhất kiện){
if(g[i][v]){
Tuyển liễu đệiHạng vật phẩm;
v-=ĐệiHạng vật phẩm đích trọng lượng;
}else{
Vị tuyển đệiHạng vật phẩm;
}
}

Cầu phương án sổ

Đối vu cấp định đích nhất cá bối bao dung lượng, vật phẩm phí dụng, kỳ tha quan hệ đẳng đích vấn đề, cầu trang đáo nhất định dung lượng đích phương án tổng sổ.

Giá chủng vấn đề tựu thị bả cầu tối đại trị hoán thành cầu hòa tức khả.

Lệ như 0-1 bối bao vấn đề đích chuyển di phương trình tựu biến thành liễu:

Sơ thủy điều kiện:

Nhân vi đương dung lượng viThời dã hữu nhất cá phương án, tức thập ma đô bất trang.

Cầu tối ưu phương án tổng sổ

Yếu cầu tối ưu phương án tổng sổ, ngã môn yếu đối 0-1 bối bao lí đíchSổ tổ đích định nghĩa sảo tác tu cải, DP trạng tháiVi tại chỉ năng phóng tiềnCá vật phẩm đích tình huống hạ, dung lượng viĐích bối bao “Chính hảo trang mãn” sở năng đạt đáo đích tối đại tổng giới trị.

Giá dạng tu cải chi hậu, mỗi nhất chủng DP trạng thái đô khả dĩ dụng nhất cáLai biểu kỳ phương án sổ.

Biểu kỳ chỉ khảo lự tiềnCá vật phẩm thời bối bao thể tích “Chính hảo” thịThời đích tối đại giới trị.

Biểu kỳ chỉ khảo lự tiềnCá vật phẩm thời bối bao thể tích “Chính hảo” thịThời đích phương án sổ.

Chuyển di phương trình:

Như quảThảThuyết minh ngã môn thử thời bất tuyển trạch bả vật phẩm phóng nhập bối bao canh ưu, phương án sổ doChuyển di quá lai,

Như quảThảThuyết minh ngã môn thử thời tuyển trạch bả vật phẩm phóng nhập bối bao canh ưu, phương án sổ doChuyển di quá lai,

Như quảThảThuyết minh phóng nhập hoặc bất phóng nhập đô năng thủ đắc tối ưu giải, phương án sổ doHòaChuyển di quá lai.

Sơ thủy điều kiện:

1
2
3
memset(f,0x3f3f,sizeof(f));// tị miễn một hữu trang mãn nhi tiến hành liễu chuyển di
f[0]=0;
g[0]=1;// thập ma đô bất trang thị nhất chủng phương án

Nhân vi bối bao thể tích tối đại trị hữu khả năng trang bất mãn, sở dĩ tối ưu giải bất nhất định thị.

Tối hậu ngã môn thông quá trảo đáo tối ưu giải đích giới trị, bảSổ tổ lí thủ đáo tối ưu giải đích sở hữu phương án sổ tương gia tức khả.

Thật hiện
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
for(inti=0;iN;i++){
for(intj=V;j>=v[i];j--){
inttmp=std::max(dp[j],dp[j-v[i]]+w[i]);
intc=0;
if(tmp==dp[j])c+=cnt[j];// như quả tòng dp[j] chuyển di
if(tmp==dp[j-v[i]]+w[i])c+=cnt[j-v[i]];// như quả tòng dp[j-v[i]] chuyển di
dp[j]=tmp;
cnt[j]=c;
}
}
intmax=0;// tầm trảo tối ưu giải
for(inti=0;iV;i++){
max=std::max(max,dp[i]);
}
intres=0;
for(inti=0;iV;i++){
if(dp[i]==max){
res+=cnt[i];// cầu hòa tối ưu giải phương án sổ
}
}

Bối bao đích đệ k ưu giải

Phổ thông đích 0-1 bối bao thị yếu cầu tối ưu giải, tại phổ thông đích bối bao DP phương pháp thượng sảo tác cải động, tăng gia nhất duy dụng vu ký lục đương tiền trạng thái hạ đích tiền k ưu giải, tức khả đắc đáo cầu 0-1 bối bao đệƯu giải đích toán pháp. Cụ thể lai giảng:Ký lục liễu tiềnCá vật phẩm trung, tuyển trạch đích vật phẩm tổng thể tích viThời, năng cú đắc đáo đích đệĐại đích giới trị hòa. Giá cá trạng thái khả dĩ lý giải vi tương phổ thông 0-1 bối bao chỉ dụng ký lục nhất cá sổ cư đíchKhoách triển vi ký lục nhất cá hữu tự đích ưu giải tự liệt. Chuyển di thời, phổ thông bối bao tối ưu giải đích cầu pháp thị,Hiện tại ngã môn tắc thị yếu hợp tịnh,Giá lưỡng cá đại tiểu viĐích đệ giảm tự liệt, tịnh bảo lưu hợp tịnh hậu tiềnĐại đích giới trị ký tạiLí, giá nhất bộ lợi dụng song chỉ châm pháp, phục tạp độ thịĐích, chỉnh thể thời gian phục tạp độ vi.Không gian thượng, thử phương pháp dữ phổ thông bối bao nhất dạng khả dĩ áp súc điệu đệ nhất duy, phục tạp độ thịĐích.

Lệ đềHDU 2639 Bone Collector II

Cầu 0-1 bối bao đích nghiêm cách đệƯu giải.

Thật hiện
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
memset(dp,0,sizeof(dp));
inti,j,p,x,y,z;
scanf("%d%d%d",&n,&m,&K);
for(i=0;in;i++)scanf("%d",&w[i]);
for(i=0;in;i++)scanf("%d",&c[i]);
for(i=0;in;i++){
for(j=m;j>=c[i];j--){
for(p=1;pK;p++){
a[p]=dp[j-c[i]][p]+w[i];
b[p]=dp[j][p];
}
a[p]=b[p]=-1;
x=y=z=1;
while(zK&&(a[x]!=-1||b[y]!=-1)){
if(a[x]>b[y])
dp[j][z]=a[x++];
else
dp[j][z]=b[y++];
if(dp[j][z]!=dp[j][z-1])z++;
}
}
}
printf("%d\n",dp[m][K]);

Tham khảo tư liêu dữ chú thích