锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲福利在线播放,亚洲精品无码久久,国产亚洲高清不卡在线观看http://www.tkk7.com/tinysun/category/37795.htmlzh-cnTue, 05 Oct 2010 17:52:59 GMTTue, 05 Oct 2010 17:52:59 GMT60 璺寵穬琛?/title><link>http://www.tkk7.com/tinysun/archive/2010/10/04/333722.html</link><dc:creator>浣曞厠鍕?/dc:creator><author>浣曞厠鍕?/author><pubDate>Mon, 04 Oct 2010 02:33:00 GMT</pubDate><guid>http://www.tkk7.com/tinysun/archive/2010/10/04/333722.html</guid><wfw:comment>http://www.tkk7.com/tinysun/comments/333722.html</wfw:comment><comments>http://www.tkk7.com/tinysun/archive/2010/10/04/333722.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/tinysun/comments/commentRss/333722.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/tinysun/services/trackbacks/333722.html</trackback:ping><description><![CDATA[<p><font style="background-color: #cde9d1">鏈枃灝嗘葷粨涓縐嶆暟鎹粨鏋勶細璺寵穬琛ㄣ傚墠鍗婇儴鍒嗚煩璺冭〃鎬ц川鍜屾搷浣滅殑浠嬬粛鐩存帴鎽樿嚜銆婅綆楁硶鐨勬晥鐜囪煩璧鋒潵--嫻呰皥“璺寵穬琛?#8221;鐨勭浉鍏蟲搷浣滃強鍏跺簲鐢ㄣ嬩笂嫻峰競鍗庝笢甯堣寖澶у絎簩闄勫睘涓 欖忓唹銆備箣鍚庡皢闄勪笂璺寵穬琛ㄧ殑婧愪唬鐮侊紝浠ュ強鏈漢瀵瑰叾鐨勪簡瑙c傞毦鍏嶆湁閿欒涔嬪錛屽笇鏈涙寚姝o紝鍏卞悓榪涙銆傝阿璋€?/font></p> <p><font style="background-color: #cde9d1">    璺寵穬琛紙Skip List錛夋槸1987騫存墠璇炵敓鐨勪竴縐嶅喘鏂扮殑鏁版嵁緇撴瀯錛屽畠鍦ㄨ繘琛屾煡鎵俱佹彃鍏ャ佸垹闄ょ瓑鎿嶄綔鏃剁殑鏈熸湜鏃墮棿澶嶆潅搴﹀潎涓篛(logn),鏈夌潃榪戜箮鏇夸唬騫寵 鏍戠殑鏈銆傝屼笖鏈閲嶈鐨勪竴鐐癸紝灝辨槸瀹冪殑緙栫▼澶嶆潅搴﹁緝鍚岀被鐨凙VL鏍戯紝綰㈤粦鏍戠瓑瑕佷綆寰楀錛岃繖浣垮緱鍏舵棤璁烘槸鍦ㄧ悊瑙h繕鏄湪鎺ㄥ箍鎬т笂錛岄兘鏈夌潃鍗佸垎鏄庢樉鐨勪紭鍔褲?/font></p> <p><font style="background-color: #cde9d1">    棣栧厛錛屾垜浠潵鐪嬩竴涓嬭煩璺冭〃鐨勭粨鏋?/font></p> <p><font style="background-color: #cde9d1"></font> </p> <p><font style="background-color: #cde9d1">   璺寵穬琛ㄧ敱澶氭潯閾炬瀯鎴愶紙S0錛孲1錛孲2 ……錛孲h錛夛紝涓旀弧瓚沖涓嬩笁涓潯浠訛細</font></p> <p><font style="background-color: #cde9d1">姣忔潯閾懼繀欏誨寘鍚袱涓壒孌婂厓绱狅細+∞ 鍜?-∞(鍏跺疄涓嶉渶瑕?<br /> S0鍖呭惈鎵鏈夌殑鍏冪礌錛屽茍涓旀墍鏈夐摼涓殑鍏冪礌鎸夌収鍗囧簭鎺掑垪銆?br /> 姣忔潯閾句腑鐨勫厓绱犻泦鍚堝繀欏誨寘鍚簬搴忔暟杈冨皬鐨勯摼鐨勫厓绱犻泦鍚堛?br />    鎿嶄綔</font></p> <p><font style="background-color: #cde9d1">   涓銆佹煡鎵?br />    鐩殑錛氬湪璺寵穬琛ㄤ腑鏌ユ壘涓涓厓绱爔<br />    鍦ㄨ煩璺冭〃涓煡鎵句竴涓厓绱爔錛屾寜鐓у涓嬪嚑涓楠よ繘琛岋細<br />       1. 浠庢渶涓婂眰鐨勯摼錛圫h錛夌殑寮澶村紑濮?br />       2. 鍋囪褰撳墠浣嶇疆涓簆錛屽畠鍚戝彸鎸囧悜鐨勮妭鐐逛負q錛坧涓巕涓嶄竴瀹氱浉閭伙級錛屼笖q鐨勫間負y銆傚皢y涓巟浣滄瘮杈?br />           (1) x=y  杈撳嚭鏌ヨ鎴愬姛鍙婄浉鍏充俊鎭?br />           (2) x>y  浠巔鍚戝彸縐誨姩鍒皅鐨勪綅緗?br />           (3) x<y  浠巔鍚戜笅縐誨姩涓鏍?/font></p> <p><font style="background-color: #cde9d1">      3. 濡傛灉褰撳墠浣嶇疆鍦ㄦ渶搴曞眰鐨勯摼涓紙S0錛夛紝涓旇繕瑕佸線涓嬬Щ鍔ㄧ殑璇濓紝鍒欒緭鍑烘煡璇㈠け璐?/font></p> <p><font style="background-color: #cde9d1"></font> </p> <p><font style="background-color: #cde9d1">    浜屻佹彃鍏?br />      鐩殑錛氬悜璺寵穬琛ㄤ腑鎻掑叆涓涓厓绱爔<br />      棣栧厛鏄庣‘錛屽悜璺寵穬琛ㄤ腑鎻掑叆涓涓厓绱狅紝鐩稿綋浜庡湪琛ㄤ腑鎻掑叆涓鍒椾粠S0涓煇涓浣嶇疆鍑哄彂鍚戜笂鐨勮繛緇竴孌靛厓绱犮傛湁涓や釜鍙傛暟闇瑕佺‘瀹氾紝鍗蟲彃鍏ュ垪鐨勪綅緗互鍙婂畠鐨?#8220;楂樺害”銆?br />      鍏充簬鎻掑叆鐨勪綅緗紝鎴戜滑鍏堝埄鐢ㄨ煩璺冭〃鐨勬煡鎵懼姛鑳斤紝鎵懼埌姣攛灝忕殑鏈澶х殑鏁皔銆傛牴鎹煩璺冭〃涓墍鏈夐摼鍧囨槸閫掑搴忓垪鐨勫師鍒欙紝x蹇呯劧灝辨彃鍦▂鐨勫悗闈€?br />      鑰屾彃鍏ュ垪鐨?#8220;楂樺害”杈冨墠鑰呮潵璇存樉寰楁洿鍔犻噸瑕侊紝涔熸洿鍔犻毦浠ョ‘瀹氥傜敱浜庡畠鐨勪笉紜畾鎬э紝浣垮緱涓嶅悓鐨勫喅絳栧彲鑳戒細瀵艱嚧鎴劧涓嶅悓鐨勭畻娉曟晥鐜囥備負浜嗕嬌鎻掑叆鏁版嵁涔嬪悗錛屼繚鎸佽鏁版嵁緇撴瀯榪涜鍚勭鎿嶄綔鍧囦負O(logn)澶嶆潅搴︾殑鎬ц川錛屾垜浠紩鍏ラ殢鏈哄寲綆楁硶錛圧andomized Algorithms錛夈?/font></p> <p><font style="background-color: #cde9d1">     鎴戜滑瀹氫箟涓涓殢鏈哄喅絳栨ā鍧楋紝瀹冪殑澶ц嚧鍐呭濡備笅錛?/font></p> <p><font style="background-color: #cde9d1"> 浜х敓涓涓?鍒?鐨勯殢鏈烘暟r     r ← random() <br /> 濡傛灉r灝忎簬涓涓父鏁皃錛屽垯鎵ц鏂規A錛?nbsp; if  r<p then do A <br /> 鍚﹀垯錛屾墽琛屾柟妗圔         else do B <br />      鍒濆鏃跺垪楂樹負1銆傛彃鍏ュ厓绱犳椂錛屼笉鍋滃湴鎵ц闅忔満鍐崇瓥妯″潡銆傚鏋滆姹傛墽琛岀殑鏄疉鎿嶄綔錛屽垯灝嗗垪鐨勯珮搴﹀姞1錛屽茍涓旂戶緇弽澶嶆墽琛岄殢鏈哄喅絳栨ā鍧椼傜洿鍒扮i嬈★紝妯″潡瑕佹眰鎵ц鐨勬槸B鎿嶄綔錛屾垜浠粨鏉熷喅絳栵紝騫跺悜璺寵穬琛ㄤ腑鎻掑叆涓涓珮搴︿負i鐨勫垪銆?/font></p> <font style="background-color: #cde9d1"> <p><br />      鎴戜滑鏉ョ湅涓涓緥瀛愶細<br />      鍋囪褰撳墠鎴戜滑瑕佹彃鍏ュ厓绱?#8220;40”錛屼笖鍦ㄦ墽琛屼簡闅忔満鍐崇瓥妯″潡鍚庡緱鍒伴珮搴︿負4<br />      姝ラ涓錛氭壘鍒拌〃涓瘮40灝忕殑鏈澶х殑鏁幫紝紜畾鎻掑叆浣嶇疆</p> <p> </p> <p>     姝ラ浜岋細鎻掑叆楂樺害涓?鐨勫垪錛屽茍緇存姢璺寵穬琛ㄧ殑緇撴瀯</p> <p> </p> <p>    涓夈佸垹闄?/p> <p>    鐩殑錛氫粠璺寵穬琛ㄤ腑鍒犻櫎涓涓厓绱爔<br />     鍒犻櫎鎿嶄綔鍒嗕負浠ヤ笅涓変釜姝ラ錛?/p> <p>鍦ㄨ煩璺冭〃涓煡鎵懼埌榪欎釜鍏冪礌鐨勪綅緗紝濡傛灉鏈壘鍒幫紝鍒欓鍑?<br /> 灝嗚鍏冪礌鎵鍦ㄦ暣鍒椾粠琛ㄤ腑鍒犻櫎 <br /> 灝嗗浣欑殑“絀洪摼”鍒犻櫎  </p> <p><br />     鎴戜滑鏉ョ湅涓涓嬭煩璺冭〃鐨勭浉鍏沖鏉傚害錛?br />  <br />        絀洪棿澶嶆潅搴︼細 O(n)       錛堟湡鏈涳級<br />        璺寵穬琛ㄩ珮搴︼細 O(logn)  錛堟湡鏈涳級</p> <p><br />     鐩稿叧鎿嶄綔鐨勬椂闂村鏉傚害錛?br />       鏌ユ壘錛?nbsp; O(logn)    錛堟湡鏈涳級<br />       鎻掑叆錛?nbsp; O(logn)    錛堟湡鏈涳級<br />       鍒犻櫎錛?nbsp; O(logn)   錛堟湡鏈涳級<br />   <br />     涔嬫墍浠ュ湪姣忎竴欏瑰悗闈㈤兘鍔犱竴涓?#8220;鏈熸湜”錛屾槸鍥犱負璺寵穬琛ㄧ殑澶嶆潅搴﹀垎鏋愭槸鍩轟簬姒傜巼璁虹殑銆傛湁鍙兘浼氫駭鐢熸渶鍧忔儏鍐碉紝涓嶈繃榪欑姒傜巼鏋佸叾寰皬銆?/p> <p> </p> <p>--------------------------------------------------------------------------------</p> <p><br />     浠ヤ笅鏄嚜宸卞涔犳椂紕板埌鐨勪竴浜涢棶棰?/p> <p> </p> <p>    棣栧厛鍒嗛厤涓涓摼琛紝鐢╨ist.hdr鎸囧悜錛岄暱搴︿負璺寵穬琛ㄨ瀹氱殑鏈楂樺眰錛岃鏄摼琛紝鍦ㄤ互涓嬩唬鐮佷腑鍙槸鍒嗛厤浜嗕竴孌佃繛緇殑絀洪棿錛岀敤鏉ユ寚鍚戞瘡涓灞傜殑寮濮嬩綅緗傛垜浠湅鍒扮粨鏋勪綋nodeType涓紝鏈変竴涓猭ey,涓涓猺ec(鐢ㄦ埛鏁版嵁)錛岃繕鏈変竴涓寚鍚戠粨鏋勪綋鐨勬寚閽堟暟緇勩?/p> <p><br />     涓寮濮嬬殑閭d簺鍥懼鏄撶粰浜鴻瑙c傚涓婂浘鎵紺猴紝渚嬪姣忎釜鑺傜偣鐨刦orward[2]錛屽氨璁や負鏄煩璺冭〃鐨勭3灞傘侺ist.hdr鐨刦orward[2]鎸囧悜11錛?1鐨刦orward[2]鎸囧悜30錛?0鐨刦orward[2]鎸囧悜53銆傝繖灝辨槸璺寵穬琛ㄧ殑絎?灞傦細11---30-----53銆傦紙鍑嗙‘鐨勮姣忎釜forward閮芥寚鍚戞柊鑺傜偣錛屾柊鑺傜偣鐨勫悓灞俧orward鍙堟寚鍚戝彟涓涓妭鐐癸紝浠庤屾瀯鎴愪竴涓摼琛紝鑰屾暟鎹彧鏈変竴涓紝騫朵笉鏄儚寮濮嬮斾腑鎵鐢葷殑閭f牱鏈塏涓壇鏈級銆傛湰浜哄ぉ璧勬剼閽濓紝鐪嬩簡鎸洪暱鏃墮棿鎵嶆妸瀹冨湪鍐呭瓨閲岀殑緇撴瀯鐪嬫竻妤氫簡錛屽懙鍛點?nbsp;  </p> <p>    浠ヤ笅鏄湪緗戜笂鎼滃埌鐨勪竴涓疄鐜頒唬鐮?/p> <p><br />     浠g爜涓富瑕佹敞閲婁簡insert鍑芥暟錛屽墿涓嬬殑涓や釜鍑芥暟宸笉澶氾紝灝變笉涓涓娉ㄩ噴浜?/p> <p>    </p> <p><br /> view plaincopy to clipboardprint?<br /> /* skip list */  <br />   <br /> #include <stdio.h>   <br /> #include <stdlib.h>   <br />   <br /> /* implementation dependent declarations */  <br /> typedef enum {   <br />     STATUS_OK,   <br />     STATUS_MEM_EXHAUSTED,   <br />     STATUS_DUPLICATE_KEY,   <br />     STATUS_KEY_NOT_FOUND   <br /> } statusEnum;   <br />   <br /> typedef int keyType;            /* type of key */  <br />   <br /> /* user data stored in tree */  <br /> typedef struct {   <br />     int stuff;                  /* optional related data */  <br /> } recType;   <br />   <br /> #define compLT(a,b) (a < b)   <br /> #define compEQ(a,b) (a == b)   <br />   <br /> /* levels range from (0 .. MAXLEVEL) */  <br /> #define MAXLEVEL 15   <br />   <br /> typedef struct nodeTag {   <br />     keyType key;                /* key used for searching */  <br />     recType rec;                /* user data */  <br />     struct nodeTag *forward[1]; /* skip list forward pointer */  <br /> } nodeType;   <br />   <br /> /* implementation independent declarations */  <br /> typedef struct {   <br />     nodeType *hdr;              /* list Header */  <br />     int listLevel;              /* current level of list */  <br /> } SkipList;   <br />   <br /> SkipList list;                  /* skip list information */  <br />   <br /> #define NIL list.hdr   <br /> static int count = 0;   <br /> statusEnum insert(keyType key, recType *rec) {   <br />     int i, newLevel;   <br />     nodeType *update[MAXLEVEL+1];   <br />     nodeType *x;   <br />     count++;   <br />    /***********************************************  <br />     *  allocate node for data and insert in list  *  <br />     ***********************************************/  <br />   <br />     /* find where key belongs */  <br />     /*浠庨珮灞備竴鐩村悜涓嬪鎵撅紝鐩村埌榪欏眰鎸囬拡涓篘IL錛屼篃灝辨槸璇?nbsp; <br />     鍚庨潰娌℃湁鏁版嵁浜嗭紝鍒板ご浜嗭紝騫朵笖榪欎釜鍊間笉鍐嶅皬浜庤鎻掑叆鐨勫箋?nbsp; <br />     璁板綍榪欎釜浣嶇疆錛岀暀鐫鍚戝叾鍚庨潰鎻掑叆鏁版嵁*/  <br />     x = list.hdr;   <br />     for (i = list.listLevel; i >= 0; i--) {   <br />         while (x->forward[i] != NIL    <br />           && compLT(x->forward[i]->key, key))   <br />             x = x->forward[i];   <br />         update[i] = x;   <br />     }   <br />   <br />        <br />     /*鐜板湪璁鎸囧悜絎?灞傜殑X鐨勫悗涓涓妭鐐?/  <br />     x = x->forward[0];   <br />   <br />        <br />     /*濡傛灉鐩哥瓑灝變笉鐢ㄦ彃鍏ヤ簡*/  <br />     if (x != NIL && compEQ(x->key, key))    <br />         return STATUS_DUPLICATE_KEY;   <br />   <br />    /*闅忔満鐨勮綆楄鎻掑叆鐨勫肩殑鏈楂榣evel*/  <br />     for (   <br />       newLevel = 0;    <br />       rand() < RAND_MAX/2 && newLevel < MAXLEVEL;    <br />       newLevel++);   <br />     /*濡傛灉澶т簬褰撳墠鐨刲evel錛屽垯鏇存柊update鏁扮粍騫舵洿鏂板綋鍓峫evel*/  <br />     if (newLevel > list.listLevel) {   <br />         for (i = list.listLevel + 1; i <= newLevel; i++)   <br />             update[i] = NIL;   <br />         list.listLevel = newLevel;   <br />     }   <br />   <br />     /* 緇欐柊鑺傜偣鍒嗛厤絀洪棿錛屽垎閰峮ewLevel涓寚閽堬紝鍒欒繖涓?nbsp; <br />     鑺傜偣鐨勯珮搴﹀氨鍥哄畾浜嗭紝鍙湁newLevel銆傛洿楂樼殑灞傛灝?nbsp; <br />     涓嶄細鍐嶆湁榪欎釜鍊?/  <br />     if ((x = malloc(sizeof(nodeType) + newLevel*sizeof(nodeType *))) == 0)   <br />         return STATUS_MEM_EXHAUSTED;   <br />     x->key = key;   <br />     x->rec = *rec;   <br />   <br />     /* 緇欐瘡灞傞兘鍔犱笂榪欎釜鍊鹼紝鐩稿綋浜庡線閾捐〃涓彃鍏ヤ竴涓暟*/  <br />     for (i = 0; i <= newLevel; i++) {   <br />         x->forward[i] = update[i]->forward[i];   <br />         update[i]->forward[i] = x;   <br />     }   <br />     return STATUS_OK;   <br /> }   <br />   <br /> statusEnum delete(keyType key) {   <br />     int i;   <br />     nodeType *update[MAXLEVEL+1], *x;   <br />   <br />    /*******************************************  <br />     *  delete node containing data from list  *  <br />     *******************************************/  <br />   <br />     /* find where data belongs */  <br />     x = list.hdr;   <br />     for (i = list.listLevel; i >= 0; i--) {   <br />         while (x->forward[i] != NIL    <br />           && compLT(x->forward[i]->key, key))   <br />             x = x->forward[i];   <br />         update[i] = x;   <br />     }   <br />   <br />   <br />     x = x->forward[0];   <br />   <br />   <br />     if (x == NIL || !compEQ(x->key, key)) return STATUS_KEY_NOT_FOUND;   <br />   <br />     /* adjust forward pointers */  <br />     for (i = 0; i <= list.listLevel; i++) {   <br />         if (update[i]->forward[i] != x) break;   <br />         update[i]->forward[i] = x->forward[i];   <br />     }   <br />   <br />     free (x);   <br />   <br />     /* adjust header level */  <br />     while ((list.listLevel > 0)   <br />     && (list.hdr->forward[list.listLevel] == NIL))   <br />         list.listLevel--;   <br />   <br />     return STATUS_OK;   <br /> }   <br />   <br /> statusEnum find(keyType key, recType *rec) {   <br />     int i;   <br />     nodeType *x = list.hdr;   <br />   <br />    /*******************************  <br />     *  find node containing data  *  <br />     *******************************/  <br />   <br />     for (i = list.listLevel; i >= 0; i--) {   <br />         while (x->forward[i] != NIL    <br />           && compLT(x->forward[i]->key, key))   <br />             x = x->forward[i];   <br />     }   <br />     x = x->forward[0];   <br />     if (x != NIL && compEQ(x->key, key)) {   <br />         *rec = x->rec;   <br />         return STATUS_OK;   <br />     }   <br />     return STATUS_KEY_NOT_FOUND;   <br /> }   <br />   <br /> void initList() {   <br />     int i;   <br />   <br />    /**************************  <br />     *  initialize skip list  *  <br />     **************************/  <br />   <br />     if ((list.hdr = malloc(   <br />             sizeof(nodeType) + MAXLEVEL*sizeof(nodeType *))) == 0) {   <br />         printf ("insufficient memory (initList)\n");   <br />         exit(1);   <br />     }   <br />     for (i = 0; i <= MAXLEVEL; i++)   <br />         list.hdr->forward[i] = NIL;   <br />     list.listLevel = 0;   <br /> }   <br />   <br /> int main(int argc, char **argv) {   <br />     int i, maxnum, random;   <br />     recType *rec;   <br />     keyType *key;   <br />     statusEnum status;   <br />   <br />   <br />     /* command-line:  <br />      *  <br />      *   skl maxnum [random]  <br />      *  <br />      *   skl 2000  <br />      *       process 2000 sequential records  <br />      *   skl 4000 r  <br />      *       process 4000 random records  <br />      *  <br />      */  <br />   <br />     maxnum = 20;   <br />     random = argc > 2;   <br />   <br />     initList();   <br />   <br />     if ((rec = malloc(maxnum * sizeof(recType))) == 0) {   <br />         fprintf (stderr, "insufficient memory (rec)\n");   <br />         exit(1);   <br />     }   <br />     if ((key = malloc(maxnum * sizeof(keyType))) == 0) {   <br />         fprintf (stderr, "insufficient memory (key)\n");   <br />         exit(1);   <br />     }   <br />   <br />     if (random) {   <br />         /* fill "a" with unique random numbers */  <br />         for (i = 0; i < maxnum; i++) key[i] = rand();   <br />         printf ("ran, %d items\n", maxnum);   <br />     } else {   <br />         for (i = 0; i < maxnum; i++) key[i] = i;   <br />         printf ("seq, %d items\n", maxnum);   <br />     }   <br />   <br />     for (i = 0; i < maxnum; i++) {   <br />         status = insert(key[i], &rec[i]);   <br />         if (status) printf("pt1: error = %d\n", status);   <br />     }   <br />   <br />     for (i = maxnum-1; i >= 0; i--) {   <br />         status = find(key[i], &rec[i]);   <br />         if (status) printf("pt2: error = %d\n", status);   <br />     }   <br />   <br />     for (i = maxnum-1; i >= 0; i--) {   <br />         status = delete(key[i]);   <br />         if (status) printf("pt3: error = %d\n", status);   <br />     }   <br />     return 0;   <br /> }  </p> <p> </p> <p>鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛歨ttp://blog.csdn.net/topcoder1234/archive/2010/08/26/5841119.aspx</font></p> <img src ="http://www.tkk7.com/tinysun/aggbug/333722.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/tinysun/" target="_blank">浣曞厠鍕?/a> 2010-10-04 10:33 <a href="http://www.tkk7.com/tinysun/archive/2010/10/04/333722.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>small or big edianhttp://www.tkk7.com/tinysun/archive/2010/08/23/329623.html浣曞厠鍕?/dc:creator>浣曞厠鍕?/author>Mon, 23 Aug 2010 02:13:00 GMThttp://www.tkk7.com/tinysun/archive/2010/08/23/329623.htmlhttp://www.tkk7.com/tinysun/comments/329623.htmlhttp://www.tkk7.com/tinysun/archive/2010/08/23/329623.html#Feedback0http://www.tkk7.com/tinysun/comments/commentRss/329623.htmlhttp://www.tkk7.com/tinysun/services/trackbacks/329623.html 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5      union
 6      {
 7           short s;
 8           char c[sizeof(short)];
 9       }un;
