öλÔÓéÀֵǼÈë¿ÚÏÂÔØ

±±¾©½»Í¨´óѧ¼ÆËã»úöλÔÓéÀֵǼÈë¿ÚÏÂÔØöλÔÓéÀÖ¹Ù·½appÏÂÔØ¸¨µ¼°à±Ê¼Ç£¨Êý¾Ý½á¹¹£©(2)

±±¾©½»Í¨´óѧ /2009-04-04


    for (i=1; i<=n ; i++)   printf(¡°      %d¡±,a[i]);
    printf(¡°\n¡±);
  }
else   for(i=1; i<=n; i++)
      if (ok(i,j)) //¼ì²é(i,j)ÉÏÄÜ·ñ·Å
{  a[j]=i;  queen(j+1);}//ÔÚ(i,j)ÉÏ·Å£¬µÚjÁеĻʺóÔÚµÚiÐÐ
          }
         main ()
           {  queen(1);  } // ´ÓµÚÒ»ÁпªÊ¼ÊÔ̽
10£®¶ÓÁУº ×¢ÒâÑ­»·¶ÓÁÐÅпÕÅÐÂúµÄÌõ¼þ£¨Ôö¼ÓÒ»¸öÔªËØµÄ¿Õ¼ä£©
11.ÔÚ·ÇÑ­»·¶ÓÁÐÖУº
µ±Q.front=Q.rear<>0ʱÄÜ·ñÅпգ¿    ÄÜ
µ± Q.rear=0ʱ£¬ÄÜ·ñÅпգ¿          ÄÜ
   Q.front=0ʱ£¬ÄÜ·ñÅпՠ         ²»ÄÜ
13. Ñ­»·¶ÓÁÐÅпÕÅÐÂú¼°Ç󳤶È
¿Õ£º Q.front=Q.rear
Âú£º (Q.rear+1)%MAXSIZE=Q.front
³¤¶È£º£¨Q.rear-Qfront+MAXSIZE£©%MAXSIZE
14. k½×ì³²¨ÄÇêüÐòÁÐ
ÊÔÓÃÑ­»·¶ÓÁбàдÇók½×ì³²¨ÄÇêüÐòÁÐÖеÄǰn+1Ïf0.,f1,f2,¡­.fn£©µÄËã·¨£¬ÒªÇóÂú×ãfn<=max¶øfn+1> max£¬ ÆäÖÐmaxΪij¸öÔ¼¶¨µÄ³£Êý¡££¨×¢Òâ±¾ÌâËùÓõÄÑ­»·¶ÓÁеÄÈÝÁ¿Îªk£©
·½·¨Ò»£ºfi=fi-1+¡­fi-k£¨Î´¿¼¹ý£©
        ¶ø fk=f0+¡­.f(k-1),ÓÃfk³åµôf0,ÓÃf(k+1)³åµôf1,ÒÀ´ÎÑ­»·Çó³öfk,Ö±µ½·¢fk>maxΪֹ
    Void fb(int k; int max)
     { for(i=0;i<=k-2;i++) {f[i]=0; cq.elem[i]=0;}
       cq.elem[k-1]=1; cq.rear]k-1;n=k;
       while (cq.elem[cq.rear]<max)
         {f[n]=0;
          for(j=0;j<k;j++) f[n]=f[n]+cq.elem[j];
          cq.rear=(cq.rear+1)%k;
          cq.elem[cq.rear]=f[n]; n++;
         }
       if(cq.elem[cq.rear]>max) n=n-2;
       else n=n-1;
       if (max=1) {n=k; f[k]=1;}
    }
·½·¨¶þ£ºfi=f(i-1)+¡­f(i-k);  f(i+1)=fi+f(i-1)+¡­.f(i-k+1)
        Á½Ê½Ïà¼õ£ºf(i+1)=2*fi-f(i-k)
                  f(k)=2*f(k)-f(0)  (ʱ¼ä¸´ÔÓ¶ÈҪС)
   Void  fb (int k;  int max;)
    {  for (i=0;i<=k-2; i++) {f[i]=0; cq.elem[i]=0;}
        cq.elem[k-1]=cq.elem[k]=1; cq.rear=k;  n=k+1;  f[k-1]=f[k]=1;
       while (cq.elem[cq.rear]<max)
         { j=(cq.elem+1)%(k+1);
         f[n]=cq.elem[cq.rear]*2-cq.elem[j];
         cq.elem[j]=f[n];  cq.rear=j; n++;
        }
       if (cq.elem[cq.rear]>max) n=n-2;  else n=n-1;
       if (max= =1) {n=k; f[k]=1;}
       if (max= =0) n=k_2;
   }
