锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久伊人精品一区二区三区,99久久精品国产综合一区,久久男人AV资源网站http://www.shnenglu.com/flagman/category/15579.html 鍞愪寒鐨勪釜浜烘妧鏈崥瀹? 銆愭榪庤漿杞斤紝浣嗚鏍囨槑鍘熶綔鑰呫?/description>zh-cnSun, 27 Feb 2011 12:40:00 GMTSun, 27 Feb 2011 12:40:00 GMT60TC SRM144DIV2 鍗冨垎棰橀瑙?/title><link>http://www.shnenglu.com/flagman/archive/2011/02/27/SRM144DIV2_KP.html</link><dc:creator>flagman</dc:creator><author>flagman</author><pubDate>Sun, 27 Feb 2011 09:09:00 GMT</pubDate><guid>http://www.shnenglu.com/flagman/archive/2011/02/27/SRM144DIV2_KP.html</guid><wfw:comment>http://www.shnenglu.com/flagman/comments/140741.html</wfw:comment><comments>http://www.shnenglu.com/flagman/archive/2011/02/27/SRM144DIV2_KP.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/flagman/comments/commentRss/140741.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/flagman/services/trackbacks/140741.html</trackback:ping><description><![CDATA[<p>榪欓亾鍗冨垎棰橈紝鍏跺疄鏄尯鏈夋剰鎬濈殑涓棰橈細<br>鎻愪緵浜嗙偣錛堣繖閲屾槸junction錛夊拰鐐逛箣闂寸殑璺濈錛堟垨浠d環錛夛紱<br>瑕佹眰浠ユ渶鐭殑璺濈錛堟垨鏈灝忎唬浠鳳級閬嶅巻鎵鏈夌殑鐐癸紝鍚屾椂姣忎釜鐐瑰彲浠ュ嬈¤闂紱</p> <p>鍒濈湅涔嬩笅錛岀粰浜虹殑鎰熻鏄浘璁虹浉鍏崇殑闂錛屾瘮濡傛梾琛岃呴棶棰樸佹鎷夌幆娓鎬箣綾匯?/p> <p>鍦ㄦ濊冭繖涓棶棰樼殑鏃跺欙紝蹇界劧闂磋仈鎯沖埌浜嗗浘璁轟腑鐨勬渶灝忕敓鎴愭爲錛岃櫧鐒跺茍涓嶆槸鐪熸瑕佸幓寰楀嚭鏈灝忕敓鎴愭爲錛?/p> <p>浣嗘槸鎸夌収鏈灝忕敓鎴愭爲鎵鎻愪緵鐨勬濊礬--榪欑偣寰堥噸瑕?-閭e氨鏄浘鍜屾爲涔嬮棿鏈夌潃鐩稿綋瀵嗗垏鐨勫叧緋伙細鍗充嬌鏈灝忕敓</p> <p>鎴愭爲騫朵笉鑳界洿鎺ヨВ鍐寵繖涓棶棰橈紝浣嗘槸瀹冧滑涔嬮棿瀛樺湪鐨勮繖灞傚叧緋葷殑紜彁渚涗簡瑙e喅闂鐨勪竴涓湁鐩婄殑灝濊瘯鏂?/p> <p>鍚戯紱</p> <p>浜庢槸錛屾濊冭繘浜嗕竴姝ワ紝闂浠?#8220;鍥?#8221;綆鍖栨垚浜?#8220;鏍?#8221;--濡備綍鎶婂綋鍓嶈繖涓棶棰橀噰鐢ㄦ爲鐨勭粨鏋勫拰鏂規硶琛ㄨ揪鍑?/p> <p>鏉ワ細鏍戠殑鏍硅妭鐐癸紝寰堣嚜鐒跺湴鎯沖埌浜嗙敱闂涓梾琛岀殑璧峰鑺傜偣鏉ヨ〃杈撅紱鐒跺悗錛岄殢鐫鑺傜偣鐨勪笉鏂姞鍏ワ紝鏍戝氨</p> <p>鑷劧鍦扮敓鎴愶紝姝ゅ鐨勫叧閿湪浜庡浣曠敓鎴愶紝鎴栬呰鑺傜偣鍔犲叆鐨勮鍒欙紝浠ュ強姣忎釜鑺傜偣涓轟簡閫傚簲榪欎釜瑙勫垯錛屾墍</p> <p>蹇呴』鎸佹湁鐨勭浉鍏沖睘鎬т俊鎭細鏈鐩存帴鐨勶紝鐖跺瓙鑺傜偣涔嬮棿鐨勫叧緋婚渶瑕佺淮鎶わ紝浠庣埗鑺傜偣鍒板瓙鑺傜偣鐨勮窛紱伙紙鎴栦唬</p> <p>浠鳳級蹇呴』瑕佷繚鐣欙紝鍏舵錛岃冭檻鍒板鏋滄瘡涓妭鐐歸兘緇存姢鐩稿叧鐨勮窛紱伙紙浠d環錛変俊鎭紝閭d箞浠庡綋鍓嶈妭鐐瑰埌鏍硅妭</p> <p>鐐圭殑浠d環涔熷氨鍙互鐢辨閫掓帹寰楀嚭錛岃繘涓姝ワ紝鎴戜滑鎵瑕佹眰鍑虹殑鏈鐭礬寰勶紙鎴栨渶灝忎唬浠鳳級涓嶅氨鍙互浠庝笂榪拌繖</p> <p>浜涜妭鐐逛腑緇存姢鐨勮窛紱諱俊鎭腑寰楀嚭鍚楋紵榪欐槸闈炲父鍏抽敭鐨勪竴姝ワ紝瀹冩妸褰撳墠鎴戜滑鏋勫緩鐨勬暟鎹粨鏋勫拰闂鐨勮姹?/p> <p>涔嬮棿寤虹珛璧蜂簡鐩稿綋鐩存帴鐨勮仈緋匯傝繖璇存槑鎴戜滑鐩墠鎬濊冪殑鏂瑰悜鏄湁浠峰肩殑鑰屼笖鏋佹湁鍙兘欏虹潃榪欎釜鏂瑰悜鍓嶈</p> <p>錛屽彲浠ュ緱鍑虹浉褰撲笉閿欑殑緇撴灉銆?/p> <p>鏄劇劧錛屾棦鐒惰姹傛渶鐭礬寰勶紙鏈灝忎唬浠鳳級錛岄偅涔堟垜浠洰鍓嶆瀯寤哄嚭鐨勮繖棰桱unction鏍戯紙鍥犱負鍏朵笂鐨勮妭鐐瑰湪棰?/p> <p>涓殑鐗╃悊鍚箟鏄唬琛↗unction錛岄偅榪欓噷鎴戜滑灝卞涓旂О鍏朵負Junction Tree錛夛紝鏍戜笂鐨勬瘡涓妭鐐逛篃搴斿綋淇濈暀</p> <p>鍦ㄥ叾涔嬩笅鐨勫瓙鏍戠殑鏈鐭礬寰勶紙鏈灝忎唬浠鳳級錛岃繖灝辯浉褰撲簬鎶婃瘡涓妭鐐歸兘浣滀負鏍硅妭鐐癸紝鐒跺悗姹傚嚭鍚勬潯瀛愯礬寰?/p> <p>鐨勪唬浠鳳紝騫舵瘮杈冨緱鍑烘渶鐭礬寰勶紙鏈灝忎唬浠鳳級錛屼互鍙婂湪榪欐潯鏈鐭礬寰勪笂鐨勭洿鎺ュ瓙鑺傜偣錛?/p> <p>姣忓姞鍏ヤ竴涓瓙鑺傜偣錛屽氨瑕佸涓婅堪宸叉瀯寤哄嚭鐨勮繖浜涙暟鎹粨鏋勪腑鐨勪俊鎭繘琛岀淮鎶わ紝浠ヨ皟鏁存瘡涓妭鐐瑰綋鍓嶇殑鏈</p> <p>鐭礬寰勪唬浠峰拰鐩稿簲榪欐潯璺緞涓婄殑鐩存帴瀛愯妭鐐癸紱褰撴墍鏈夊師“鍥?#8221;涓殑“杈?#8221;淇℃伅錛屼篃灝辨槸</p> <p>(fromJunction,toJuction,ductLength)鎵浠h〃鐨勶紙璧峰鐐癸紝緇堟鐐癸紝闀垮害浠d環錛夛紝閮芥寜鐓т笂榪版柟妗堝姞鍏?/p> <p>Juction Tree涔嬪悗錛屾垜浠彲浠ョ煡閬撲粠鏈鍒濈殑璧峰鑺傜偣錛堜篃灝辨槸Junction Tree鐨勬牴鑺傜偣錛夊埌鏈緇堣妭鐐圭殑錛?/p> <p>Junction Tree涓婄殑鏌愭潯璺緞涓婄殑鍙跺瓙鑺傜偣錛夌殑鏈鐭紙鏈灝忎唬浠鳳級璺緞浜嗐?/p> <p>瀵逛簬Juction Tree榪欎釜ADT鎶借薄鏁版嵁緇撴瀯鐨勫叿浣撳疄鐜幫紝鑰冭檻鍒頒紭鍏堥槦鍒椾腑浜屽弶鍫嗙殑緇忓吀瀹炵幇寰寰浣跨敤鏁扮粍</p> <p>錛屽悓鏃朵篃涓轟簡絎﹀悎TC SRM涓璐殑綆鎹鋒槑蹇殑紼嬪簭璁捐椋庢牸錛屾垜浠繖閲屽悓鏃朵嬌鐢ㄥ嚑涓暟緇勬潵緇存姢鍓嶈堪鏋勫緩</p> <p>鍑虹殑鏁版嵁緇撴瀯銆?/p> <p>//////////////////////////////////////////////////////////////////////////////////////////</p> <p>#include<cstdlib><br>#include<vector><br>#include<set><br>using namespace std;</p> <p>const int NIL = -1;<br>const int MAX = 50;</p> <p>int Cost[MAX];<br>int ParentNode[MAX];<br>int MaxSubNode[MAX];<br>int MaxSubCost[MAX];</p> <p>class PowerOutage<br>{<br>public:<br> int estimateTimeOut(vector<int> fromJunction, vector<int> toJunction, vector<int> </p> <p>ductLength)<br> {<br>  if (!CheckParameter(fromJunction, toJunction, ductLength)) return NIL;<br>  <br>  Ini();<br>  int count = fromJunction.size();<br>  for (int i = 0; i < count; i++)<br>  {<br>   AddNode(fromJunction[i], toJunction[i], ductLength[i]);<br>  }<br>  <br>  return CalculateMinCost(fromJunction, toJunction, ductLength);<br> }<br>private:<br> void Ini()<br> {<br>  memset(Cost, NIL, sizeof(int) * MAX);<br>  memset(ParentNode, NIL, sizeof(int) * MAX);<br>  memset(MaxSubNode, NIL, sizeof(int) * MAX);<br>  memset(MaxSubCost, 0, sizeof(int) * MAX);<br> }<br> <br> bool CheckParameter(const vector<int>& fromJunction, const vector<int>& toJunction, </p> <p>const vector<int>& ductLength)<br> {<br>  if (fromJunction.size() != toJunction.size() || toJunction.size() != </p> <p>ductLength.size())<br>   return false;<br>  return true;<br> }<br> <br> void AddNode(int parent, int child, int cost)<br> {<br>  if (parent < 0 || child < 0 || cost < 0) return;<br>  <br>  Cost[child] = cost;<br>  ParentNode[child] = parent;<br>  <br>  int curParent = parent, curChild = child;<br>  bool adjustParentCost = true;<br>  while (adjustParentCost && curParent != NIL)<br>  {<br>   int candidateParentMaxSubCost = Cost[curChild] + MaxSubCost</p> <p>[curChild];<br>   if (MaxSubCost[curParent] < candidateParentMaxSubCost)<br>   {<br>    MaxSubCost[curParent] = candidateParentMaxSubCost;<br>    MaxSubNode[curParent] = curChild;<br>    <br>    curChild = curParent;<br>    curParent = ParentNode[curParent];<br>   }<br>   else<br>   {<br>    adjustParentCost = false;<br>   }<br>  }<br> }<br> <br> int CalculateMinCost(const vector<int>& fromJunction, const vector<int>& </p> <p>toJunction, const vector<int>& ductLength)<br> {<br>  int len = fromJunction.size();<br>  int minCost = 0;<br>  <br>  set<int> minCostPath;<br>  minCostPath.insert(0);<br>  int curNode = MaxSubNode[0];<br>  while(curNode != NIL)<br>  {<br>   printf("%d;",curNode); // print the min cost path<br>   <br>   minCostPath.insert(curNode);<br>   curNode = MaxSubNode[curNode];<br>  }<br>  <br>  for (int i = 0; i < len; i++)<br>  {<br>   if (minCostPath.find(toJunction[i]) == minCostPath.end())<br>    minCost += 2 * ductLength[i];<br>   else<br>    minCost += ductLength[i];<br>  }<br>  <br>  return minCost;<br> }<br>};</p> <img src ="http://www.shnenglu.com/flagman/aggbug/140741.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/flagman/" target="_blank">flagman</a> 2011-02-27 17:09 <a href="http://www.shnenglu.com/flagman/archive/2011/02/27/SRM144DIV2_KP.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>涓涓娊鍙風爜闂http://www.shnenglu.com/flagman/archive/2010/12/03/135335.htmlflagmanflagmanFri, 03 Dec 2010 02:53:00 GMThttp://www.shnenglu.com/flagman/archive/2010/12/03/135335.htmlhttp://www.shnenglu.com/flagman/comments/135335.htmlhttp://www.shnenglu.com/flagman/archive/2010/12/03/135335.html#Feedback0http://www.shnenglu.com/flagman/comments/commentRss/135335.htmlhttp://www.shnenglu.com/flagman/services/trackbacks/135335.html
銆?0涓繛緇殑鍙風爜涓娊鍑?涓潵錛岃姹?涓彿鐮佷笉鑳界浉榪烇紝鏈夊灝戠鎶芥硶錛熴?br>
榪欓棶棰樼殑鏈剰搴旇鏄袱涓や笉鐩歌繛鐨勬儏鍐點?br>
棣栧厛瀹氫箟涓涓嚱鏁幫紝F(m,p), m鏄‘瀹氭娊鍑哄嚑涓彿鐮侊紝p鏄誨叡鏈夊嚑涓彿鐮侊紝閭d箞
F(m,p)鐨勫煎煙灝辨槸浠h〃鍦╬涓繛緇彿鐮佷腑錛屾娊鍑轟袱涓や笉鐩歌繛鐨刴涓彿鐮侊紝鎬誨叡鏈夊嚑縐嶇粍鍚堬紱