10       un.s=0x0102;
11 
12       if(un.c[0]==0x01)
13           printf("big edian!\n");
14       else if(un.c[1]==0x02)
15           printf("small edian!\n");
16      return 0;
17 }

]]>
鏁扮粍婧㈠嚭錛屽鑷存寰幆http://www.tkk7.com/tinysun/archive/2010/06/03/322612.html浣曞厠鍕?/dc:creator>浣曞厠鍕?/author>Thu, 03 Jun 2010 05:06:00 GMThttp://www.tkk7.com/tinysun/archive/2010/06/03/322612.htmlhttp://www.tkk7.com/tinysun/comments/322612.htmlhttp://www.tkk7.com/tinysun/archive/2010/06/03/322612.html#Feedback0http://www.tkk7.com/tinysun/comments/commentRss/322612.htmlhttp://www.tkk7.com/tinysun/services/trackbacks/322612.html#include<stdio.h> 
int main() 

    
char x,y,z; 
    
int i; 
    
int a[16]; 
    
    
for(i=0;i<=16;i++
    

        a[i]
=0
        printf(
"1\n"); 
    }
 
    
return 0
}

鐢變簬鍑芥暟鍐呴儴鐨勫眬閮ㄥ彉閲忔槸浠庢爤鐨勯珮鍦板潃鍚戜綆鍦板潃鍒嗛厤.
i=16鏃訛紝鏁扮粍涓嬫爣婧㈠嚭錛宎[i]寮曠敤鐨勫叾瀹炴槸i鍙橀噺錛岃繖鏍鳳紝涓婅堪寰幆鎴愪負涓涓寰幆銆?

]]>
涓閬撶瑪璇曢銆傘傘?/title><link>http://www.tkk7.com/tinysun/archive/2010/06/01/322479.html</link><dc:creator>浣曞厠鍕?/dc:creator><author>浣曞厠鍕?/author><pubDate>Tue, 01 Jun 2010 12:07:00 GMT</pubDate><guid>http://www.tkk7.com/tinysun/archive/2010/06/01/322479.html</guid><wfw:comment>http://www.tkk7.com/tinysun/comments/322479.html</wfw:comment><comments>http://www.tkk7.com/tinysun/archive/2010/06/01/322479.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/tinysun/comments/commentRss/322479.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/tinysun/services/trackbacks/322479.html</trackback:ping><description><![CDATA[棰樼洰澶ф剰錛?br /> 濡傛灉鏁存暟澶т簬0鍒欒緭鍑?錛?br /> 絳変簬0鍒欒緭鍑?錛?br /> 灝忎簬0鍒欒緭鍑?錛?br /> 瑕佹眰涓嶈兘鐢ㄤ換浣曞艦寮忕殑鍒ゆ柇璇彞銆?br /> <br /> 鎬濊礬錛?br /> 璁炬暣鏁癗錛岀鍙蜂綅鍙互閫氳繃濡備笅瀹忓緱鍒幫細<br /> <font style="background-color: #cde9d1">#define SIGN(N) (N>>(sizeof(N)*8-1)&0x01)</font><br /> 閭d箞濡傛灉N>0錛岀鍙蜂綅涓?錛?br /> 濡傛灉N=0錛岀鍙蜂綅涓?錛?br /> N<0,絎﹀彿浣嶄負1錛?br /> 榪欐牱娌℃湁鍔炴硶鍖哄垎姝f暟鍜?錛?br /> <br /> 濡傛灉N>0,N鍜孨-1鐨勭鍙蜂綅涔嬪拰涓?錛?br /> N=0錛孨鍜孨-1鐨勭鍙蜂綅涔嬪拰涓?<br /> N<0,N鍜孨-1鐨勭鍙蜂綅涔嬪拰涓?<br /> 榪欐牱鍙互閫氳繃鏌ヨ〃寰楀埌杈撳嚭浜嗐?br /> <br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080"> 1</span><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #000000">#include </span><span style="color: #000000"><</span><span style="color: #000000">stdio.h</span><span style="color: #000000">></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 2</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /> </span><span style="color: #008080"> 3</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">鍙栧緱絎﹀彿浣?/span><span style="color: #008000"><br /> </span><span style="color: #008080"> 4</span><span style="color: #008000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">#define</span><span style="color: #000000"> SIGN(N) (N>>(sizeof(N)*8-1)&0x01)</span><span style="color: #000000"><br /> </span><span style="color: #008080"> 5</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /> </span><span style="color: #008080"> 6</span><span style="color: #000000"><img id="Codehighlighter1_79_86_Open_Image" onclick="this.style.display='none'; Codehighlighter1_79_86_Open_Text.style.display='none'; Codehighlighter1_79_86_Closed_Image.style.display='inline'; Codehighlighter1_79_86_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_79_86_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_79_86_Closed_Text.style.display='none'; Codehighlighter1_79_86_Open_Image.style.display='inline'; Codehighlighter1_79_86_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /></span><span style="color: #0000ff">int</span><span style="color: #000000"> T[]</span><span style="color: #000000">=</span><span id="Codehighlighter1_79_86_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_79_86_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">1</span><span style="color: #000000">,</span><span style="color: #000000">0</span><span style="color: #000000">,</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">}</span></span><span style="color: #000000">;<br /> </span><span style="color: #008080"> 7</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /> </span><span style="color: #008080"> 8</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">int</span><span style="color: #000000"> sign(</span><span style="color: #0000ff">int</span><span style="color: #000000"> x)<br /> </span><span style="color: #008080"> 9</span><span style="color: #000000"><img id="Codehighlighter1_106_178_Open_Image" onclick="this.style.display='none'; Codehighlighter1_106_178_Open_Text.style.display='none'; Codehighlighter1_106_178_Closed_Image.style.display='inline'; Codehighlighter1_106_178_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_106_178_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_106_178_Closed_Text.style.display='none'; Codehighlighter1_106_178_Open_Image.style.display='inline'; Codehighlighter1_106_178_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /></span><span id="Codehighlighter1_106_178_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_106_178_Open_Text"><span style="color: #000000">{<br /> </span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">int</span><span style="color: #000000"> index1</span><span style="color: #000000">=</span><span style="color: #000000">SIGN(x);<br /> </span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">int</span><span style="color: #000000"> index2</span><span style="color: #000000">=</span><span style="color: #000000">SIGN(x</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">);<br /> </span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">return</span><span style="color: #000000"> T[index1</span><span style="color: #000000">+</span><span style="color: #000000">index2];<br /> </span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span></span><span style="color: #000000"><br /> </span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">int</span><span style="color: #000000"> main()<br /> </span><span style="color: #008080">15</span><span style="color: #000000"><img id="Codehighlighter1_191_243_Open_Image" onclick="this.style.display='none'; Codehighlighter1_191_243_Open_Text.style.display='none'; Codehighlighter1_191_243_Closed_Image.style.display='inline'; Codehighlighter1_191_243_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_191_243_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_191_243_Closed_Text.style.display='none'; Codehighlighter1_191_243_Open_Image.style.display='inline'; Codehighlighter1_191_243_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /></span><span id="Codehighlighter1_191_243_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_191_243_Open_Text"><span style="color: #000000">{<br /> </span><span style="color: #008080">16</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">int</span><span style="color: #000000"> x</span><span style="color: #000000">=-</span><span style="color: #000000">0</span><span style="color: #000000">;<br /> </span><span style="color: #008080">17</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /> </span><span style="color: #008080">18</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    printf(</span><span style="color: #000000">"</span><span style="color: #000000">%d\n</span><span style="color: #000000">"</span><span style="color: #000000">,sign(x));<br /> </span><span style="color: #008080">19</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /> </span><span style="color: #008080">20</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">;<br /> </span><span style="color: #008080">21</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span></span></div> <br /> <img src ="http://www.tkk7.com/tinysun/aggbug/322479.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/tinysun/" target="_blank">浣曞厠鍕?/a> 2010-06-01 20:07 <a href="http://www.tkk7.com/tinysun/archive/2010/06/01/322479.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>RMQ闂http://www.tkk7.com/tinysun/archive/2010/05/19/321370.html浣曞厠鍕?/dc:creator>浣曞厠鍕?/author>Wed, 19 May 2010 06:35:00 GMThttp://www.tkk7.com/tinysun/archive/2010/05/19/321370.htmlhttp://www.tkk7.com/tinysun/comments/321370.htmlhttp://www.tkk7.com/tinysun/archive/2010/05/19/321370.html#Feedback0http://www.tkk7.com/tinysun/comments/commentRss/321370.htmlhttp://www.tkk7.com/tinysun/services/trackbacks/321370.htmlhttp://kmplayer.javaeye.com/blog/575725

]]>
鏍戠姸鏁扮粍 http://www.tkk7.com/tinysun/archive/2010/05/08/320371.html浣曞厠鍕?/dc:creator>浣曞厠鍕?/author>Sat, 08 May 2010 12:22:00 GMThttp://www.tkk7.com/tinysun/archive/2010/05/08/320371.htmlhttp://www.tkk7.com/tinysun/comments/320371.htmlhttp://www.tkk7.com/tinysun/archive/2010/05/08/320371.html#Feedback0http://www.tkk7.com/tinysun/comments/commentRss/320371.htmlhttp://www.tkk7.com/tinysun/services/trackbacks/320371.html闂鎻愬嚭錛氬凡鐭ユ暟緇刟[],鍏冪礌涓暟涓簄,鐜板湪鏇存敼a涓殑鍏冪礌,瑕佹眰寰楁柊鐨刟鏁扮粍涓璱鍒癹鍖洪棿鍐呯殑鍜?1<=i<=j<=n).