µÚËÄÕ£º´®
1. Öص㣺KMPËã·¨
£¨ÒªÇóÊéÉϵijÌÐòÒª¿´¶®£¬±ÈÈç˵04Äê¾Í³öÁËģʽƥÅäµÄÔĶÁ³ÌÐòµÄÌâÄ¿£©
»áÇónextºÍnextval Êý×éµÄÖµ¡£
±¾ÕÂöλÔÓéÀֵǼÈë¿ÚÏÂÔØÄÚÈÝ»ù±¾¾ÍÊǼ¸¸öÐÎʽ£¬ÒªÃ´¸øÄã¸ö×Ö·û´®ÒªÇóËüµÄnext»ònextvalÊý×飬»òÕß»á¸ø³öÄãÖ÷´®ºÍ×Ó´®£¬ÒªÇóÄãд³öÆ¥ÅäµÄ¹ý³Ì£¬»¹ÓоÍÊÇ04ÄêµÄÄÇÖÖÔĶÁµÄÐÎʽÁË£¡
µÚÎåÕ£ºÊý×飬¹ãÒå±í
1. Á½Àà¾ØÕó
1£©£ºÌØÊâ¾ØÕ󣺷Ç0ÔªµÄ·Ö²¼ÓÐÒ»¶¨¹æÔò¡£Èç¶Ô³Æ¾ØÕó£¬Èý½Ç¾ØÕ󣬶ԽǾØÕó
2£©£ºÏ¡Êè¾ØÕó
2. ¶Ô³Æ¾ØÕ󣨳öÑ¡ÔñºÍÌî¿ÕµÄ»ú»á½Ï´ó£©
¶Ô³Æ¾ØÕó×îÉÙÐèÒª¶àÉÙ¸ö´æ´¢µ¥Ôª n(n+1)/2¸ö
¹ØÏµ£ºk=          (²Î¿´P95)
×¢ÒâÔÚÈ·¶¨¶Ô³Æ¾ØÕóºÍ¶ÔӦһάÊý×éµÄλÖõÄÌâĿʱһ¶¨Òª×¢ÒâÊÇÒÔÐÐÐò»¹ÊÇÁÐÐò£¬Ï±êÊÇ´Ó0¿ªÊ¼»¹ÊÇ´Ó1¿ªÊ¼
Àý£ºÈô1<=i,j<=n ÒÑÖªi, j Çók             ¹«Ê½1
      k=(i*(i-1))/2+j-1          (i>=j)     
k=(j*(j-1))/2+i-1          (i<j)
Èô0<=i,j<=n-1ÒÑÖªi, j Çók            ¹«Ê½2
k=(i*(i+1))/2+j          (i>=j)
k=(j*(j+1))/2+i          (i<j)
Èô1<=i,j<=n,ÒÑÖªk, Çói,j      £¨Óù«Ê½1£©
  ÒÑÖªk=49 Çói,j
  ½«j=i ´úÈ루¹«Ê½1£©µÃ k+1<=i(i+1)/2 Çóʹ֮³ÉÁ¢µÄ×îСi .È»ºóÔÙ½«i Öµ´úÈ루¹«Ê½1£©Çó³öj