鎺ョ潃紜畾鐘舵佽漿縐繪柟紼嬶紝緇忚繃瑙傚療錛宲蹇呴』婊¤凍鏉′歡p >= m*2-1錛屽惁鍒橣灝變負0錛屽悓鏃?br>F(6,20) = F(5,18) + F(5,17) + F(5,16) + ... + F(5,9)錛?br>
鍥犳鍙互寰楀嚭濡備笅鐘舵佽漿縐繪柟紼嬶紝
褰?p > m*2-1錛孎(m,p) = Sigma(F(m-1,q)) + 1錛涘叾涓璹 浠?m-1)*2 鍒?p-2錛?br>褰?p == m*2-1錛孎(m,p) = 1錛?br>褰?p < m*2-1錛孎(m,p) = 0錛?br>
铏界劧鍒嗘瀽鍒版錛屽凡鍙互鐫鎵嬪叿浣撳疄鐜幫紝浣嗘槸榪樻槸鏈変簺闂鍊煎緱榪涗竴姝ュ垎鏋愶紝姣斿F(m,p)鍜孎(m,p-1)涔嬮棿瀛樺湪浣曠鍏崇郴錛岃嫢浣跨敤閫掑綊錛屽氨褰撳墠榪欎釜闂鏁堢巼浼拌浼氭槸闂錛?br>
鍥犳瀵規鏂圭▼榪涗竴姝ュ垎鏋愶紝
F(5,18) = Sigma(F(4,q)錛? F(4,7)錛泀浠?鍒?6
F(5,17) = Sigma(F(4,q)錛? F(4,7)錛泀浠?鍒?錛?br>...
鍙繘涓姝ユ帹鍑猴紝
褰?p > m*2-1, F(m,p) = F(m,p-1) + F(m-1,p-2)錛?br>
榪欐牱鎴戜滑灝卞緱鍒頒簡鍙互榪涜閫掓帹瀹炵幇鐨勮漿鎬佽漿縐繪柟紼嬶紱
鍙﹀錛屽浜巑 == 1鐨勬儏褰紝鏄劇劧F(1,p) = p 錛?br>

#include<stdio.h>
#include<conio.h>

#define MAXLEN 10000

static int F[MAXLEN];
static int R[MAXLEN];

int Compute(
    const int cM,
    const int cP)
{
  if (cM <= 0 || cP < (cM*2-1))
    return 0;
  if (cM == 1)
    return cP;
  if (cP == cM*2-1)
    return 1;

  for(int i = 0; i < MAXLEN; ++i) R[i] = i;

  for(int m = 2; m <= cM; ++m)
  {
    int floof = 2*m;
    int ceiling = cP-2*(cM-m);
    F[2*m-1] = 1;
    for(int p = floof; p <= ceiling; ++p)
        F[p] = F[p-1] + R[p-2];
    for(int j = floof; j <= ceiling; ++j)
        R[j] = F[j];
  }
  return F[cP];
}

main()
{
  Compute(6,20);
//  Compute(6,19);
//  Compute(5,18);
//  Compute(5,17);
//  Compute(4,16);
//  Compute(6,13);
//  Compute(6,12);

//  Compute(5,11);
//  Compute(5,10);
//  Compute(4,9);
//  Compute(4,8);
//  Compute(3,7);
  return 0;
}

鎺ョ潃鍐嶅鐩墠鐨勬暣涓疄鐜板仛涓嬪鏉傚害鍒嗘瀽錛屼富瑕佸鐞嗛儴鍒嗗熀鏈笂鐢變袱涓驚鐜瀯鎴愶紝瀵逛簬R鏁扮粍鐨勫垵濮嬪寲鍙綔涓哄父鏁伴」涓嶈錛岄偅涔?br>
澶( F(m,p) ) = O( m*(ceiling-floor) )
              = O( m*(p-2*m) )
              榪戜技浜嶰( m*p )錛?br>鑻 << p錛屾樉鐒禣(F(m,p)) = p錛?br>鑻 榪戜技 p, 浣嗕簨瀹炰笂蹇呴』p >= 2*m - 1錛屽惁鍒橣鍊煎氨鎺ヨ繎0鎴?錛屽洜姝(F(m,p)) 榪戜技浜巆onst錛?br>鎵浠ョ患鍚堟潵鐪嬩笂闈㈢殑榪欎釜瀹炵幇鍦ㄦ椂闂翠笂鏄釜綰挎у鏉傚害鐨勫疄鐜幫紱鍦ㄧ┖闂翠笂錛屼嬌鐢ㄤ簡涓や釜闀垮害鑷沖皯涓簆鐨勬暟緇勶紝涓漢璁や負鍙互瀵規榪涜榪涗竴姝ヤ紭鍖栥?br>
瀵逛簬F(6,20) = 5005

鏁翠釜瀹炵幇鍦═C++ 3.0涓婇獙璇侀氳繃銆?br>



flagman 2010-12-03 10:53 鍙戣〃璇勮
]]>
99精品国产免费久久久久久下载 | 亚洲综合熟女久久久30p| 久久天天躁狠狠躁夜夜2020老熟妇| 久久99精品国产99久久| 青青草原综合久久| 2020久久精品亚洲热综合一本| 色88久久久久高潮综合影院 | 久久国产高清字幕中文| 久久se精品一区精品二区国产| 亚洲国产一成久久精品国产成人综合| 亚洲精品乱码久久久久久按摩 | 精品久久无码中文字幕| 亚洲国产精久久久久久久| 中文字幕亚洲综合久久菠萝蜜| 久久精品九九亚洲精品| 久久久久亚洲AV成人网| 久久久久久久久无码精品亚洲日韩 | 久久99国产精品99久久| 久久婷婷五月综合色99啪ak| 日韩av无码久久精品免费| 久久人人爽人人精品视频| 国产69精品久久久久777| 综合久久精品色| 久久99久久成人免费播放| 欧美精品久久久久久久自慰| 伊人久久精品影院| 精品多毛少妇人妻AV免费久久| 久久er99热精品一区二区| 久久天天婷婷五月俺也去| 丁香狠狠色婷婷久久综合| 久久青青色综合| 久久婷婷色香五月综合激情| 精品久久久久久无码人妻热| 国产精品一区二区久久国产| 亚洲日韩中文无码久久| 亚洲国产精品成人AV无码久久综合影院 | 国产成人无码精品久久久免费| 久久人人爽人人爽人人AV东京热| 久久久久久久免费视频| 久久久久一本毛久久久| 久久久久久国产a免费观看不卡 |