鎬濊冿細瀵逛簬榪欎釜闂,鎴戜滑鍙互鏆村姏鍦版潵瑙e喅,浠巃[i]涓鐩寸瘡鍔犲埌a[j],鏈鍧忕殑鎯呭喌涓嬪鏉傚害涓篛(n),瀵逛簬m嬈hange&querry,鍚堣搗鏉ョ殑澶嶆潅搴︿負O(m*n),鍦╪鎴杕寰堝ぇ鐨勬儏鍐典笅,榪欐牱鐨勫鏉傚害鏄浜烘棤娉曞繊鍙楃殑.鍙﹀,濡傛灉娌℃湁鍏冪礌鐨勫彉鏇?鎴戜滑瀹屽叏鍙互瀛樺偍sum[1,k](k=1,2,……),鐒跺悗瀵逛換鎰忕粰瀹氱殑鏌ユ壘鍖洪棿[i,j],閮藉彲浠ユ柟渚跨殑鐢╝ns=sum[1,j]-sum[1,i-1],褰撶劧榪欏彧鏄病鏈夊厓绱犳敼鍙樼殑鎯呭喌涓嬬殑姣旇緝浼樺寲鐨勮В娉?閭d箞瀵逛簬鏈夊厓绱犲彉鏇寸殑闂鏄惁鏈夋洿楂樻晥鐨勬柟娉曞憿?(搴熻瘽!娌℃湁鎴戣繕鍐欏暐?!)鍙互鎯充竴涓?姣忔鏇存敼鐨勫厓绱犳槸姣旇緝灝戠殑,鏈夋椂鍊欑敋鑷蟲瘡嬈″彧鏀瑰彉涓涓厓绱?浣嗘槸鍦ㄧ敤鏆村姏鏂規硶姹傚尯闂村拰鐨勬椂鍊?鍗村鍖洪棿鍐呮墍鏈夌殑鍏冪礌閮界瘡鍔犱簡涓閬?榪欐牱鍏跺疄閫犳垚浜嗚澶氭棤璋撶殑榪愮畻.榪欐椂鍊欎篃璁鎬細鎯沖埌濡傛灉鑳芥妸涓浜涚粨鏋滃瓨璧鋒潵浼氫笉浼氬噺灝戝緢澶氳繍綆?絳旀鏄偗瀹氱殑,浣嗛棶棰樻槸鎬庝箞瀛?瀛樹粈涔?濡傛灉瀛樹換鎰忓尯闂寸殑璇?n姣旇緝澶х殑鏃跺欎笉浣嗗唴瀛樺悆涓嶆秷,鑰屼笖瀛樺偍鐨勯噺澶ぇ,涓嶆槗鏇存敼,鍙嶈屽緱涓嶅伩澶?閭d箞涔熻鍙互鑰冭檻瀛樺偍鐗瑰畾鐨勪竴浜涘尯闂?姣斿璇寸嚎孌墊爲,鍏跺疄鐜板湪璁ㄨ鐨勯棶棰樼敤綰挎鏍戝畬鍏ㄥ彲浠ヨВ,浠ュ悗鍐嶈緇嗗啓綰挎鏍?.閭d箞鐜板湪閲嶆柊鍥炶繃澶存潵,鐪嬩笅榪欎釜闂,鎴戜滑宸茬粡紜畾浜嗚瀛樺偍涓浜涚壒瀹氬尯闂磗um鐨勬兂娉?鎺ヤ笅鏉ユ垜浠瑙e喅鐨勬棤闈炴槸涓や釜闂:1銆佸噺灝戞洿鏀瑰厓绱犲悗瀵硅繖浜涘尯闂撮噷鐨剆um鍊肩殑鏇存敼鏃墮棿.2銆佸噺灝戞煡鎵劇殑鏃墮棿.