Èô 0<=i,j<=n-1 ÒÑÖªkÇói,j     (ͬÉÏÓù«Ê½2)
ÒÔÉÏ·½·¨Ï£Íû´ó¼ÒÕÆÎÕ£¡
3. ÏÂÈý½Ç¾ØÕó£¨ÀàËÆÓڶԳƾØÕó£©
4. ÉÏÈý½Ç¾ØÕó
Èô0<=i,j<=n-1ÒÑÖªi, j Çók  £¨ÒªÇó×Ô¼º»áÍÆµ¼£©
  µÚpÐÐÉÏÇ¡ºÃÓÐn-p¸öÔªËØ£¬ÔÚiÐÐÉÏai,jǰÓÐj- i¸öÔªËØ£¬iǰÓÐi¸öÍêÕûÐÐ
  ËùÒÔ µÚI ÐÐǰ¹²ÓÐÔªËØ¸öÊýΪ£º¡Æ(n-p) £¨ÇóºÍÏÂÏÞΪp=0,ÉÏÏÞΪi-1£©=
  (i*(2n-i+1))/2
         ËùÒÔ k= (i*(2n-i+1))/2+j-i          i<=j (ÉÏÈý½Ç)
         Èô1<=i,j<=n ÒÑÖªi, j ÇókµÄÇé¿ö´ó¼Ò¿ÉÒÔ×Ô¼ºÈ¥ÍƵ¼
            k=((i-1)(2n-i+2))/2+(j-i+1)-1
        ×¢Ò⣺ÒÔÉϵÄkÖµ¾ù´Ó0¿ªÊ¼¡£ÆäʵÎÒÈÏΪ×öÕâÖÖÌâÄ¿£¬Ê×ÏÈ¿´Á½µã£¬Ò»ÊǾØÕóµÄÆðʼϱ꣬¶þÊÇÊý×éµÄ¿ªÊ¼Ï±꣡¼ìÑéÄãµÄ¹«Ê½ÊÇ·ñÕýÈ·Äã¿ÉÒÔȡһ¸ö±È½ÏÈÝÒ×¼ÆËãµÄÔªËØ±ÈÈça0,2´úÈëµ½¹«Ê½¼ìÑéÏ£¬ÒòΪa0,2ÊǾØÕóµÄµÚÈý¸öÔªËØ£¡
Èý½Ç¾ØÕóµÄ´æ´¢µ¥ÔªÒª±È¶Ô³Æ¾ØÕó¶àÒ»¸öÔªËØ£¬ÓÃÓÚ´æ´¢Ïà¶ÔÈý½Ç¾ØÕóµÄ³£       ÊýÖµc£¬´æ·ÅÔÚµÚn(n+1)/2+1¸öµ¥ÔªÀï
        ÀýÈ磺ÒÑÖªÒ»¸ö9½×ÉÏÈý½Ç¾ØÕóA°´Ðд洢ÔÚһάÊý×éBÖУ¬B[0]´æ·Å¾ØÕóÖеÚÒ»¸öÔªËØa11ÔòB[31]´æ·ÅÔªËØ£¨a5,6£©£¬°´ÁÐÐò´æ·Å£¬´æ·ÅÔªËØ£¨a4,8 £©
              ÉÏÃæÌâÄ¿ÔÚ¼ÒôÖоùÓÐÏêϸ½²½â¹ý³Ì¡£
        ÒÔÉϼÆËãÿÄêÖÁÉÙ»áÓÐÒ»¸öÌî¿ÕÌ⣡
5. Èý¶Ô½Ç¾ØÕó
°´ÐÐÐò 1<=i,j<=n ¡£Loc(aij)=Loc(a11)+3*(i-1)-1+j-i+2
ÈôÒ»¸ös£¨ËØÊý£©¶Ô½Ç¾ØÕóÂú×ãÏÂÊöÌõ¼þ£º
Èô0<=i,j<=n-1£¬ÒÑÖªi, j Çók ¡£¡¡k=(3*i-1)+(j-i+2)-1=2i+j
Èô0<=i,j<=n-1ÒÑÖªk Çói, j   i=(k+1)/3,  j=k-2*i.
Èô1<=i,j<=n¡¡ÒÑÖªi, j Çók¡£ k=3*(i-1)-1+(j-i+2)-1=2*i+j-3
Èô0<=i,j<=n-1ÒÑÖªk Çói, j.  i=(k+1)/3+1 ,   j=k-2*i+3
         ÒÔÉϹ«Ê½ÎÒÈÏΪûÓбØÒªÈ¥¼Ç£¬¿ÉÒԲο¼Ò»ÏÂÈËÓʳö°æÉçµÄ¡´Êý¾Ý½á¹¹¿Î³Ì¸¨µ¼ÓëϰÌâ½âÎö¡µÕâ±¾Ê飬ÀïÃæÓоßÌåµÄÍÆµ¼¹ý³Ì¡£ÏóÉÏÃæµÄËùÓеļÆËã¶¼ÓоßÌåÀýÌâ
