µÚÒ»·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

µÚ6½² - - ¶¯Ì¬¹æ»®×¨Ìâ½²×ù

À´Ô´£ºÓû§·ÖÏí ʱ¼ä£º2025/6/11 2:56:56 ±¾ÎÄÓÉloading ·ÖÏí ÏÂÔØÕâÆªÎĵµÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:xxxxxxx»òQQ£ºxxxxxx ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣

#include #define N 100 void main()

{int n,c1,c2,i,j,s,cw,sw,w[N],m[N][N];

printf(\ printf(\ s=0;

for(i=1;i<=n;i++) // ÊäÈën¸ö¼¯×°ÏäÖØÁ¿ÕûÊý {scanf(\

if(s>c1+c2) return; // È·±£n¸ö¼¯×°ÏäÖØÁ¿Ö®ºÍ²»´óÓÚc1+c2 printf(\¼¯×°ÏäÖØÁ¿£º\ for(i=1;i<=n;i++)

printf(\

printf(\

printf(\ for(j=0;j

for(j=w[n];j<=c1;j++) m[n][j]=w[n]; // Ê×ÏȼÆËãm(n,j) for(i=n?1;i>=1;i??) // ÄæÍÆ¼ÆËãm(i,j) for(j=0;j<=c1;j++)

if(j>=w[i] && m[i+1][j]

m[i][j]=m[i+1][j];

printf(\// µÃ×îÓÅÖµm(1,c1) if(m[1][c1]<=c1 && m[1][c1]>=s?c2) // ÅжÏÊÇ·ñÓнâ {printf(\ cw=m[1][c1];

for(sw=0,i=1;i<=n?1;i++) // ¹¹Ôì×îÓŽ⣬Êä³ö´¬1µÄ×°ÔØ if(m[i][cw]>m[i+1][cw]) {cw?=w[i];sw+=w[i]; printf(\

w[i]=0; // w(i)×°ÔØºó¸³0,Ϊװ´¬2×÷×¼±¸ }

if(m[1][c1]?sw==w[n]) {printf(\ sw+=w[n]; w[n]=0; }

printf(\

printf(\

for(sw=0,i=1;i<=n;i++) // Êä³ö´¬2µÄ×°ÔØ if(w[i]>0) {sw+=w[i];

printf(\ }

printf(\ }

else printf(\´Ë×°ÔØÎÊÌâÎ޽⣡\// Êä³öÎÞ½âÐÅÏ¢ }

4£®³ÌÐòÔËÐÐÓë˵Ã÷ ÔËÐгÌÐò£¬ÊäÈ룺 input c1,c2:120,126 input n:15

¼¯×°ÏäÖØÁ¿£º26 19 24 13 10 20 15 12 6 5 22 7 17 27 20

n=15,s=243 c1=120, c2=126 maxc1=120

C1: 15 12 22 7 17 27 20 (120)

C2: 26 19 24 13 10 20 6 5 (123)

×¢Ò⣺ÉÏÊöËùÇó½âµÄ×°ÔØÎÊÌâÖУ¬ÒªÇó¸÷¸ö¼¯×°ÏäµÄÖØÁ¿ÓëÁ½´¬µÄÔØÖØÁ¿c1,c2¾ùΪÕýÕûÊý¡£

6.5 0-1±³°üÎÊÌâ

0?1±³°üÎÊÌâÊÇÓ¦Óö¯Ì¬¹æ»®Éè¼ÆÇó½âµÄµäÐÍÀýÌâ¡£±¾½ÚÔÚÓ¦Óö¯Ì¬¹æ»®²ÉÓÃÄæÍÆÓëË³ÍÆÁ½ÖÖÉè¼ÆÇó½âÒ»°ã0?1±³°üÎÊÌâ»ù´¡ÉÏ£¬Íع㵽´øÁ½¸öÔ¼ÊøÌõ¼þµÄ¶þά0?1±³°üÎÊÌâµÄÉè¼ÆÇó½â¡£

6.5.1 0?1±³°üÎÊÌâ

1. °¸ÀýÌá³ö

ÒÑÖªnÖÖÎïÆ·ºÍÒ»¸ö¿ÉÈÝÄÉcÖØÁ¿µÄ±³°ü£¬ÎïÆ·iµÄÖØÁ¿Îªwi£¬²úÉúµÄÐ§ÒæÎª pi¡£ÔÚ×°°üʱÎïÆ·i¿ÉÒÔ×°È룬Ҳ¿ÉÒÔ²»×°£¬µ«²»¿É²ð¿ª×°¡£ÎïÆ·i¿É²úÉúµÄÐ§ÒæÎªxipi£¬

ÕâÀïxi?{0,1},c,wi,pi?N?¡£ÎÊÈçºÎ×°°ü£¬ËùµÃ×°°ü×ÜÐ§Òæ×î´ó¡£

2£®×îÓÅ×Ó½á¹¹ÌØÐÔ

0?1±³°üµÄ×îÓŽâ¾ßÓÐ×îÓÅ×Ó½á¹¹ÌØÐÔ¡£Éè(x1,x2,?,xn),xi?{0,1}ÊÇ0?1±³°üµÄ×îÓŽ⣬

ÄÇô(x2,x3,?,xn)±ØÈ»ÊÇ0?1±³°ü×ÓÎÊÌâµÄ×îÓŽ⣺±³°üÔØÖØÁ¿c?x1w1£¬¹²ÓÐn?1¼þÎïÆ·£¬ ÎïÆ·iµÄÖØÁ¿Îªwi£¬²úÉúµÄÐ§ÒæÎªpi£¬2¡Üi¡Ün¡£Èô²»È»£¬Éè(z2,z3,?,zn)ÊǸÃ×ÓÎÊÌâµÄ×î

ÓŽ⣬¶ø(x2,x3,?,xn)²»ÊǸÃ×ÓÎÊÌâµÄ×îÓŽ⣬ÓÉ´Ë¿ÉÖª

2¡Üi¡Ün?zipi£¾2¡Üi¡Ün?xipi ÇÒ x1w1?2¡Üi¡Ün?ziwi¡Üc

Òò´Ë

x1p1?2¡Üi¡Ün?zipi£¾?xipi ÇÒ x1w1?1¡Üi¡Ün2¡Üi¡Ün?ziwi¡Üc

ÏÔÈ»(x1,z2,z3,?,zn)±È(x1,x2,?,xn)ÊÕÒæ¸ü¸ß£¬(x1,x2,?,xn)²»ÊDZ³°üÎÊÌâµÄ×îÓŽ⣬

Óë

¼ÙÉèì¶Ü¡£Òò´Ë£¬(x2,x3,?,xn)±ØÈ»ÊÇ0?1±³°ü×ÓÎÊÌâµÄÒ»¸ö×îÓŽ⡣×îÓÅÐÔÔ­Àí¶Ô0?1

±³

°üÎÊÌâ³ÉÁ¢¡£

3£®¶¯Ì¬¹æ»®ÄæÍÆÇó½â £¨1£©Ëã·¨Éè¼Æ

ÓëÒ»°ã±³°üÎÊÌⲻͬ£¬0?1±³°üÎÊÌâÒªÇóxi?{0,1},¼´ÎïÆ·i²»ÄÜÕÛ¿ª£¬»òÕßÕûÌå×°È룬 »òÕß²»×°¡£µ±Ô¼¶¨Ã¿¼þÎïÆ·µÄÖØÁ¿ÓëÐ§Òæ¾ùΪÕûÊýʱ£¬¿ÉÓö¯Ì¬¹æ»®Çó½â¡£

°´Ã¿Ò»¼þÎïÆ·×°°üΪһ¸ö½×¶Î£¬¹²·ÖΪn¸ö½×¶Î¡£

Ä¿±êº¯Êý£ºmax?xipi

i?1n,i?1,2,?,n) Ô¼ÊøÌõ¼þ£º?xiwi¡Üc,(xi?{0,1},c,wi,pi?N?i?1n1) ½¨Á¢µÝÍÆ¹ØÏµ

Éèm(i, j)Ϊ±³°üÈÝÁ¿j£¬¿ÉÈ¡ÎïÆ··¶Î§Îªi,i+1,?,nµÄ×î´óÐ§ÒæÖµ¡£Ôò µ±0¡Üj

²»×°ÈëÎïÆ·i£¬Õâʱ×î´óÐ§ÒæÖµÎªm(i+1,j)£»

×°ÈëÎïÆ·i£¬ÕâʱÒѲúÉúÐ§Òæp(i)£¬±³°üÊ£ÓàÈÝ»ýj?w(i)£¬¿ÉÒÔÑ¡ÔñÎïÆ·i+1,?,nÀ´×°£¬×î´óÐ§ÒæÖµÎªm(i+1,j?w(i))+p(i)¡£

ÎÒÃÇÆÚÍûµÄ×î´óÐ§ÒæÖµÊÇÁ½ÕßÖеÄ×î´óÕß¡£ÓÚÊÇÓеÝÍÆ¹ØÏµ

0¡Üj£¼w(i)?m(i?1,j)m(i,j)??

max(m(i?1,j),m(i?1,j?w(i))?p(i))j¡Ýw(i)?ÆäÖÐw(i),p(i)¾ùΪÕýÕûÊý£¬x(i)¡Ê{0,1}, i=1,2,?, n¡£

±ß½çÌõ¼þΪ:

m(n,j)=p(n), µ±j¡Ýw(n)£» m(n,j)=0, µ±j

for(j=0;j<=c;j++)

if(j>=w[n] ) m[n][j]=p[n]; // Ê×ÏȼÆËãm(n,j) else m[n][j]=0;

for(i=n?1;i>=1;i??) // ÄæÍÆ¼ÆËãm(i,j) for(j=0;j<=c;j++)

if(j>=w[i] && m[i+1][j]

m[i][j]=m[i+1][j];

printf(¡°×îÓÅֵΪ%d¡±,m(1,c)); 3) ¹¹Ôì×îÓŽâ

Èôm(i,cw)>m(i+1,cw), i=1,2,?,n?1

Ôòx[i]=1£»×°ÔØw(i)¡£ÆäÖÐcw=c¿ªÊ¼£¬cw=cw?x(i)*w(i)¡£ ·ñÔò£¬x(i)=0,²»×°ÔØw(i)¡£

×îºó£¬Ëù×°ÔØµÄÎïÆ·Ð§ÒæÖ®ºÍÓë×îÓÅÖµ±È½Ï£¬¾ö¶¨w(n)ÊÇ·ñ×°ÔØ¡£ £¨2£©0/1±³°üÎÊÌâÄæÍÆC³ÌÐòʵÏÖ // ÄæÍÆ0/1±³°üÎÊÌâ #include #define N 50 void main()

{int p[N],w[N],m[N][5*N];

int i,j,c,cw,n,sw,sp;

printf(\// ÊäÈëÒÑÖªÌõ¼þ printf(\ for(i=1;i<=n;i++)

{printf(\ scanf(\ }

for(j=0;j<=c;j++) if(j>=w[n] )

m[n][j]=p[n]; // Ê×ÏȼÆËãm(n,j) else

m[n][j]=0;

for(i=n?1;i>=1;i??) // ÄæÍÆ¼ÆËãm(i,j) for(j=0;j<=c;j++)

if(j>=w[i] && m[i+1][j]

m[i][j]=m[i+1][j];

ËÑË÷¸ü¶à¹ØÓÚ£º µÚ6½² - - ¶¯Ì¬¹æ»®×¨Ìâ½²×ù µÄÎĵµ
µÚ6½² - - ¶¯Ì¬¹æ»®×¨Ìâ½²×ù.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c508sg09pbl02ra61xn9s_5.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©
ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top