濂戒簡搴熻瘽浜嗚繖涔堝崐澶?鏃犻潪鏄兂璁╄嚜宸變互鍙婄湅鍒扮殑浜烘槑鐧戒負浠涔堣鐢ㄦ爲鐘舵暟緇?

鎺ヤ笅鏉ユ寮忓叆棰?

棣栧厛鎴戜滑鍙互鍊熼壌鍏冪礌涓嶅彉鏇撮棶棰樼殑浼樺寲鏂規硶,鍏堝緱鍒板墠i-1欏逛箣鍜宎nd鍓峧欏逛箣鍜?浠[i]琛ㄧず鍓峣欏逛箣鍜?閭d箞sum[i,j]=s[j]-s[i-1].閭d箞鐜板湪鐨勯棶棰樺凡緇忚漿鍖栦負姹傚墠i欏逛箣鍜屼簡.鍙﹀,鎴戜滑宸茬粡紜畾瑕佸瓨鍌ㄤ竴浜涚壒瀹氬尯闂寸殑鍜?鐜板湪灝辮鏉ユ彮紺鴻繖浜涚壒瀹氱殑鍖洪棿絀剁珶鎸囦粈涔?

鍦ㄦ枃瀛楄鏄庝箣鍓嶅厛寮曞叆涓涓潪甯哥粡鍏哥殑,鍦ㄧ綉涓婃壘鍒扮殑鏍戠姸鏁扮粍鏂囩珷閲屽嚑涔庨兘瑕佸嚭鐜扮殑涓涓浘鐗?/p>