¡¡¡¡¡¡£¶.Ëæ»úÏ¡Êè¾ØÕó´æ´¢£¨Ö»ÕÆÎÕÈýÔª×飬ÐÐÂß¼­£¬Ê®×ÖÁ´±í²»ÒªÇóÕÆÎÕ£©
¡¡¡¡¡¡¡¡ÊìϤ´øÐбíµÄÏ¡Êè¾ØÕóµÄ´æ´¢½á¹¹£¬»á¸ù¾ÝÐбíÍÆµ¼Ô­¾ØÕ󣨲ο´04ÄêµÄ¼ò´ðÌ⣩
6. ¹ãÒå±í£ºÅжϹãÒå±íµÄÉî¶È£¬¹ã¶È£¬ºÍ±í³¤¡£»á»­¹ãÒå±íÓÃÊéÉϵĵÚÒ»ÖÖ´æ´¢½á¹¹¡£
ÓкܶàÅóÓÑ»­¹ãÒå±íµÄʱºò¾­³£»á³ö´í£¬ÎÒ¾õµÃ¿ÉÒÔÓÃÒ»¸ö·½·¨È¥¼ìÑéÄã»­µÄͼÊÇ·ñÕýÈ·£¡Äã¿ÉÒÔ¸ù¾Ý¹ãÒå±íµÄ±í´ïʽÓÃgethead()ºÍgettail()º¯ÊýÈ¡µÃijһ¸öÔªËØ£¨ÕâÊÇһϵÁеIJÙ×÷×éºÏ£¬²Î¿´04ÄêµÄÌî¿ÕµÚÁùÌâµÄÐÎʽ£©£¬È»ºó¿´ÔÚÄã»­µÄ¹ãÒå±íÖдӱíÍ·¿ªÊ¼È¡µÃ¸ÃÔªËØÊÇ·ñÒ²¾­ÀúÁËÕâЩ²Ù×÷¾ÍÐÐÁË
µÚÁùÕ£ºÊ÷Óë¶þ²æÊ÷
£±. ÕÆÎÕ¶þ²æÊ÷µÄ5¸öÐÔÖÊ£¬²¢ÄÜÁé»îÔËÓ㡵ÚÈý¸öÐÔÖʵÄÖ¤Ã÷±ØÐëÕÆÎÕ£¨²Î¿´04ÄêµÄ¼ò´ðÌ⣱£©
£². ÒÑÖªÒ»¿Ã¶ÈΪmµÄÊ÷£¬ÓÐn1¸ö¶ÈΪ£±µÄ½áµã£¬ÓÐn2¸ö¶ÈΪ£²µÄ½áµã£¬ÓÐnm¸ö¶ÈΪm µÄ½áµã£¬ÎÊÓжàÉÙÒ¶×Ó½áµã£¿

Ïà¹Ø»°Ìâ/

  • ÁìÏÞʱ´ó¶îÓÅ»Ýȯ,Ïí±¾Õ¾Õý°æöλÔÓéÀֵǼÈë¿ÚÏÂÔØöλÔÓéÀÖ¹Ù·½appÏÂÔØ!
    ´ó¶îÓÅ»Ýȯ
    ÓÅ»ÝȯÁìÈ¡ºó72СʱÄÚÓÐЧ£¬10ÍòÖÖ×îÐÂöλÔÓéÀֵǼÈë¿ÚÏÂÔØ¿¼Ö¤Ààµç×Ó´òÓ¡öλÔÓéÀÖ¹Ù·½appÏÂÔØÈÎÄãÑ¡¡£º­¸ÇÈ«¹ú500ÓàËùԺУöλÔÓéÀÖ¹Ù·½appÏÂÔØöλÔÓéÀֵǼÈë¿ÚÏÂÔØ¿Î¡¢200¶àÖÖÖ°Òµ×ʸñöλÔÓéÀֵǼÈë¿ÚÏÂÔØ¡¢1100¶àÖÖ¾­µä½Ì²Ä£¬²úÆ·ÀàÐͰüº¬µç×ÓÊé¡¢Ìâ¿â¡¢È«Ì×öλÔÓéÀÖ¹Ù·½appÏÂÔØÒÔ¼°ÊÓÆµ£¬ÎÞÂÛÄúÊÇöλÔÓéÀÖ¹Ù·½appÏÂÔØ¸´Ï°¡¢¿¼Ö¤Ë¢Ì⣬»¹ÊÇ¿¼Ç°³å´ÌµÈ£¬²»Í¬ÀàÐ͵IJúÆ·¿ÉÂú×ãÄúѧϰÉϵIJ»Í¬ÐèÇó¡£ ...
    öλÔÓéÀֵǼÈë¿ÚÏÂÔØÓÅ»Ýȯ ±¾Õ¾Ð¡±à FreeÒ¼°Û·ÖÑ§Ï°Íø 2022-09-19
öλÔÓéÀÖ(xinhui)¹Ù·½ÍøÕ¾_öλÔÓéÀÖappÏÂÔØÈë¿Ú