浠庡浘涓笉闅懼彂鐜?c[k]瀛樺偍鐨勫疄闄呬笂鏄粠k寮濮嬪悜鍓嶆暟k鐨勪簩榪涘埗琛ㄧず涓彸杈圭涓涓?鎵浠h〃鐨勬暟瀛椾釜鍏冪礌鐨勫拰(榪欎箞璇村彲鑳芥湁鐐規嫍鍙?浠owbit涓簁鐨勪簩榪涘埗琛ㄧず涓彸杈圭涓涓?鎵浠h〃鐨勬暟瀛?鐒跺悗c[k]閲屽瓨鐨勫氨鏄粠a[k]寮濮嬪悜鍓嶆暟lowbit涓厓绱犱箣鍜?榪欎箞瀛樻湁浠涔堝ソ澶勫憿?鏃犺鏄爲鐘舵暟緇勮繕鏄嚎孌墊爲,閮界敤鍒頒簡鍒嗗潡鐨勬濇兂,鑰屾爲鐘舵暟緇勯噰鐢ㄨ繖鏍風殑瀛樺偍緇撴瀯鎴戞兂鏈涓昏鐨勮繕鏄繖鏍鋒柟渚胯綆?鎴戜滑鍙互鐢ㄤ綅榪愮畻杞繪澗鍦扮畻鍑簂owbit.鍒嗘瀽涓涓嬭繖鏍峰仛鐨勫鏉傚害:瀵逛簬鏇存敼鍏冪礌鏉ヨ,濡傛灉絎琲涓厓绱犺淇敼浜?鍥犱負鎴戜滑鏈緇堣繕鏄姹傚拰,鎵浠ュ彲浠ョ洿鎺ュ湪c鏁扮粍閲岄潰榪涜鐩稿簲鐨勬洿鏀?濡傚浘涓殑渚嬪瓙,鍋囪鏇存敼鐨勫厓绱犳槸a[2],閭d箞瀹冨獎鍝嶅埌寰梒鏁扮粍涓殑鍏冪礌鍙湁c[2],c[4],c[8],鎴戜滑鍙渶涓灞備竴灞傚線涓婁慨鏀瑰氨鍙互浜?榪欎釜榪囩▼鐨勬渶鍧忕殑澶嶆潅搴︿篃涓嶈繃O(logN);瀵逛簬鏌ユ壘鏉ヨ,濡傛煡鎵緎[k],鍙渶鏌ユ壘k鐨勪簩榪涘埗琛ㄧず涓?鐨勪釜鏁版灝辮兘寰楀埌鏈緇堢粨鏋?姣斿鏌ユ壘s[7],7鐨勪簩榪涘埗琛ㄧず涓湁3涓?,涔熷氨鏄鏌ユ壘3嬈?鍒板簳鏄笉鏄憿,鎴戜滑鏉ョ湅涓婂浘,s[7]=c[7]+c[6]+c[4],鍙兘浣犺繕涓嶇煡閬撴庝箞瀹炵幇榪欎釜榪囩▼.

榪樹互7涓轟緥,浜岃繘鍒朵負0111,鍙寵竟絎竴涓?鍑虹幇鍦ㄧ0浣嶄笂,涔熷氨鏄瑕佷粠a[7]寮濮嬪悜鍓嶆暟1涓厓绱?鍙湁a[7]),鍗砪[7];

鐒跺悗灝嗚繖涓?鑸嶆帀,寰楀埌6,浜岃繘鍒惰〃紺轟負0110,鍙寵竟絎竴涓?鍑虹幇鍦ㄧ1浣嶄笂,涔熷氨鏄瑕佷粠a[6]寮濮嬪悜鍓嶆暟2涓厓绱?a[6],a[5]),鍗砪[6];

鐒跺悗鑸嶆帀鐢ㄨ繃鐨?,寰楀埌4,浜岃繘鍒惰〃紺轟負0100,鍙寵竟絎竴涓?鍑虹幇鍦ㄧ2浣嶄笂,涔熷氨鏄瑕佷粠a[4]寮濮嬪悜鍓嶆暟4涓厓绱?a[4],a[3],a[2],a[1]),鍗砪[4].

 

浠g爜瀹炵幇:


int lowbit(int x)//璁$畻lowbit
{
    
return x&(-x);
}

void add(int i,int val)//灝嗙i涓厓绱犳洿鏀逛負val
{
    
while(i<=n)
    
{
        c[i]
+=val;
        i
+=lowbit(i);
    }

}

int sum(int i)//姹傚墠i欏瑰拰
{
    
int s=0;
    
while(i>0)
    
{
        s
+=c[i];
        i
-=lowbit(i);
    }

    
return s;
}

http://www.cnblogs.com/yykkciwei/archive/2009/05/08/1452889.html


]]>
Trie鈥斿崟璇嶆煡鎵炬爲 杞?/title><link>http://www.tkk7.com/tinysun/archive/2010/05/02/319881.html</link><dc:creator>浣曞厠鍕?/dc:creator><author>浣曞厠鍕?/author><pubDate>Sun, 02 May 2010 03:35:00 GMT</pubDate><guid>http://www.tkk7.com/tinysun/archive/2010/05/02/319881.html</guid><wfw:comment>http://www.tkk7.com/tinysun/comments/319881.html</wfw:comment><comments>http://www.tkk7.com/tinysun/archive/2010/05/02/319881.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/tinysun/comments/commentRss/319881.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/tinysun/services/trackbacks/319881.html</trackback:ping><description><![CDATA[     鎽樿:  綆浠?Trie錛屽張縐板崟璇嶆煡鎵炬爲銆佸墠緙鏍戯紝鏄?nbsp;綆浠? Trie錛屽張縐板崟璇嶆煡鎵炬爲銆佸墠緙鏍戯紝鏄竴縐嶅搱甯屾爲鐨勫彉縐嶃傚簲鐢ㄤ簬瀛楃涓茬殑緇熻涓庢帓搴忥紝緇忓父琚悳绱㈠紩鎿庣郴緇熺敤浜庢枃鏈瘝棰戠粺璁°? 鍚湁鍗曡瘝“tea”“tree”“A”“ZSU”鐨勪竴媯礣rie銆?l 鎬ц川 n ...  <a href='http://www.tkk7.com/tinysun/archive/2010/05/02/319881.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/tinysun/aggbug/319881.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/tinysun/" target="_blank">浣曞厠鍕?/a> 2010-05-02 11:35 <a href="http://www.tkk7.com/tinysun/archive/2010/05/02/319881.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏁版嵁緇撴瀯灝忕粨http://www.tkk7.com/tinysun/archive/2009/12/13/305780.html浣曞厠鍕?/dc:creator>浣曞厠鍕?/author>Sun, 13 Dec 2009 05:15:00 GMThttp://www.tkk7.com/tinysun/archive/2009/12/13/305780.htmlhttp://www.tkk7.com/tinysun/comments/305780.htmlhttp://www.tkk7.com/tinysun/archive/2009/12/13/305780.html#Feedback0http://www.tkk7.com/tinysun/comments/commentRss/305780.htmlhttp://www.tkk7.com/tinysun/services/trackbacks/305780.html鏁版嵁緇撴瀯鍜岀畻娉曞埌搴曟湁浠涔堢敤錛?/font>

鏁版嵁緇撴瀯鏄鍦ㄨ綆楁満鍐呭瓨涓紙鏈夋椂鍦ㄧ鐩樹腑錛夌殑鏁版嵁鐨勪竴縐嶅畨鎺掋傛暟鎹粨鏋勫寘鎷暟緇勩侀摼琛ㄣ佹爤銆佷簩鍙夋爲銆佸搱甯岃〃絳夌瓑銆傜畻娉曞榪欎簺緇撴瀯涓殑鏁版嵁榪涜鍚勭澶勭悊銆備緥濡傦紝鏌ユ壘涓鏉$壒孌婄殑鏁版嵁欏規垨瀵規暟鎹繘琛屾帓搴忋?/font>

鎺屾彙榪欎簺鐭ヨ瘑浠ュ悗鍙互瑙e喅鍝簺闂鍛紵

鐜板疄涓栫晫鏁版嵁瀛樺偍

紼嬪簭鍛樼殑宸ュ叿

寤烘ā

鏁版嵁緇撴瀯鐨勭壒鎬э細

鏁扮粍錛氫紭鐐規槸鎻掑叆蹇紝濡傛灉鐭ラ亾涓嬫爣錛屽彲浠ラ潪甯稿揩鍦板瓨鍙栥傜己鐐規槸鏌ユ壘鎱紝鍒犻櫎鎱紝澶у皬鍥哄畾銆?/font>

鏈夊簭鏁扮粍錛氫紭鐐規槸姣旀棤搴忕殑鏁版嵁鏌ユ壘蹇傜己鐐規槸鍒犻櫎鍜屾彃鍏ユ參錛屽ぇ灝忓浐瀹氥?/font>

鏍堬細浼樼偣鏄彁渚涘悗榪涘厛鍑烘柟寮忕殑瀛樺彇銆傜己鐐規槸瀛樺彇鍏朵粬欏瑰緢鎱€?/font>

闃熷垪錛氭彁渚涘厛榪涘厛鍑烘柟寮忕殑瀛樺彇銆傜己鐐規槸瀛樺彇鍏朵粬欏瑰緢鎱€?/font>

閾捐〃錛氫紭鐐規槸鎻掑叆蹇紝鍒犻櫎蹇傜己鐐規槸鏌ユ壘鎱€?/font>

浜屽弶鏍戯細浼樼偣鏄煡鎵俱佹彃鍏ャ佸垹闄ら兘蹇紙濡傛灉鏍戜繚鎸佸鉤琛★級銆傜己鐐規槸鍒犻櫎綆楁硶澶嶆潅銆?/font>

綰紞榛戞爲錛氭煡鎵俱佹彃鍏ャ佸垹闄ら兘蹇傛爲鎬繪槸騫寵 鐨勩傜己鐐規槸綆楁硶澶嶆潅銆?/font>

2-3-4鏍戯細浼樼偣鏄煡鎵俱佹彃鍏ャ佸垹闄ら兘蹇傛爲鎬繪槸騫寵 鐨勩傜被浼肩殑鏍戝紓佺洏瀛樺偍鏈夌敤銆傜己鐐規槸綆楁硶澶嶆潅銆?/font>

鍝堝笇琛細浼樼偣鏄鏋滃叧閿瓧宸茬煡鍒欏瓨鍙栨瀬蹇傛彃鍏ュ揩銆傜己鐐規槸鍒犻櫎鎱紝濡傛灉涓嶇煡閬撳叧閿瓧鍒欏瓨鍙栧緢鎱紝瀵瑰瓨鍌ㄧ┖闂翠嬌鐢ㄤ笉鍏呭垎銆?/font>

鍫嗭細浼樼偣鏄彃鍏ャ佸垹闄ゅ揩錛屽鏈澶ф暟鎹」鐨勫瓨鍙栧緢蹇傜己鐐規槸瀵瑰叾浠栨暟鎹」瀛樺彇鎱€?/font>

鍥撅細浼樼偣鏄鐜板疄涓栫晫寤烘ā銆傜己鐐規槸鏈変簺綆楁硶涓斿鏉傘?/font>

瀵逛簬澶у鏁版暟鎹粨鏋勬潵璇達紝閮介渶瑕佺煡閬撳浣曟彃鍏ヤ竴鏉℃柊鐨勬暟鎹」錛屽浣曞鎵炬煇涓鐗瑰畾鐨勬暟鎹」錛屽浣曞垹闄ゆ煇涓鐗瑰畾鐨勬暟鎹」錛岃繕闇瑕佺煡閬撳浣曡凱浠e湴璁塊棶鏌愪竴鏁版嵁緇撴瀯涓殑鍚勬暟鎹」錛屼互渚胯繘琛屾樉紺烘垨鍏朵粬鎿嶄綔銆傚彟涓縐嶉噸瑕佺殑綆楁硶鑼冪暣鏄帓搴忋?/font>

 

 

 

涓銆侀氱敤鏁版嵁緇撴瀯錛氭暟緇勶紝閾捐〃錛屾爲錛屽搱甯岃〃

瀹冧滑琚О涔嬩負閫氱敤鐨勬暟鎹粨鏋勬槸鍥犱負瀹冧滑閫氳繃鍏抽敭瀛楃殑鍊兼潵瀛樺偍騫舵煡鎵炬暟鎹紝榪欎竴鐐瑰湪閫氱敤鏁版嵁搴撶▼搴忎腑甯歌鍒幫紙鏍堢瓑鐗規畩緇撴瀯姝eソ鐩稿弽錛屽畠浠彧鍏佽瀛樺彇涓瀹氱殑鏁版嵁欏癸級銆?/font>

閫氱敤鏁版嵁緇撴瀯鍙互瀹屽叏鎸夌収閫熷害鐨勫揩鎱㈡潵鍒嗙被錛?/font>

鏁扮粍鍜岄摼琛ㄦ槸鏈鎱㈢殑錛屾爲鐩稿杈冨揩錛屽搱甯岃〃鏄渶蹇殑銆?/font>

浣嗗茍涓嶆槸浣跨敤鏈蹇殑緇撴瀯姘歌繙鏄渶濂界殑鏂規銆傝繖浜涙渶蹇殑緇撴瀯涔熸湁緙洪櫡錛岄鍏堬紝瀹冧滑鐨勭▼搴忓湪涓嶅悓紼嬪害涓婃瘮鏁扮粍鍜岄摼琛ㄧ殑澶嶆潅;鍏舵錛屽搱甯岃〃瑕佹眰棰勫厛鐭ラ亾瑕佸瓨鍌ㄥ灝戞暟鎹紝鏁版嵁瀵瑰瓨鍌ㄧ┖闂寸殑鍒╃敤鐜囦篃涓嶆槸闈炲父楂樸傛櫘閫氱殑浜屽弶鏍戝欏哄簭鐨勬暟鎹潵璇達紝浼氬彉鎴愮紦鎱㈢殑O(N)綰ф搷浣?鑰屽鉤琛℃爲铏界劧閬垮厤浜嗕笂榪扮殑闂錛屼絾鏄畠鐨勭▼搴忕紪鍒惰搗鏉ュ嵈姣旇緝鍥伴毦銆?/font>

 

鏁扮粍鍦ㄤ笅鍒楁儏鍐典笅寰堟湁鐢細

鏁版嵁閲忚緝灝?/font>

鏁版嵁閲忕殑澶у皬浜嬪厛鍙嫻?/font>

濡傛灉瀛樺偍絀洪棿瓚沖澶х殑璇濓紝鍙互鏀炬澗絎簩鏉★紝鍒涘緩涓涓凍澶熷ぇ鐨勬暟緇勬潵搴斾粯鎵鏈夊彲浠ラ瑙佺殑鏁版嵁杈撳叆銆?/font>

濡傛灉鎻掑叆閫熷害寰堥噸瑕佺殑璇濓紝浣跨敤鏃犲簭鏁扮粍銆傚鏋滄煡鎵鵑熷害寰堥噸瑕佺殑璇濓紝浣跨敤鏈夊簭鏁扮粍錛屽茍鐢ㄤ簩鍒嗘煡鎵俱傛暟緇勫厓绱犵殑鍒犻櫎鎬繪槸寰堟參錛岃繖鏄敱浜庝負浜嗗~鍏呯┖鍑烘潵鐨勫崟鍏冿紝騫沖潎鍗婃暟浠ヤ笂鐨勬暟緇勫厓绱犺琚Щ鍔ㄣ傚湪鏈夊簭鏁扮粍涓殑閬嶅巻鏄緢蹇殑錛岃屽湪鏃犲簭鐨勬暟緇勪笉鏀寔榪欑鍔熻兘銆?/font>

鍚戦噺錛堝Java涓殑鍚戦噺綾伙級鏄竴縐嶅綋鏁版嵁澶弧鏃跺彲浠ヨ嚜宸辨墿鍏呯┖闂寸殑鏁扮粍銆傚悜閲忓彲浠ュ簲鐢ㄤ簬鏁版嵁閲忎笉鍙鐭ョ殑鎯呭喌涓嬨傜劧鑰岋紝鍦ㄥ悜閲忔墿鍏呮椂錛岃灝嗘棫鐨勬暟鎹嫹鍏ヤ竴涓柊鐨勭┖闂翠腑錛岃繖涓榪囩▼浼氶犳垚紼嬪簭鏄庢樉鐨勫懆鏈熸ф殏鍋溿?/font>

濡傛灉闇瑕佸瓨鍌ㄧ殑鏁版嵁閲忎笉鑳介鐭ユ垨鑰呴渶瑕侀綣佸湴鎻掑叆鍒犻櫎鏁版嵁鍏冪礌鏃訛紝鑰冭檻浣跨敤閾捐〃銆傚綋鏈夋柊鐨勫厓绱犲姞鍏ユ椂錛岄摼琛ㄥ氨寮杈熸柊鐨勬墍闇瑕佺殑絀洪棿錛屾墍浠ュ畠鐢氳嚦鍙互鍗犳弧鍏ㄩ儴鍙敤鍐呭瓨;鍦ㄥ垹闄よ繃紼嬩腑娌℃湁蹇呰鍍忔暟緇勯偅鏍鋒坊琛?#8220;絀烘礊”銆?/font>

 

 

浜屻佷笓鐢ㄦ暟鎹粨鏋勶細鏍堬紝闃熷垪錛屼紭鍏堢駭闃熷垪

涓夈佹帓搴忥細鎻掑叆鎺掑簭錛屽笇灝旀帓搴忥紝蹇熸帓搴忥紝褰掑茍鎺掑簭錛屽爢鎺掑簭

鍥涖佸浘錛氶偦鎺ョ煩闃碉紝閭繪帴琛?/font>

浜斻佸閮ㄥ瓨鍌細欏哄簭瀛樺偍錛岀儲寮曟枃浠訛紝B-鏍戯紝鍝堝笇鏂規硶

 

鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛歨ttp://blog.csdn.net/adcxf/archive/2008/08/06/2775636.aspx



]]>
鍒╃敤鐗涢】榪唬娉曟眰騫蟲柟鏍?杞?http://www.tkk7.com/tinysun/archive/2008/11/23/242126.html浣曞厠鍕?/dc:creator>浣曞厠鍕?/author>Sun, 23 Nov 2008 10:32:00 GMThttp://www.tkk7.com/tinysun/archive/2008/11/23/242126.htmlhttp://www.tkk7.com/tinysun/comments/242126.htmlhttp://www.tkk7.com/tinysun/archive/2008/11/23/242126.html#Feedback3http://www.tkk7.com/tinysun/comments/commentRss/242126.htmlhttp://www.tkk7.com/tinysun/services/trackbacks/242126.html姹俷鐨勫鉤鏂規牴錛屽厛鍋囪涓鐚滄祴鍊?code class="math">X0 = 1錛岀劧鍚庢牴鎹互涓嬪叕寮忔眰鍑?code class="math">X1錛屽啀灝?code class="math">X1浠e叆鍏紡鍙寵竟錛岀戶緇眰鍑?code class="math">X2…閫氳繃鏈夋晥嬈¤凱浠e悗鍗沖彲姹傚嚭n鐨勫鉤鏂規牴錛?code class="math">Xk+1

 x_(k+1)=1/2(x_k+n/(x_k))

鍏堣鎴戜滑鏉ラ獙璇佷笅榪欎釜宸у鐨勬柟娉曞噯紜э紝鏉ョ畻涓?鐨勫鉤鏂規牴 (Computed by Mathomatic)

1-> x_new = ( x_old + y/x_old )/2
y
(x_old + -----)
x_old
#1: x_new = ---------------
2
1-> calculate x_old 1
Enter y: 2
Enter initial x_old: 1
 x_new = 1.5
1-> calculate x_old 2
Enter y: 2
Enter initial x_old: 1
 x_new = 1.4166666666667
1-> calculate x_old 3
Enter y: 2
Enter initial x_old: 1
 x_new = 1.4142156862745
1-> calculate x_old 10
Enter y: 2
Enter initial x_old: 1
Convergence reached after 6 iterations.
 x_new = 1.4142135623731
...

鍙錛岄殢鐫榪唬嬈℃暟鐨勫鍔狅紝榪愮畻鍊間細鎰堝彂鎺ヨ繎鐪熷疄鍊箋傚緢紲炲鐨勭畻娉曪紝鍙槸鎬庝箞鏉ョ殑鍛? 鏌ヤ簡涓?a title="Wikipedia: Newton's method" >wikipedia鍜?a title="Wolfram: Newton's Iteration" >wolfram錛屽師鏉ョ畻娉曠殑鍚嶅瓧鍙玁ewton’s Iteration (鐗涢】榪唬娉?銆?/p>

涓嬮潰鏄瀬鍏?span lang="ja" xml:lang="ja">銇ゃ伨銈夈仾銇?/span>(boring)鐨勬暟鐞嗕粙緇嶏紝涓嶅枩嬈㈡暟瀛︾殑璦涓嬩箣鎰忎篃灝辨槸緇濆ぇ閮ㄥ垎浜哄彲浠ョ暐榪囦簡銆?/p>

綆鍗曟帹瀵?/h3>

鍋囪f(x)鏄叧浜?code class="math">X鐨勫嚱鏁?

An illustration of one iteration of Newton's method

姹傚嚭f(x)鐨勪竴闃跺錛屽嵆鏂滅巼:

f'(x_{n}) = \frac{ \mathrm{rise} }{ \mathrm{run} } = \frac{ \mathrm{\Delta y} }{ \mathrm{\Delta x} } = \frac{ f( x_{n} ) - 0 }{ x_{n} - x_{n+1} } = \frac{0 - f(x_{n})}{(x_{n+1} - x_{n})}\,\!

綆鍖栫瓑寮忓緱鍒?

 x_(n+1)=x_n-(f(x_n))/(f^'(x_n))

鐒跺悗鍒╃敤寰楀埌鐨勬渶緇堝紡榪涜榪唬榪愮畻鐩磋嚦姹傚埌涓涓瘮杈冪簿紜殑婊℃剰鍊鹼紝涓轟粈涔堝彲浠ョ敤榪唬娉曞憿?鐞嗙敱鏄腑鍊煎畾鐞?Intermediate Value Theorem):

濡傛灉f鍑芥暟鍦ㄩ棴鍖洪棿[a,b]鍐呰繛緇紝蹇呭瓨鍦ㄤ竴鐐?code class="math">x浣垮緱f(x) = c錛?code class="math">c鏄嚱鏁?code class="math">f鍦ㄩ棴鍖洪棿[a,b]鍐呯殑涓鐐?

鎴戜滑鍏堢寽嫻嬩竴X鍒濆鍊鹼紝渚嬪1錛屽綋鐒跺湴鐞冧漢閮界煡閬撻櫎浜?鏈韓涔嬪浠諱綍鏁扮殑騫蟲柟鏍歸兘涓嶄細鏄?銆傜劧鍚庝唬鍏ュ垵濮嬪鹼紝閫氳繃榪唬榪愮畻涓嶆柇鎺ㄨ繘錛岄愭闈犺繎綺劇‘鍊鹼紝鐩村埌寰楀埌鎴戜滑涓昏璁や負姣旇緝婊℃剰鐨勫間負姝€備緥濡傝姹?68鐨勫鉤鏂規牴錛屽洜涓?code class="math">252 = 625錛岃?code class="math">302 = 900錛屾垜浠彲鍏堜唬鍏ヤ竴鐚滄祴鍊?6錛岀劧鍚庤凱浠h繍綆楋紝寰楀埌杈冪簿紜?27.7128銆?/p>

鍥炲埌鎴戜滑鏈寮濮嬬殑閭d釜”鑾悕鍏跺”鐨勫叕寮忥紝鎴戜滑瑕佹眰鐨勬槸N鐨勫鉤鏂規牴錛屼護x2 = n錛屽亣璁句竴鍏充簬X鐨勫嚱鏁?code class="math">f(x)涓?

f(X) = X2 - n

姹?code class="math">f(X)鐨勪竴闃跺涓?

f'(X) = 2X

浠e叆鍓嶉潰姹傚埌鐨勬渶緇堝紡涓?

Xk+1 = Xk - (Xk2 - n)/2Xk

鍖栫畝鍗沖緱鍒版垜浠渶鍒濇彁鍒扮殑閭d釜姹傚鉤鏂規牴鐨勭濂囧叕寮忎簡:

 x_(k+1)=1/2(x_k+n/(x_k))

鐢ㄦ嘲鍕掑叕寮忔帹瀵?/h3>

鎴戜箣鍓嶄粙緇嶈繃鍦?em>The Art and Science of C涓涔︿腑鏈夌敤鍒?a title="The Art and Science of C 闃呰絎旇 II" >娉板嫆鍏紡姹傚鉤鏂規牴鐨勭畻娉?/a>錛屽叾瀹炵墰欏胯凱浠f硶涔熷彲浠ョ湅浣滄槸娉板嫆鍏紡(Taylor Series)鐨勭畝鍖栵紝鍏堝洖欏句笅娉板嫆鍏紡:

f(x_0+epsilon)=f(x_0)+f^'(x_0)epsilon+1/2f^('')(x_0)epsilon^2+....

浠呬繚鐣欑瓑寮忓彸杈瑰墠涓ら」:

f(x_0+epsilon) approx f(x_0)+f^'(x_0)epsilon.

浠?code class="math">f(X0+ε) = 0錛屽緱鍒?

epsilon_0=-(f(x_0))/(f^'(x_0))

鍐嶄護X1 = X0 + ε0錛屽緱鍒?code class="math">ε1…渚濇綾繪帹鍙煡:

epsilon_n=-(f(x_n))/(f^'(x_n))

杞寲涓?

 x_(n+1)=x_n-(f(x_n))/(f^'(x_n))

寮曠敵

浠庢帹瀵兼潵鐪嬶紝鍏跺疄鐗涢】榪唬娉曚笉浠呭彲浠ョ敤鏉ユ眰騫蟲柟鏍癸紝榪樺彲浠ユ眰绔嬫柟鏍癸紝鐢氳嚦鏇村鏉傜殑榪愮畻銆?/p>

鍚屾牱錛屾垜浠繕鍙互鍒╃敤C璇█鏉ュ疄鐜頒笅閭d釜鏈綆鍗曠殑姹傚鉤鏂規牴鐨勫叕寮?灝界鎴戜滑鍙互鐩存帴鐢?code>sqrt()瀹屾垚)

#include <stdio.h>
#include <math.h>
#define N 768
main() {
float x=1;
int i;
for (i=1;i<=1000;i++) {  // recursion times : 1000
x = (x + N/x)/2;
}
printf("The square root of %d is %f\n",N,x);
}


]]>
主站蜘蛛池模板: 国产精品高清免费网站| 亚洲熟妇无码八V在线播放| 国产免费一级高清淫曰本片| 亚洲国产精品嫩草影院久久| 一区二区三区精品高清视频免费在线播放 | 国产AV无码专区亚洲精品| 两性色午夜免费视频| 亚洲AV综合色一区二区三区| 暖暖免费在线中文日本| 亚洲av综合色区| 黄色免费网站网址| 亚洲人成人伊人成综合网无码| 日本媚薬痉挛在线观看免费| 免费又黄又爽又猛大片午夜| 在线亚洲97se亚洲综合在线| 午夜免费啪视频在线观看| 亚洲一区二区三区免费观看| 在线观看无码的免费网站| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | jizz18免费视频| 亚洲gv猛男gv无码男同短文| 4hu四虎最新免费地址| 亚洲乱色熟女一区二区三区蜜臀| 免费人成激情视频| 中文字字幕在线高清免费电影| 久久久久亚洲Av无码专| 成人啪精品视频免费网站| 国产成人高清精品免费观看| 亚洲精品国产成人专区| 日本免费一区二区三区最新| 国产特黄特色的大片观看免费视频 | 蜜芽亚洲av无码一区二区三区| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 成人午夜影视全部免费看| 婷婷亚洲综合五月天小说 | a级毛片毛片免费观看永久| 亚洲美女视频免费| 无码欧精品亚洲日韩一区夜夜嗨| 很黄很污的网站免费| 亚洲欧美黑人猛交群| 亚洲va无码va在线va天堂|