[{"data":1,"prerenderedAt":9840},["ShallowReactive",2],{"category-posts-algorithm":3},[4,2860,7344,9623],{"id":5,"title":6,"body":7,"category":2848,"cover":2849,"coverAlt":2850,"date":2851,"description":2852,"extension":2853,"meta":2854,"navigation":61,"path":2855,"pinned":2856,"seo":2857,"stem":2858,"__hash__":2859},"posts/posts/cppbagu.md","手搓之C++工程系列",{"type":8,"value":9,"toc":2834},"minimark",[10,14,17,22,25,663,666,668,671,675,1234,1237,1839,1841,1844,1847,2211,2214,2611,2613,2616,2619,2830],[11,12,13],"p",{},"还是栽在一些面试八股题上了，给我算法题还好，写个小模板就能唬住一些没打过竞赛的面试官。但是让我写工程类题目（手搓智能指针、LRU、多线程消费）我就有点头疼，一个是一个C++工程里最多用一次这种玩意，另一个是我写C++工程也少，在这里整理一下常见的C++八股工程。",[15,16],"hr",{},[18,19,21],"h2",{"id":20},"lru缓存","LRU缓存",[11,23,24],{},"以下是一个存储int为键、int为值的LRU缓存实现。",[26,27,32],"pre",{"className":28,"code":29,"language":30,"meta":31,"style":31},"language-cpp shiki shiki-themes one-dark-pro one-dark-pro min-light","#include \u003Clist>\n#include \u003Cunordered_map>\n\nusing namespace std;\n\nclass LRUCache {\npublic:\n    LRUCache(int capacity) : cap_(capacity) {}\n\n    int get(int key) {\n        auto it = mp_.find(key);\n        if (it == mp_.end()) return -1;\n\n        // splice 意为“绞接”\n        lst_.splice(lst_.begin(), lst_, it->second);\n        return it->second->second;\n    }\n\n    void put(int key, int value) {\n        auto it = mp_.find(key);\n        if (it != mp_.end()) {\n            it->second->second = value;\n            lst_.splice(lst_.begin(), lst_, it->second);\n            return;\n        }\n\n        if ((int)lst_.size() == cap_) {\n            int old_key = lst_.back().first;\n            mp_.erase(old_key);\n            lst_.pop_back();\n        }\n\n        lst_.push_front({key, value});\n        mp_[key] = lst_.begin();\n    }\n\nprivate:\n    int cap_;\n    list\u003Cpair\u003Cint,int>> lst_; \n    unordered_map\u003Cint, list\u003Cpair\u003Cint,int>>::iterator> mp_;\n};\n","cpp","",[33,34,35,48,56,63,80,85,98,108,138,143,162,187,221,226,233,278,296,302,307,332,349,368,388,422,430,436,441,469,496,510,523,528,533,551,570,575,580,588,596,619,657],"code",{"__ignoreMap":31},[36,37,40,44],"span",{"class":38,"line":39},"line",1,[36,41,43],{"class":42},"sSCA1","#include",[36,45,47],{"class":46},"sZaK-"," \u003Clist>\n",[36,49,51,53],{"class":38,"line":50},2,[36,52,43],{"class":42},[36,54,55],{"class":46}," \u003Cunordered_map>\n",[36,57,59],{"class":38,"line":58},3,[36,60,62],{"emptyLinePlaceholder":61},true,"\n",[36,64,66,69,72,76],{"class":38,"line":65},4,[36,67,68],{"class":42},"using",[36,70,71],{"class":42}," namespace",[36,73,75],{"class":74},"svpSI"," std",[36,77,79],{"class":78},"s0bQm",";\n",[36,81,83],{"class":38,"line":82},5,[36,84,62],{"emptyLinePlaceholder":61},[36,86,88,91,95],{"class":38,"line":87},6,[36,89,90],{"class":42},"class",[36,92,94],{"class":93},"s1pBA"," LRUCache",[36,96,97],{"class":78}," {\n",[36,99,101,104],{"class":38,"line":100},7,[36,102,103],{"class":42},"public",[36,105,107],{"class":106},"svaOe",":\n",[36,109,111,115,118,121,125,128,132,135],{"class":38,"line":110},8,[36,112,114],{"class":113},"slNdt","    LRUCache",[36,116,117],{"class":78},"(",[36,119,120],{"class":42},"int",[36,122,124],{"class":123},"sQkFB"," capacity",[36,126,127],{"class":78},") ",[36,129,131],{"class":130},"s2dl9",":",[36,133,134],{"class":113}," cap_",[36,136,137],{"class":78},"(capacity) {}\n",[36,139,141],{"class":38,"line":140},9,[36,142,62],{"emptyLinePlaceholder":61},[36,144,146,149,152,154,156,159],{"class":38,"line":145},10,[36,147,148],{"class":42},"    int",[36,150,151],{"class":113}," get",[36,153,117],{"class":78},[36,155,120],{"class":42},[36,157,158],{"class":123}," key",[36,160,161],{"class":78},") {\n",[36,163,165,168,171,174,178,181,184],{"class":38,"line":164},11,[36,166,167],{"class":42},"        auto",[36,169,170],{"class":78}," it ",[36,172,173],{"class":42},"=",[36,175,177],{"class":176},"sIhaf"," mp_",[36,179,180],{"class":130},".",[36,182,183],{"class":113},"find",[36,185,186],{"class":78},"(key);\n",[36,188,190,193,196,199,201,203,206,209,212,215,219],{"class":38,"line":189},12,[36,191,192],{"class":42},"        if",[36,194,195],{"class":78}," (it ",[36,197,198],{"class":42},"==",[36,200,177],{"class":176},[36,202,180],{"class":130},[36,204,205],{"class":113},"end",[36,207,208],{"class":78},"()) ",[36,210,211],{"class":42},"return",[36,213,214],{"class":42}," -",[36,216,218],{"class":217},"sWEYk","1",[36,220,79],{"class":78},[36,222,224],{"class":38,"line":223},13,[36,225,62],{"emptyLinePlaceholder":61},[36,227,229],{"class":38,"line":228},14,[36,230,232],{"class":231},"sU3lX","        // splice 意为“绞接”\n",[36,234,236,239,241,244,246,249,251,254,257,260,263,265,268,271,275],{"class":38,"line":235},15,[36,237,238],{"class":176},"        lst_",[36,240,180],{"class":130},[36,242,243],{"class":113},"splice",[36,245,117],{"class":78},[36,247,248],{"class":176},"lst_",[36,250,180],{"class":130},[36,252,253],{"class":113},"begin",[36,255,256],{"class":78},"()",[36,258,259],{"class":130},",",[36,261,262],{"class":78}," lst_",[36,264,259],{"class":130},[36,266,267],{"class":176}," it",[36,269,270],{"class":130},"->",[36,272,274],{"class":273},"sBPOt","second",[36,276,277],{"class":78},");\n",[36,279,281,284,286,288,290,292,294],{"class":38,"line":280},16,[36,282,283],{"class":42},"        return",[36,285,267],{"class":176},[36,287,270],{"class":130},[36,289,274],{"class":176},[36,291,270],{"class":130},[36,293,274],{"class":273},[36,295,79],{"class":78},[36,297,299],{"class":38,"line":298},17,[36,300,301],{"class":78},"    }\n",[36,303,305],{"class":38,"line":304},18,[36,306,62],{"emptyLinePlaceholder":61},[36,308,310,313,316,318,320,322,324,327,330],{"class":38,"line":309},19,[36,311,312],{"class":42},"    void",[36,314,315],{"class":113}," put",[36,317,117],{"class":78},[36,319,120],{"class":42},[36,321,158],{"class":123},[36,323,259],{"class":130},[36,325,326],{"class":42}," int",[36,328,329],{"class":123}," value",[36,331,161],{"class":78},[36,333,335,337,339,341,343,345,347],{"class":38,"line":334},20,[36,336,167],{"class":42},[36,338,170],{"class":78},[36,340,173],{"class":42},[36,342,177],{"class":176},[36,344,180],{"class":130},[36,346,183],{"class":113},[36,348,186],{"class":78},[36,350,352,354,356,359,361,363,365],{"class":38,"line":351},21,[36,353,192],{"class":42},[36,355,195],{"class":78},[36,357,358],{"class":42},"!=",[36,360,177],{"class":176},[36,362,180],{"class":130},[36,364,205],{"class":113},[36,366,367],{"class":78},"()) {\n",[36,369,371,374,376,378,380,382,385],{"class":38,"line":370},22,[36,372,373],{"class":176},"            it",[36,375,270],{"class":130},[36,377,274],{"class":176},[36,379,270],{"class":130},[36,381,274],{"class":273},[36,383,384],{"class":42}," =",[36,386,387],{"class":78}," value;\n",[36,389,391,394,396,398,400,402,404,406,408,410,412,414,416,418,420],{"class":38,"line":390},23,[36,392,393],{"class":176},"            lst_",[36,395,180],{"class":130},[36,397,243],{"class":113},[36,399,117],{"class":78},[36,401,248],{"class":176},[36,403,180],{"class":130},[36,405,253],{"class":113},[36,407,256],{"class":78},[36,409,259],{"class":130},[36,411,262],{"class":78},[36,413,259],{"class":130},[36,415,267],{"class":176},[36,417,270],{"class":130},[36,419,274],{"class":273},[36,421,277],{"class":78},[36,423,425,428],{"class":38,"line":424},24,[36,426,427],{"class":42},"            return",[36,429,79],{"class":78},[36,431,433],{"class":38,"line":432},25,[36,434,435],{"class":78},"        }\n",[36,437,439],{"class":38,"line":438},26,[36,440,62],{"emptyLinePlaceholder":61},[36,442,444,446,449,451,454,456,458,461,464,466],{"class":38,"line":443},27,[36,445,192],{"class":42},[36,447,448],{"class":78}," ((",[36,450,120],{"class":42},[36,452,453],{"class":78},")",[36,455,248],{"class":176},[36,457,180],{"class":130},[36,459,460],{"class":113},"size",[36,462,463],{"class":78},"() ",[36,465,198],{"class":42},[36,467,468],{"class":78}," cap_) {\n",[36,470,472,475,478,480,482,484,487,489,491,494],{"class":38,"line":471},28,[36,473,474],{"class":42},"            int",[36,476,477],{"class":78}," old_key ",[36,479,173],{"class":42},[36,481,262],{"class":176},[36,483,180],{"class":130},[36,485,486],{"class":113},"back",[36,488,256],{"class":78},[36,490,180],{"class":130},[36,492,493],{"class":273},"first",[36,495,79],{"class":78},[36,497,499,502,504,507],{"class":38,"line":498},29,[36,500,501],{"class":176},"            mp_",[36,503,180],{"class":130},[36,505,506],{"class":113},"erase",[36,508,509],{"class":78},"(old_key);\n",[36,511,513,515,517,520],{"class":38,"line":512},30,[36,514,393],{"class":176},[36,516,180],{"class":130},[36,518,519],{"class":113},"pop_back",[36,521,522],{"class":78},"();\n",[36,524,526],{"class":38,"line":525},31,[36,527,435],{"class":78},[36,529,531],{"class":38,"line":530},32,[36,532,62],{"emptyLinePlaceholder":61},[36,534,536,538,540,543,546,548],{"class":38,"line":535},33,[36,537,238],{"class":176},[36,539,180],{"class":130},[36,541,542],{"class":113},"push_front",[36,544,545],{"class":78},"({key",[36,547,259],{"class":130},[36,549,550],{"class":78}," value});\n",[36,552,554,557,560,562,564,566,568],{"class":38,"line":553},34,[36,555,556],{"class":176},"        mp_",[36,558,559],{"class":78},"[key] ",[36,561,173],{"class":42},[36,563,262],{"class":176},[36,565,180],{"class":130},[36,567,253],{"class":113},[36,569,522],{"class":78},[36,571,573],{"class":38,"line":572},35,[36,574,301],{"class":78},[36,576,578],{"class":38,"line":577},36,[36,579,62],{"emptyLinePlaceholder":61},[36,581,583,586],{"class":38,"line":582},37,[36,584,585],{"class":42},"private",[36,587,107],{"class":106},[36,589,591,593],{"class":38,"line":590},38,[36,592,148],{"class":42},[36,594,595],{"class":78}," cap_;\n",[36,597,599,602,605,608,611,613,616],{"class":38,"line":598},39,[36,600,601],{"class":78},"    list",[36,603,604],{"class":42},"\u003C",[36,606,607],{"class":78},"pair",[36,609,610],{"class":42},"\u003Cint",[36,612,259],{"class":130},[36,614,615],{"class":42},"int>>",[36,617,618],{"class":78}," lst_; \n",[36,620,622,625,627,629,632,634,636,638,640,642,645,648,651,654],{"class":38,"line":621},40,[36,623,624],{"class":78},"    unordered_map",[36,626,610],{"class":42},[36,628,259],{"class":130},[36,630,631],{"class":78}," list\u003C",[36,633,607],{"class":93},[36,635,604],{"class":78},[36,637,120],{"class":42},[36,639,259],{"class":130},[36,641,120],{"class":42},[36,643,644],{"class":78},">>",[36,646,647],{"class":130},"::",[36,649,650],{"class":78},"iterator",[36,652,653],{"class":42},">",[36,655,656],{"class":78}," mp_;\n",[36,658,660],{"class":38,"line":659},41,[36,661,662],{"class":78},"};\n",[11,664,665],{},"感觉说白了出这个题就是面试官想挂人，没想到我考场上搓出来了，哈哈。",[15,667],{},[18,669,670],{"id":670},"智能指针",[672,673,674],"h3",{"id":674},"unique_ptr",[26,676,678],{"className":28,"code":677,"language":30,"meta":31,"style":31},"template \u003Ctypename T>\nclass UniquePtr {\npublic:\n    // 构造：接管裸指针\n    explicit UniquePtr(T* ptr = nullptr) : ptr_(ptr) {}\n\n    ~UniquePtr() {delete ptr_;}\n\n    // 禁止拷贝：防止多个指针同时拥有同一资源\n    UniquePtr(const UniquePtr&) = delete;\n    UniquePtr& operator=(const UniquePtr&) = delete;\n\n    // 允许移动：转移所有权，noexcept保证扩容等场景不会fallback到拷贝\n    UniquePtr(UniquePtr&& other) noexcept : ptr_(other.ptr_) {\n        other.ptr_ = nullptr;  \n    }\n\n    UniquePtr& operator=(UniquePtr&& other) noexcept {\n        if (this != &other) {\n            delete ptr_;        // ★ 先释放自己原来的资源\n            ptr_ = other.ptr_;\n            other.ptr_ = nullptr;\n        }\n        return *this;\n    }\n\n    // 解引用\n    T& operator*() const { return *ptr_; }\n    T* operator->() const { return ptr_; }\n    T* get() const { return ptr_; }\n\n    // 释放所有权，返回裸指针（调用者负责 delete）\n    T* release() {\n        T* tmp = ptr_;\n        ptr_ = nullptr;\n        return tmp;\n    }\n\n    // 重置指针\n    void reset(T* ptr = nullptr) {\n        if (ptr_ != ptr) {\n            delete ptr_;\n            ptr_ = ptr;\n        }\n    }\n\n\n\nprivate:\n    T* ptr_;\n};\n",[33,679,680,697,706,712,717,750,754,768,772,777,801,827,831,836,874,890,894,898,920,940,951,966,981,985,996,1000,1004,1009,1033,1053,1071,1075,1080,1092,1107,1118,1125,1129,1133,1138,1159,1171,1178,1188,1193,1198,1203,1208,1213,1220,1229],{"__ignoreMap":31},[36,681,682,685,688,691,694],{"class":38,"line":39},[36,683,684],{"class":42},"template",[36,686,687],{"class":78}," \u003C",[36,689,690],{"class":42},"typename",[36,692,693],{"class":93}," T",[36,695,696],{"class":78},">\n",[36,698,699,701,704],{"class":38,"line":50},[36,700,90],{"class":42},[36,702,703],{"class":93}," UniquePtr",[36,705,97],{"class":78},[36,707,708,710],{"class":38,"line":58},[36,709,103],{"class":42},[36,711,107],{"class":106},[36,713,714],{"class":38,"line":65},[36,715,716],{"class":231},"    // 构造：接管裸指针\n",[36,718,719,722,724,726,729,732,735,737,740,742,744,747],{"class":38,"line":82},[36,720,721],{"class":42},"    explicit",[36,723,703],{"class":113},[36,725,117],{"class":78},[36,727,728],{"class":93},"T",[36,730,731],{"class":42},"*",[36,733,734],{"class":123}," ptr",[36,736,384],{"class":42},[36,738,739],{"class":217}," nullptr",[36,741,127],{"class":78},[36,743,131],{"class":130},[36,745,746],{"class":113}," ptr_",[36,748,749],{"class":78},"(ptr) {}\n",[36,751,752],{"class":38,"line":87},[36,753,62],{"emptyLinePlaceholder":61},[36,755,756,759,762,765],{"class":38,"line":100},[36,757,758],{"class":113},"    ~UniquePtr",[36,760,761],{"class":78},"() {",[36,763,764],{"class":42},"delete",[36,766,767],{"class":78}," ptr_;}\n",[36,769,770],{"class":38,"line":110},[36,771,62],{"emptyLinePlaceholder":61},[36,773,774],{"class":38,"line":140},[36,775,776],{"class":231},"    // 禁止拷贝：防止多个指针同时拥有同一资源\n",[36,778,779,782,784,787,789,792,794,796,799],{"class":38,"line":145},[36,780,781],{"class":113},"    UniquePtr",[36,783,117],{"class":78},[36,785,786],{"class":42},"const",[36,788,703],{"class":93},[36,790,791],{"class":42},"&",[36,793,127],{"class":78},[36,795,173],{"class":42},[36,797,798],{"class":42}," delete",[36,800,79],{"class":78},[36,802,803,805,807,810,813,815,817,819,821,823,825],{"class":38,"line":164},[36,804,781],{"class":93},[36,806,791],{"class":42},[36,808,809],{"class":42}," operator",[36,811,812],{"class":78},"=(",[36,814,786],{"class":42},[36,816,703],{"class":93},[36,818,791],{"class":42},[36,820,127],{"class":78},[36,822,173],{"class":42},[36,824,798],{"class":42},[36,826,79],{"class":78},[36,828,829],{"class":38,"line":189},[36,830,62],{"emptyLinePlaceholder":61},[36,832,833],{"class":38,"line":223},[36,834,835],{"class":231},"    // 允许移动：转移所有权，noexcept保证扩容等场景不会fallback到拷贝\n",[36,837,838,840,842,845,848,851,853,857,860,862,864,867,869,872],{"class":38,"line":228},[36,839,781],{"class":113},[36,841,117],{"class":78},[36,843,844],{"class":93},"UniquePtr",[36,846,847],{"class":42},"&&",[36,849,850],{"class":123}," other",[36,852,127],{"class":78},[36,854,856],{"class":855},"s3Kl_","noexcept",[36,858,859],{"class":130}," :",[36,861,746],{"class":113},[36,863,117],{"class":78},[36,865,866],{"class":176},"other",[36,868,180],{"class":130},[36,870,871],{"class":273},"ptr_",[36,873,161],{"class":78},[36,875,876,879,881,883,885,887],{"class":38,"line":235},[36,877,878],{"class":176},"        other",[36,880,180],{"class":130},[36,882,871],{"class":273},[36,884,384],{"class":42},[36,886,739],{"class":217},[36,888,889],{"class":78},";  \n",[36,891,892],{"class":38,"line":280},[36,893,301],{"class":78},[36,895,896],{"class":38,"line":298},[36,897,62],{"emptyLinePlaceholder":61},[36,899,900,902,904,906,908,910,912,914,916,918],{"class":38,"line":304},[36,901,781],{"class":93},[36,903,791],{"class":42},[36,905,809],{"class":42},[36,907,812],{"class":78},[36,909,844],{"class":93},[36,911,847],{"class":42},[36,913,850],{"class":123},[36,915,127],{"class":78},[36,917,856],{"class":42},[36,919,97],{"class":78},[36,921,922,924,927,930,933,937],{"class":38,"line":309},[36,923,192],{"class":42},[36,925,926],{"class":78}," (",[36,928,929],{"class":176},"this",[36,931,932],{"class":42}," !=",[36,934,936],{"class":935},"s2AVI"," &",[36,938,939],{"class":78},"other) {\n",[36,941,942,945,948],{"class":38,"line":334},[36,943,944],{"class":42},"            delete",[36,946,947],{"class":78}," ptr_;",[36,949,950],{"class":231},"        // ★ 先释放自己原来的资源\n",[36,952,953,956,958,960,962,964],{"class":38,"line":351},[36,954,955],{"class":78},"            ptr_ ",[36,957,173],{"class":42},[36,959,850],{"class":176},[36,961,180],{"class":130},[36,963,871],{"class":273},[36,965,79],{"class":78},[36,967,968,971,973,975,977,979],{"class":38,"line":370},[36,969,970],{"class":176},"            other",[36,972,180],{"class":130},[36,974,871],{"class":273},[36,976,384],{"class":42},[36,978,739],{"class":217},[36,980,79],{"class":78},[36,982,983],{"class":38,"line":390},[36,984,435],{"class":78},[36,986,987,989,992,994],{"class":38,"line":424},[36,988,283],{"class":42},[36,990,991],{"class":42}," *",[36,993,929],{"class":176},[36,995,79],{"class":78},[36,997,998],{"class":38,"line":432},[36,999,301],{"class":78},[36,1001,1002],{"class":38,"line":438},[36,1003,62],{"emptyLinePlaceholder":61},[36,1005,1006],{"class":38,"line":443},[36,1007,1008],{"class":231},"    // 解引用\n",[36,1010,1011,1014,1016,1018,1021,1023,1026,1028,1030],{"class":38,"line":471},[36,1012,1013],{"class":93},"    T",[36,1015,791],{"class":42},[36,1017,809],{"class":42},[36,1019,1020],{"class":78},"*() ",[36,1022,786],{"class":42},[36,1024,1025],{"class":78}," { ",[36,1027,211],{"class":42},[36,1029,991],{"class":42},[36,1031,1032],{"class":78},"ptr_; }\n",[36,1034,1035,1037,1039,1041,1044,1046,1048,1050],{"class":38,"line":498},[36,1036,1013],{"class":93},[36,1038,731],{"class":42},[36,1040,809],{"class":42},[36,1042,1043],{"class":78},"->() ",[36,1045,786],{"class":42},[36,1047,1025],{"class":78},[36,1049,211],{"class":42},[36,1051,1052],{"class":78}," ptr_; }\n",[36,1054,1055,1057,1059,1061,1063,1065,1067,1069],{"class":38,"line":512},[36,1056,1013],{"class":93},[36,1058,731],{"class":42},[36,1060,151],{"class":113},[36,1062,463],{"class":78},[36,1064,786],{"class":42},[36,1066,1025],{"class":78},[36,1068,211],{"class":42},[36,1070,1052],{"class":78},[36,1072,1073],{"class":38,"line":525},[36,1074,62],{"emptyLinePlaceholder":61},[36,1076,1077],{"class":38,"line":530},[36,1078,1079],{"class":231},"    // 释放所有权，返回裸指针（调用者负责 delete）\n",[36,1081,1082,1084,1086,1089],{"class":38,"line":535},[36,1083,1013],{"class":93},[36,1085,731],{"class":42},[36,1087,1088],{"class":113}," release",[36,1090,1091],{"class":78},"() {\n",[36,1093,1094,1097,1099,1102,1104],{"class":38,"line":553},[36,1095,1096],{"class":78},"        T",[36,1098,731],{"class":42},[36,1100,1101],{"class":78}," tmp ",[36,1103,173],{"class":42},[36,1105,1106],{"class":78}," ptr_;\n",[36,1108,1109,1112,1114,1116],{"class":38,"line":572},[36,1110,1111],{"class":78},"        ptr_ ",[36,1113,173],{"class":42},[36,1115,739],{"class":217},[36,1117,79],{"class":78},[36,1119,1120,1122],{"class":38,"line":577},[36,1121,283],{"class":42},[36,1123,1124],{"class":78}," tmp;\n",[36,1126,1127],{"class":38,"line":582},[36,1128,301],{"class":78},[36,1130,1131],{"class":38,"line":590},[36,1132,62],{"emptyLinePlaceholder":61},[36,1134,1135],{"class":38,"line":598},[36,1136,1137],{"class":231},"    // 重置指针\n",[36,1139,1140,1142,1145,1147,1149,1151,1153,1155,1157],{"class":38,"line":621},[36,1141,312],{"class":42},[36,1143,1144],{"class":113}," reset",[36,1146,117],{"class":78},[36,1148,728],{"class":93},[36,1150,731],{"class":42},[36,1152,734],{"class":123},[36,1154,384],{"class":42},[36,1156,739],{"class":217},[36,1158,161],{"class":78},[36,1160,1161,1163,1166,1168],{"class":38,"line":659},[36,1162,192],{"class":42},[36,1164,1165],{"class":78}," (ptr_ ",[36,1167,358],{"class":42},[36,1169,1170],{"class":78}," ptr) {\n",[36,1172,1174,1176],{"class":38,"line":1173},42,[36,1175,944],{"class":42},[36,1177,1106],{"class":78},[36,1179,1181,1183,1185],{"class":38,"line":1180},43,[36,1182,955],{"class":78},[36,1184,173],{"class":42},[36,1186,1187],{"class":78}," ptr;\n",[36,1189,1191],{"class":38,"line":1190},44,[36,1192,435],{"class":78},[36,1194,1196],{"class":38,"line":1195},45,[36,1197,301],{"class":78},[36,1199,1201],{"class":38,"line":1200},46,[36,1202,62],{"emptyLinePlaceholder":61},[36,1204,1206],{"class":38,"line":1205},47,[36,1207,62],{"emptyLinePlaceholder":61},[36,1209,1211],{"class":38,"line":1210},48,[36,1212,62],{"emptyLinePlaceholder":61},[36,1214,1216,1218],{"class":38,"line":1215},49,[36,1217,585],{"class":42},[36,1219,107],{"class":106},[36,1221,1223,1225,1227],{"class":38,"line":1222},50,[36,1224,1013],{"class":78},[36,1226,731],{"class":42},[36,1228,1106],{"class":78},[36,1230,1232],{"class":38,"line":1231},51,[36,1233,662],{"class":78},[672,1235,1236],{"id":1236},"shared_ptr",[26,1238,1240],{"className":28,"code":1239,"language":30,"meta":31,"style":31},"template \u003Ctypename T>\nclass SharedPtr {\npublic:\n    // 构造：创建控制块（这里只用一个 int 做引用计数）\n    explicit SharedPtr(T* ptr = nullptr)\n        : ptr_(ptr), count_(ptr ? new int(1) : nullptr) {}\n\n    // 拷贝构造：共享资源，引用计数 +1\n    SharedPtr(const SharedPtr& other)\n        : ptr_(other.ptr_), count_(other.count_) {\n        if (count_) ++(*count_);  \n    }\n\n    // 拷贝赋值\n    SharedPtr& operator=(const SharedPtr& other) {\n        if (this != &other) {\n            release();          // ★ 先释放当前持有的资源\n            ptr_ = other.ptr_;\n            count_ = other.count_;\n            if (count_) ++(*count_);\n        }\n        return *this;\n    }\n\n    // 析构：减少引用计数，为 0 时真正释放资源\n    ~SharedPtr() {release();}\n\n    // 解引用\n    T& operator*() const { return *ptr_; }\n    T* operator->() const { return ptr_; }\n    T* get() const { return ptr_; }\n\n    int use_count() const {return count_ ? *count_ : 0;}\n\n    // 重置指针\n    void reset(T* ptr = nullptr) {\n        release();\n        if (ptr) {\n            ptr_ = ptr;\n            count_ = new int(1);\n        }\n    }\n\nprivate:\n    void release() {\n        if (count_ && --(*count_) == 0) {\n            delete ptr_;    // ★ 最后一个 SharedPtr 负责释放资源\n            delete count_;\n        }\n        ptr_ = nullptr;\n        count_ = nullptr;\n    }\n    T* ptr_;\n    int* count_;  \n};\n",[33,1241,1242,1254,1263,1269,1274,1295,1334,1338,1343,1360,1391,1408,1412,1416,1421,1441,1455,1466,1480,1495,1511,1515,1525,1529,1533,1538,1551,1555,1559,1579,1597,1615,1619,1653,1657,1661,1681,1688,1695,1703,1719,1723,1727,1731,1737,1745,1770,1779,1786,1790,1800,1811,1816,1825,1834],{"__ignoreMap":31},[36,1243,1244,1246,1248,1250,1252],{"class":38,"line":39},[36,1245,684],{"class":42},[36,1247,687],{"class":78},[36,1249,690],{"class":42},[36,1251,693],{"class":93},[36,1253,696],{"class":78},[36,1255,1256,1258,1261],{"class":38,"line":50},[36,1257,90],{"class":42},[36,1259,1260],{"class":93}," SharedPtr",[36,1262,97],{"class":78},[36,1264,1265,1267],{"class":38,"line":58},[36,1266,103],{"class":42},[36,1268,107],{"class":106},[36,1270,1271],{"class":38,"line":65},[36,1272,1273],{"class":231},"    // 构造：创建控制块（这里只用一个 int 做引用计数）\n",[36,1275,1276,1278,1280,1282,1284,1286,1288,1290,1292],{"class":38,"line":82},[36,1277,721],{"class":42},[36,1279,1260],{"class":113},[36,1281,117],{"class":78},[36,1283,728],{"class":93},[36,1285,731],{"class":42},[36,1287,734],{"class":123},[36,1289,384],{"class":42},[36,1291,739],{"class":217},[36,1293,1294],{"class":78},")\n",[36,1296,1297,1300,1302,1305,1307,1310,1313,1316,1319,1321,1323,1325,1327,1329,1331],{"class":38,"line":87},[36,1298,1299],{"class":130},"        :",[36,1301,746],{"class":113},[36,1303,1304],{"class":78},"(ptr)",[36,1306,259],{"class":130},[36,1308,1309],{"class":113}," count_",[36,1311,1312],{"class":78},"(ptr ",[36,1314,1315],{"class":42},"?",[36,1317,1318],{"class":42}," new",[36,1320,326],{"class":42},[36,1322,117],{"class":78},[36,1324,218],{"class":217},[36,1326,127],{"class":78},[36,1328,131],{"class":42},[36,1330,739],{"class":217},[36,1332,1333],{"class":78},") {}\n",[36,1335,1336],{"class":38,"line":100},[36,1337,62],{"emptyLinePlaceholder":61},[36,1339,1340],{"class":38,"line":110},[36,1341,1342],{"class":231},"    // 拷贝构造：共享资源，引用计数 +1\n",[36,1344,1345,1348,1350,1352,1354,1356,1358],{"class":38,"line":140},[36,1346,1347],{"class":113},"    SharedPtr",[36,1349,117],{"class":78},[36,1351,786],{"class":42},[36,1353,1260],{"class":93},[36,1355,791],{"class":42},[36,1357,850],{"class":123},[36,1359,1294],{"class":78},[36,1361,1362,1364,1366,1368,1370,1372,1374,1376,1378,1380,1382,1384,1386,1389],{"class":38,"line":145},[36,1363,1299],{"class":130},[36,1365,746],{"class":113},[36,1367,117],{"class":78},[36,1369,866],{"class":176},[36,1371,180],{"class":130},[36,1373,871],{"class":273},[36,1375,453],{"class":78},[36,1377,259],{"class":130},[36,1379,1309],{"class":113},[36,1381,117],{"class":78},[36,1383,866],{"class":176},[36,1385,180],{"class":130},[36,1387,1388],{"class":273},"count_",[36,1390,161],{"class":78},[36,1392,1393,1395,1398,1401,1403,1405],{"class":38,"line":164},[36,1394,192],{"class":42},[36,1396,1397],{"class":78}," (count_) ",[36,1399,1400],{"class":42},"++",[36,1402,117],{"class":78},[36,1404,731],{"class":42},[36,1406,1407],{"class":78},"count_);  \n",[36,1409,1410],{"class":38,"line":189},[36,1411,301],{"class":78},[36,1413,1414],{"class":38,"line":223},[36,1415,62],{"emptyLinePlaceholder":61},[36,1417,1418],{"class":38,"line":228},[36,1419,1420],{"class":231},"    // 拷贝赋值\n",[36,1422,1423,1425,1427,1429,1431,1433,1435,1437,1439],{"class":38,"line":235},[36,1424,1347],{"class":93},[36,1426,791],{"class":42},[36,1428,809],{"class":42},[36,1430,812],{"class":78},[36,1432,786],{"class":42},[36,1434,1260],{"class":93},[36,1436,791],{"class":42},[36,1438,850],{"class":123},[36,1440,161],{"class":78},[36,1442,1443,1445,1447,1449,1451,1453],{"class":38,"line":280},[36,1444,192],{"class":42},[36,1446,926],{"class":78},[36,1448,929],{"class":176},[36,1450,932],{"class":42},[36,1452,936],{"class":935},[36,1454,939],{"class":78},[36,1456,1457,1460,1463],{"class":38,"line":298},[36,1458,1459],{"class":113},"            release",[36,1461,1462],{"class":78},"();",[36,1464,1465],{"class":231},"          // ★ 先释放当前持有的资源\n",[36,1467,1468,1470,1472,1474,1476,1478],{"class":38,"line":304},[36,1469,955],{"class":78},[36,1471,173],{"class":42},[36,1473,850],{"class":176},[36,1475,180],{"class":130},[36,1477,871],{"class":273},[36,1479,79],{"class":78},[36,1481,1482,1485,1487,1489,1491,1493],{"class":38,"line":309},[36,1483,1484],{"class":78},"            count_ ",[36,1486,173],{"class":42},[36,1488,850],{"class":176},[36,1490,180],{"class":130},[36,1492,1388],{"class":273},[36,1494,79],{"class":78},[36,1496,1497,1500,1502,1504,1506,1508],{"class":38,"line":334},[36,1498,1499],{"class":42},"            if",[36,1501,1397],{"class":78},[36,1503,1400],{"class":42},[36,1505,117],{"class":78},[36,1507,731],{"class":42},[36,1509,1510],{"class":78},"count_);\n",[36,1512,1513],{"class":38,"line":351},[36,1514,435],{"class":78},[36,1516,1517,1519,1521,1523],{"class":38,"line":370},[36,1518,283],{"class":42},[36,1520,991],{"class":42},[36,1522,929],{"class":176},[36,1524,79],{"class":78},[36,1526,1527],{"class":38,"line":390},[36,1528,301],{"class":78},[36,1530,1531],{"class":38,"line":424},[36,1532,62],{"emptyLinePlaceholder":61},[36,1534,1535],{"class":38,"line":432},[36,1536,1537],{"class":231},"    // 析构：减少引用计数，为 0 时真正释放资源\n",[36,1539,1540,1543,1545,1548],{"class":38,"line":438},[36,1541,1542],{"class":113},"    ~SharedPtr",[36,1544,761],{"class":78},[36,1546,1547],{"class":113},"release",[36,1549,1550],{"class":78},"();}\n",[36,1552,1553],{"class":38,"line":443},[36,1554,62],{"emptyLinePlaceholder":61},[36,1556,1557],{"class":38,"line":471},[36,1558,1008],{"class":231},[36,1560,1561,1563,1565,1567,1569,1571,1573,1575,1577],{"class":38,"line":498},[36,1562,1013],{"class":93},[36,1564,791],{"class":42},[36,1566,809],{"class":42},[36,1568,1020],{"class":78},[36,1570,786],{"class":42},[36,1572,1025],{"class":78},[36,1574,211],{"class":42},[36,1576,991],{"class":42},[36,1578,1032],{"class":78},[36,1580,1581,1583,1585,1587,1589,1591,1593,1595],{"class":38,"line":512},[36,1582,1013],{"class":93},[36,1584,731],{"class":42},[36,1586,809],{"class":42},[36,1588,1043],{"class":78},[36,1590,786],{"class":42},[36,1592,1025],{"class":78},[36,1594,211],{"class":42},[36,1596,1052],{"class":78},[36,1598,1599,1601,1603,1605,1607,1609,1611,1613],{"class":38,"line":525},[36,1600,1013],{"class":93},[36,1602,731],{"class":42},[36,1604,151],{"class":113},[36,1606,463],{"class":78},[36,1608,786],{"class":42},[36,1610,1025],{"class":78},[36,1612,211],{"class":42},[36,1614,1052],{"class":78},[36,1616,1617],{"class":38,"line":530},[36,1618,62],{"emptyLinePlaceholder":61},[36,1620,1621,1623,1626,1628,1630,1633,1635,1638,1640,1642,1645,1647,1650],{"class":38,"line":535},[36,1622,148],{"class":42},[36,1624,1625],{"class":113}," use_count",[36,1627,463],{"class":78},[36,1629,786],{"class":42},[36,1631,1632],{"class":78}," {",[36,1634,211],{"class":42},[36,1636,1637],{"class":78}," count_ ",[36,1639,1315],{"class":42},[36,1641,991],{"class":42},[36,1643,1644],{"class":78},"count_ ",[36,1646,131],{"class":42},[36,1648,1649],{"class":217}," 0",[36,1651,1652],{"class":78},";}\n",[36,1654,1655],{"class":38,"line":553},[36,1656,62],{"emptyLinePlaceholder":61},[36,1658,1659],{"class":38,"line":572},[36,1660,1137],{"class":231},[36,1662,1663,1665,1667,1669,1671,1673,1675,1677,1679],{"class":38,"line":577},[36,1664,312],{"class":42},[36,1666,1144],{"class":113},[36,1668,117],{"class":78},[36,1670,728],{"class":93},[36,1672,731],{"class":42},[36,1674,734],{"class":123},[36,1676,384],{"class":42},[36,1678,739],{"class":217},[36,1680,161],{"class":78},[36,1682,1683,1686],{"class":38,"line":582},[36,1684,1685],{"class":113},"        release",[36,1687,522],{"class":78},[36,1689,1690,1692],{"class":38,"line":590},[36,1691,192],{"class":42},[36,1693,1694],{"class":78}," (ptr) {\n",[36,1696,1697,1699,1701],{"class":38,"line":598},[36,1698,955],{"class":78},[36,1700,173],{"class":42},[36,1702,1187],{"class":78},[36,1704,1705,1707,1709,1711,1713,1715,1717],{"class":38,"line":621},[36,1706,1484],{"class":78},[36,1708,173],{"class":42},[36,1710,1318],{"class":42},[36,1712,326],{"class":42},[36,1714,117],{"class":78},[36,1716,218],{"class":217},[36,1718,277],{"class":78},[36,1720,1721],{"class":38,"line":659},[36,1722,435],{"class":78},[36,1724,1725],{"class":38,"line":1173},[36,1726,301],{"class":78},[36,1728,1729],{"class":38,"line":1180},[36,1730,62],{"emptyLinePlaceholder":61},[36,1732,1733,1735],{"class":38,"line":1190},[36,1734,585],{"class":42},[36,1736,107],{"class":106},[36,1738,1739,1741,1743],{"class":38,"line":1195},[36,1740,312],{"class":42},[36,1742,1088],{"class":113},[36,1744,1091],{"class":78},[36,1746,1747,1749,1752,1754,1757,1759,1761,1764,1766,1768],{"class":38,"line":1200},[36,1748,192],{"class":42},[36,1750,1751],{"class":78}," (count_ ",[36,1753,847],{"class":935},[36,1755,1756],{"class":42}," --",[36,1758,117],{"class":78},[36,1760,731],{"class":42},[36,1762,1763],{"class":78},"count_) ",[36,1765,198],{"class":42},[36,1767,1649],{"class":217},[36,1769,161],{"class":78},[36,1771,1772,1774,1776],{"class":38,"line":1205},[36,1773,944],{"class":42},[36,1775,947],{"class":78},[36,1777,1778],{"class":231},"    // ★ 最后一个 SharedPtr 负责释放资源\n",[36,1780,1781,1783],{"class":38,"line":1210},[36,1782,944],{"class":42},[36,1784,1785],{"class":78}," count_;\n",[36,1787,1788],{"class":38,"line":1215},[36,1789,435],{"class":78},[36,1791,1792,1794,1796,1798],{"class":38,"line":1222},[36,1793,1111],{"class":78},[36,1795,173],{"class":42},[36,1797,739],{"class":217},[36,1799,79],{"class":78},[36,1801,1802,1805,1807,1809],{"class":38,"line":1231},[36,1803,1804],{"class":78},"        count_ ",[36,1806,173],{"class":42},[36,1808,739],{"class":217},[36,1810,79],{"class":78},[36,1812,1814],{"class":38,"line":1813},52,[36,1815,301],{"class":78},[36,1817,1819,1821,1823],{"class":38,"line":1818},53,[36,1820,1013],{"class":78},[36,1822,731],{"class":42},[36,1824,1106],{"class":78},[36,1826,1828,1831],{"class":38,"line":1827},54,[36,1829,1830],{"class":42},"    int*",[36,1832,1833],{"class":78}," count_;  \n",[36,1835,1837],{"class":38,"line":1836},55,[36,1838,662],{"class":78},[15,1840],{},[18,1842,1843],{"id":1843},"多线程",[672,1845,1846],{"id":1846},"多消费者",[26,1848,1850],{"className":28,"code":1849,"language":30,"meta":31,"style":31},"#include \u003Ciostream>\n#include \u003Cthread>\n#include \u003Cmutex>\n#include \u003Ccondition_variable>\n#include \u003Cvector>\n\nusing namespace std;\n\nint resource = 10;          \nmutex mtx;\ncondition_variable cv;\n\nvoid consumer(int id) {\n    while (true) {\n        unique_lock\u003Cmutex> lk(mtx);\n        cv.wait(lk, [] { return resource > 0; });\n\n        if (resource == 0) break;   // 安全退出\n        --resource;                 // 消费资源\n        cout \u003C\u003C \"consumer \" \u003C\u003C id \u003C\u003C \" consumed, left=\" \u003C\u003C resource \u003C\u003C endl;\n    }\n}\n\nint main() {\n    vector\u003Cthread> threads;\n    for (int i = 0; i \u003C 3; ++i)threads.emplace_back(consumer, i);\n    cv.notify_all();                 // 启动消费者\n    for (auto& t : threads) t.join();\n}\n",[33,1851,1852,1859,1866,1873,1880,1887,1891,1901,1905,1920,1925,1930,1934,1951,1963,1981,2010,2014,2036,2047,2078,2082,2087,2091,2100,2115,2163,2178,2207],{"__ignoreMap":31},[36,1853,1854,1856],{"class":38,"line":39},[36,1855,43],{"class":42},[36,1857,1858],{"class":46}," \u003Ciostream>\n",[36,1860,1861,1863],{"class":38,"line":50},[36,1862,43],{"class":42},[36,1864,1865],{"class":46}," \u003Cthread>\n",[36,1867,1868,1870],{"class":38,"line":58},[36,1869,43],{"class":42},[36,1871,1872],{"class":46}," \u003Cmutex>\n",[36,1874,1875,1877],{"class":38,"line":65},[36,1876,43],{"class":42},[36,1878,1879],{"class":46}," \u003Ccondition_variable>\n",[36,1881,1882,1884],{"class":38,"line":82},[36,1883,43],{"class":42},[36,1885,1886],{"class":46}," \u003Cvector>\n",[36,1888,1889],{"class":38,"line":87},[36,1890,62],{"emptyLinePlaceholder":61},[36,1892,1893,1895,1897,1899],{"class":38,"line":100},[36,1894,68],{"class":42},[36,1896,71],{"class":42},[36,1898,75],{"class":74},[36,1900,79],{"class":78},[36,1902,1903],{"class":38,"line":110},[36,1904,62],{"emptyLinePlaceholder":61},[36,1906,1907,1909,1912,1914,1917],{"class":38,"line":140},[36,1908,120],{"class":42},[36,1910,1911],{"class":78}," resource ",[36,1913,173],{"class":42},[36,1915,1916],{"class":217}," 10",[36,1918,1919],{"class":78},";          \n",[36,1921,1922],{"class":38,"line":145},[36,1923,1924],{"class":78},"mutex mtx;\n",[36,1926,1927],{"class":38,"line":164},[36,1928,1929],{"class":78},"condition_variable cv;\n",[36,1931,1932],{"class":38,"line":189},[36,1933,62],{"emptyLinePlaceholder":61},[36,1935,1936,1939,1942,1944,1946,1949],{"class":38,"line":223},[36,1937,1938],{"class":42},"void",[36,1940,1941],{"class":113}," consumer",[36,1943,117],{"class":78},[36,1945,120],{"class":42},[36,1947,1948],{"class":123}," id",[36,1950,161],{"class":78},[36,1952,1953,1956,1958,1961],{"class":38,"line":228},[36,1954,1955],{"class":42},"    while",[36,1957,926],{"class":78},[36,1959,1960],{"class":217},"true",[36,1962,161],{"class":78},[36,1964,1965,1968,1970,1973,1975,1978],{"class":38,"line":235},[36,1966,1967],{"class":78},"        unique_lock",[36,1969,604],{"class":42},[36,1971,1972],{"class":78},"mutex",[36,1974,653],{"class":42},[36,1976,1977],{"class":113}," lk",[36,1979,1980],{"class":78},"(mtx);\n",[36,1982,1983,1986,1988,1991,1994,1996,1999,2001,2003,2005,2007],{"class":38,"line":280},[36,1984,1985],{"class":176},"        cv",[36,1987,180],{"class":130},[36,1989,1990],{"class":113},"wait",[36,1992,1993],{"class":78},"(lk",[36,1995,259],{"class":130},[36,1997,1998],{"class":78}," [] { ",[36,2000,211],{"class":42},[36,2002,1911],{"class":78},[36,2004,653],{"class":42},[36,2006,1649],{"class":217},[36,2008,2009],{"class":78},"; });\n",[36,2011,2012],{"class":38,"line":298},[36,2013,62],{"emptyLinePlaceholder":61},[36,2015,2016,2018,2021,2023,2025,2027,2030,2033],{"class":38,"line":304},[36,2017,192],{"class":42},[36,2019,2020],{"class":78}," (resource ",[36,2022,198],{"class":42},[36,2024,1649],{"class":217},[36,2026,127],{"class":78},[36,2028,2029],{"class":42},"break",[36,2031,2032],{"class":78},";",[36,2034,2035],{"class":231},"   // 安全退出\n",[36,2037,2038,2041,2044],{"class":38,"line":309},[36,2039,2040],{"class":42},"        --",[36,2042,2043],{"class":78},"resource;",[36,2045,2046],{"class":231},"                 // 消费资源\n",[36,2048,2049,2052,2055,2058,2061,2064,2066,2069,2071,2073,2075],{"class":38,"line":334},[36,2050,2051],{"class":78},"        cout ",[36,2053,2054],{"class":42},"\u003C\u003C",[36,2056,2057],{"class":46}," \"consumer \"",[36,2059,2060],{"class":42}," \u003C\u003C",[36,2062,2063],{"class":78}," id ",[36,2065,2054],{"class":42},[36,2067,2068],{"class":46}," \" consumed, left=\"",[36,2070,2060],{"class":42},[36,2072,1911],{"class":78},[36,2074,2054],{"class":42},[36,2076,2077],{"class":78}," endl;\n",[36,2079,2080],{"class":38,"line":351},[36,2081,301],{"class":78},[36,2083,2084],{"class":38,"line":370},[36,2085,2086],{"class":78},"}\n",[36,2088,2089],{"class":38,"line":390},[36,2090,62],{"emptyLinePlaceholder":61},[36,2092,2093,2095,2098],{"class":38,"line":424},[36,2094,120],{"class":42},[36,2096,2097],{"class":113}," main",[36,2099,1091],{"class":78},[36,2101,2102,2105,2107,2110,2112],{"class":38,"line":432},[36,2103,2104],{"class":78},"    vector",[36,2106,604],{"class":42},[36,2108,2109],{"class":78},"thread",[36,2111,653],{"class":42},[36,2113,2114],{"class":78}," threads;\n",[36,2116,2117,2120,2122,2124,2127,2129,2131,2134,2136,2139,2142,2144,2147,2150,2152,2155,2158,2160],{"class":38,"line":438},[36,2118,2119],{"class":42},"    for",[36,2121,926],{"class":78},[36,2123,120],{"class":42},[36,2125,2126],{"class":78}," i ",[36,2128,173],{"class":42},[36,2130,1649],{"class":217},[36,2132,2133],{"class":78},"; i ",[36,2135,604],{"class":42},[36,2137,2138],{"class":217}," 3",[36,2140,2141],{"class":78},"; ",[36,2143,1400],{"class":42},[36,2145,2146],{"class":78},"i)",[36,2148,2149],{"class":176},"threads",[36,2151,180],{"class":130},[36,2153,2154],{"class":113},"emplace_back",[36,2156,2157],{"class":78},"(consumer",[36,2159,259],{"class":130},[36,2161,2162],{"class":78}," i);\n",[36,2164,2165,2168,2170,2173,2175],{"class":38,"line":443},[36,2166,2167],{"class":176},"    cv",[36,2169,180],{"class":130},[36,2171,2172],{"class":113},"notify_all",[36,2174,1462],{"class":78},[36,2176,2177],{"class":231},"                 // 启动消费者\n",[36,2179,2180,2182,2184,2187,2189,2192,2194,2197,2200,2202,2205],{"class":38,"line":471},[36,2181,2119],{"class":42},[36,2183,926],{"class":78},[36,2185,2186],{"class":42},"auto",[36,2188,791],{"class":935},[36,2190,2191],{"class":78}," t ",[36,2193,131],{"class":130},[36,2195,2196],{"class":78}," threads) ",[36,2198,2199],{"class":176},"t",[36,2201,180],{"class":130},[36,2203,2204],{"class":113},"join",[36,2206,522],{"class":78},[36,2208,2209],{"class":38,"line":498},[36,2210,2086],{"class":78},[672,2212,2213],{"id":2213},"循环打印奇偶数",[26,2215,2217],{"className":28,"code":2216,"language":30,"meta":31,"style":31},"#include \u003Ciostream>\n#include \u003Cthread>\n#include \u003Cmutex>\n#include \u003Ccondition_variable>\n\nusing namespace std;\n\nint cur = 1;\nconst int N = 10;\nmutex mtx;\ncondition_variable cv;\n\nvoid print_odd() {\n    while (true) {\n        unique_lock\u003Cmutex> lk(mtx);\n        cv.wait(lk, [] { return cur > N || cur % 2 == 1; });\n        if (cur > N) break;\n        cout \u003C\u003C cur++ \u003C\u003C \" \";\n        cv.notify_all();\n    }\n}\n\nvoid print_even() {\n    while (true) {\n        unique_lock\u003Cmutex> lk(mtx);\n        cv.wait(lk, [] { return cur > N || cur % 2 == 0; });\n        if (cur > N) break;\n        cout \u003C\u003C cur++ \u003C\u003C \" \";\n        cv.notify_all();\n    }\n}\n\nint main() {\n    thread t1(print_odd);\n    thread t2(print_even);\n\n    t1.join();\n    t2.join();\n}\n",[33,2218,2219,2225,2231,2237,2243,2247,2257,2261,2275,2290,2294,2298,2302,2311,2321,2335,2375,2391,2409,2419,2423,2427,2431,2440,2450,2464,2500,2514,2530,2540,2544,2548,2552,2560,2571,2581,2585,2596,2607],{"__ignoreMap":31},[36,2220,2221,2223],{"class":38,"line":39},[36,2222,43],{"class":42},[36,2224,1858],{"class":46},[36,2226,2227,2229],{"class":38,"line":50},[36,2228,43],{"class":42},[36,2230,1865],{"class":46},[36,2232,2233,2235],{"class":38,"line":58},[36,2234,43],{"class":42},[36,2236,1872],{"class":46},[36,2238,2239,2241],{"class":38,"line":65},[36,2240,43],{"class":42},[36,2242,1879],{"class":46},[36,2244,2245],{"class":38,"line":82},[36,2246,62],{"emptyLinePlaceholder":61},[36,2248,2249,2251,2253,2255],{"class":38,"line":87},[36,2250,68],{"class":42},[36,2252,71],{"class":42},[36,2254,75],{"class":74},[36,2256,79],{"class":78},[36,2258,2259],{"class":38,"line":100},[36,2260,62],{"emptyLinePlaceholder":61},[36,2262,2263,2265,2268,2270,2273],{"class":38,"line":110},[36,2264,120],{"class":42},[36,2266,2267],{"class":78}," cur ",[36,2269,173],{"class":42},[36,2271,2272],{"class":217}," 1",[36,2274,79],{"class":78},[36,2276,2277,2279,2281,2284,2286,2288],{"class":38,"line":140},[36,2278,786],{"class":42},[36,2280,326],{"class":42},[36,2282,2283],{"class":78}," N ",[36,2285,173],{"class":42},[36,2287,1916],{"class":217},[36,2289,79],{"class":78},[36,2291,2292],{"class":38,"line":145},[36,2293,1924],{"class":78},[36,2295,2296],{"class":38,"line":164},[36,2297,1929],{"class":78},[36,2299,2300],{"class":38,"line":189},[36,2301,62],{"emptyLinePlaceholder":61},[36,2303,2304,2306,2309],{"class":38,"line":223},[36,2305,1938],{"class":42},[36,2307,2308],{"class":113}," print_odd",[36,2310,1091],{"class":78},[36,2312,2313,2315,2317,2319],{"class":38,"line":228},[36,2314,1955],{"class":42},[36,2316,926],{"class":78},[36,2318,1960],{"class":217},[36,2320,161],{"class":78},[36,2322,2323,2325,2327,2329,2331,2333],{"class":38,"line":235},[36,2324,1967],{"class":78},[36,2326,604],{"class":42},[36,2328,1972],{"class":78},[36,2330,653],{"class":42},[36,2332,1977],{"class":113},[36,2334,1980],{"class":78},[36,2336,2337,2339,2341,2343,2345,2347,2349,2351,2353,2355,2357,2360,2362,2365,2368,2371,2373],{"class":38,"line":280},[36,2338,1985],{"class":176},[36,2340,180],{"class":130},[36,2342,1990],{"class":113},[36,2344,1993],{"class":78},[36,2346,259],{"class":130},[36,2348,1998],{"class":78},[36,2350,211],{"class":42},[36,2352,2267],{"class":78},[36,2354,653],{"class":42},[36,2356,2283],{"class":78},[36,2358,2359],{"class":935},"||",[36,2361,2267],{"class":78},[36,2363,2364],{"class":42},"%",[36,2366,2367],{"class":217}," 2",[36,2369,2370],{"class":42}," ==",[36,2372,2272],{"class":217},[36,2374,2009],{"class":78},[36,2376,2377,2379,2382,2384,2387,2389],{"class":38,"line":298},[36,2378,192],{"class":42},[36,2380,2381],{"class":78}," (cur ",[36,2383,653],{"class":42},[36,2385,2386],{"class":78}," N) ",[36,2388,2029],{"class":42},[36,2390,79],{"class":78},[36,2392,2393,2395,2397,2400,2402,2404,2407],{"class":38,"line":304},[36,2394,2051],{"class":78},[36,2396,2054],{"class":42},[36,2398,2399],{"class":78}," cur",[36,2401,1400],{"class":42},[36,2403,2060],{"class":42},[36,2405,2406],{"class":46}," \" \"",[36,2408,79],{"class":78},[36,2410,2411,2413,2415,2417],{"class":38,"line":309},[36,2412,1985],{"class":176},[36,2414,180],{"class":130},[36,2416,2172],{"class":113},[36,2418,522],{"class":78},[36,2420,2421],{"class":38,"line":334},[36,2422,301],{"class":78},[36,2424,2425],{"class":38,"line":351},[36,2426,2086],{"class":78},[36,2428,2429],{"class":38,"line":370},[36,2430,62],{"emptyLinePlaceholder":61},[36,2432,2433,2435,2438],{"class":38,"line":390},[36,2434,1938],{"class":42},[36,2436,2437],{"class":113}," print_even",[36,2439,1091],{"class":78},[36,2441,2442,2444,2446,2448],{"class":38,"line":424},[36,2443,1955],{"class":42},[36,2445,926],{"class":78},[36,2447,1960],{"class":217},[36,2449,161],{"class":78},[36,2451,2452,2454,2456,2458,2460,2462],{"class":38,"line":432},[36,2453,1967],{"class":78},[36,2455,604],{"class":42},[36,2457,1972],{"class":78},[36,2459,653],{"class":42},[36,2461,1977],{"class":113},[36,2463,1980],{"class":78},[36,2465,2466,2468,2470,2472,2474,2476,2478,2480,2482,2484,2486,2488,2490,2492,2494,2496,2498],{"class":38,"line":438},[36,2467,1985],{"class":176},[36,2469,180],{"class":130},[36,2471,1990],{"class":113},[36,2473,1993],{"class":78},[36,2475,259],{"class":130},[36,2477,1998],{"class":78},[36,2479,211],{"class":42},[36,2481,2267],{"class":78},[36,2483,653],{"class":42},[36,2485,2283],{"class":78},[36,2487,2359],{"class":935},[36,2489,2267],{"class":78},[36,2491,2364],{"class":42},[36,2493,2367],{"class":217},[36,2495,2370],{"class":42},[36,2497,1649],{"class":217},[36,2499,2009],{"class":78},[36,2501,2502,2504,2506,2508,2510,2512],{"class":38,"line":443},[36,2503,192],{"class":42},[36,2505,2381],{"class":78},[36,2507,653],{"class":42},[36,2509,2386],{"class":78},[36,2511,2029],{"class":42},[36,2513,79],{"class":78},[36,2515,2516,2518,2520,2522,2524,2526,2528],{"class":38,"line":471},[36,2517,2051],{"class":78},[36,2519,2054],{"class":42},[36,2521,2399],{"class":78},[36,2523,1400],{"class":42},[36,2525,2060],{"class":42},[36,2527,2406],{"class":46},[36,2529,79],{"class":78},[36,2531,2532,2534,2536,2538],{"class":38,"line":498},[36,2533,1985],{"class":176},[36,2535,180],{"class":130},[36,2537,2172],{"class":113},[36,2539,522],{"class":78},[36,2541,2542],{"class":38,"line":512},[36,2543,301],{"class":78},[36,2545,2546],{"class":38,"line":525},[36,2547,2086],{"class":78},[36,2549,2550],{"class":38,"line":530},[36,2551,62],{"emptyLinePlaceholder":61},[36,2553,2554,2556,2558],{"class":38,"line":535},[36,2555,120],{"class":42},[36,2557,2097],{"class":113},[36,2559,1091],{"class":78},[36,2561,2562,2565,2568],{"class":38,"line":553},[36,2563,2564],{"class":78},"    thread ",[36,2566,2567],{"class":113},"t1",[36,2569,2570],{"class":78},"(print_odd);\n",[36,2572,2573,2575,2578],{"class":38,"line":572},[36,2574,2564],{"class":78},[36,2576,2577],{"class":113},"t2",[36,2579,2580],{"class":78},"(print_even);\n",[36,2582,2583],{"class":38,"line":577},[36,2584,62],{"emptyLinePlaceholder":61},[36,2586,2587,2590,2592,2594],{"class":38,"line":582},[36,2588,2589],{"class":176},"    t1",[36,2591,180],{"class":130},[36,2593,2204],{"class":113},[36,2595,522],{"class":78},[36,2597,2598,2601,2603,2605],{"class":38,"line":590},[36,2599,2600],{"class":176},"    t2",[36,2602,180],{"class":130},[36,2604,2204],{"class":113},[36,2606,522],{"class":78},[36,2608,2609],{"class":38,"line":598},[36,2610,2086],{"class":78},[15,2612],{},[18,2614,2615],{"id":2615},"设计模式",[672,2617,2618],{"id":2618},"单例模式",[26,2620,2622],{"className":28,"code":2621,"language":30,"meta":31,"style":31},"class Singleton {\npublic:\n    // 获取唯一实例：C++11 起函数内 static 初始化线程安全\n    static Singleton& instance() {\n        static Singleton inst;   // 懒加载：第一次调用才构造\n        return inst;\n    }\n\n    void foo() {}\n\n    Singleton(const Singleton&) = delete;\n    Singleton& operator=(const Singleton&) = delete;\n    Singleton(Singleton&&) = delete;\n    Singleton& operator=(Singleton&&) = delete;\n\nprivate:\n    Singleton() = default;   // 构造私有化\n    ~Singleton() = default;  // 析构私有/默认（由静态对象生命周期管理）\n};\n",[33,2623,2624,2633,2639,2644,2658,2669,2676,2680,2684,2694,2698,2719,2743,2762,2784,2788,2794,2810,2826],{"__ignoreMap":31},[36,2625,2626,2628,2631],{"class":38,"line":39},[36,2627,90],{"class":42},[36,2629,2630],{"class":93}," Singleton",[36,2632,97],{"class":78},[36,2634,2635,2637],{"class":38,"line":50},[36,2636,103],{"class":42},[36,2638,107],{"class":106},[36,2640,2641],{"class":38,"line":58},[36,2642,2643],{"class":231},"    // 获取唯一实例：C++11 起函数内 static 初始化线程安全\n",[36,2645,2646,2649,2651,2653,2656],{"class":38,"line":65},[36,2647,2648],{"class":42},"    static",[36,2650,2630],{"class":93},[36,2652,791],{"class":42},[36,2654,2655],{"class":113}," instance",[36,2657,1091],{"class":78},[36,2659,2660,2663,2666],{"class":38,"line":82},[36,2661,2662],{"class":42},"        static",[36,2664,2665],{"class":78}," Singleton inst;",[36,2667,2668],{"class":231},"   // 懒加载：第一次调用才构造\n",[36,2670,2671,2673],{"class":38,"line":87},[36,2672,283],{"class":42},[36,2674,2675],{"class":78}," inst;\n",[36,2677,2678],{"class":38,"line":100},[36,2679,301],{"class":78},[36,2681,2682],{"class":38,"line":110},[36,2683,62],{"emptyLinePlaceholder":61},[36,2685,2686,2688,2691],{"class":38,"line":140},[36,2687,312],{"class":42},[36,2689,2690],{"class":113}," foo",[36,2692,2693],{"class":78},"() {}\n",[36,2695,2696],{"class":38,"line":145},[36,2697,62],{"emptyLinePlaceholder":61},[36,2699,2700,2703,2705,2707,2709,2711,2713,2715,2717],{"class":38,"line":164},[36,2701,2702],{"class":113},"    Singleton",[36,2704,117],{"class":78},[36,2706,786],{"class":42},[36,2708,2630],{"class":93},[36,2710,791],{"class":42},[36,2712,127],{"class":78},[36,2714,173],{"class":42},[36,2716,798],{"class":42},[36,2718,79],{"class":78},[36,2720,2721,2723,2725,2727,2729,2731,2733,2735,2737,2739,2741],{"class":38,"line":189},[36,2722,2702],{"class":93},[36,2724,791],{"class":42},[36,2726,809],{"class":42},[36,2728,812],{"class":78},[36,2730,786],{"class":42},[36,2732,2630],{"class":93},[36,2734,791],{"class":42},[36,2736,127],{"class":78},[36,2738,173],{"class":42},[36,2740,798],{"class":42},[36,2742,79],{"class":78},[36,2744,2745,2747,2749,2752,2754,2756,2758,2760],{"class":38,"line":223},[36,2746,2702],{"class":113},[36,2748,117],{"class":78},[36,2750,2751],{"class":93},"Singleton",[36,2753,847],{"class":42},[36,2755,127],{"class":78},[36,2757,173],{"class":42},[36,2759,798],{"class":42},[36,2761,79],{"class":78},[36,2763,2764,2766,2768,2770,2772,2774,2776,2778,2780,2782],{"class":38,"line":228},[36,2765,2702],{"class":93},[36,2767,791],{"class":42},[36,2769,809],{"class":42},[36,2771,812],{"class":78},[36,2773,2751],{"class":93},[36,2775,847],{"class":42},[36,2777,127],{"class":78},[36,2779,173],{"class":42},[36,2781,798],{"class":42},[36,2783,79],{"class":78},[36,2785,2786],{"class":38,"line":235},[36,2787,62],{"emptyLinePlaceholder":61},[36,2789,2790,2792],{"class":38,"line":280},[36,2791,585],{"class":42},[36,2793,107],{"class":106},[36,2795,2796,2798,2800,2802,2805,2807],{"class":38,"line":298},[36,2797,2702],{"class":113},[36,2799,463],{"class":78},[36,2801,173],{"class":42},[36,2803,2804],{"class":42}," default",[36,2806,2032],{"class":78},[36,2808,2809],{"class":231},"   // 构造私有化\n",[36,2811,2812,2815,2817,2819,2821,2823],{"class":38,"line":304},[36,2813,2814],{"class":113},"    ~Singleton",[36,2816,463],{"class":78},[36,2818,173],{"class":42},[36,2820,2804],{"class":42},[36,2822,2032],{"class":78},[36,2824,2825],{"class":231},"  // 析构私有/默认（由静态对象生命周期管理）\n",[36,2827,2828],{"class":38,"line":309},[36,2829,662],{"class":78},[2831,2832,2833],"style",{},"html pre.shiki code .sSCA1, html code.shiki .sSCA1{--shiki-default:#C678DD;--shiki-dark:#C678DD;--shiki-light:#D32F2F}html pre.shiki code .sZaK-, html code.shiki .sZaK-{--shiki-default:#98C379;--shiki-dark:#98C379;--shiki-light:#22863A}html pre.shiki code .svpSI, html code.shiki .svpSI{--shiki-default:#E5C07B;--shiki-dark:#E5C07B;--shiki-light:#24292EFF}html pre.shiki code .s0bQm, html code.shiki .s0bQm{--shiki-default:#ABB2BF;--shiki-dark:#ABB2BF;--shiki-light:#24292EFF}html pre.shiki code .s1pBA, html code.shiki .s1pBA{--shiki-default:#E5C07B;--shiki-dark:#E5C07B;--shiki-light:#6F42C1}html pre.shiki code .svaOe, html code.shiki .svaOe{--shiki-default:#C678DD;--shiki-dark:#C678DD;--shiki-light:#212121}html pre.shiki code .slNdt, html code.shiki .slNdt{--shiki-default:#61AFEF;--shiki-dark:#61AFEF;--shiki-light:#6F42C1}html pre.shiki code .sQkFB, html code.shiki .sQkFB{--shiki-default:#E06C75;--shiki-default-font-style:italic;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;--shiki-light:#24292EFF;--shiki-light-font-style:inherit}html pre.shiki code .s2dl9, html code.shiki .s2dl9{--shiki-default:#ABB2BF;--shiki-dark:#ABB2BF;--shiki-light:#212121}html pre.shiki code .sIhaf, html code.shiki .sIhaf{--shiki-default:#E5C07B;--shiki-dark:#E5C07B;--shiki-light:#1976D2}html pre.shiki code .sWEYk, html code.shiki .sWEYk{--shiki-default:#D19A66;--shiki-dark:#D19A66;--shiki-light:#1976D2}html pre.shiki code .sU3lX, html code.shiki .sU3lX{--shiki-default:#7F848E;--shiki-default-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;--shiki-light:#C2C3C5;--shiki-light-font-style:inherit}html pre.shiki code .sBPOt, html code.shiki .sBPOt{--shiki-default:#E06C75;--shiki-dark:#E06C75;--shiki-light:#24292EFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html pre.shiki code .s3Kl_, html code.shiki .s3Kl_{--shiki-default:#ABB2BF;--shiki-dark:#ABB2BF;--shiki-light:#D32F2F}html pre.shiki code .s2AVI, html code.shiki .s2AVI{--shiki-default:#56B6C2;--shiki-dark:#56B6C2;--shiki-light:#D32F2F}",{"title":31,"searchDepth":50,"depth":50,"links":2835},[2836,2837,2841,2845],{"id":20,"depth":50,"text":21},{"id":670,"depth":50,"text":670,"children":2838},[2839,2840],{"id":674,"depth":58,"text":674},{"id":1236,"depth":58,"text":1236},{"id":1843,"depth":50,"text":1843,"children":2842},[2843,2844],{"id":1846,"depth":58,"text":1846},{"id":2213,"depth":58,"text":2213},{"id":2615,"depth":50,"text":2615,"children":2846},[2847],{"id":2618,"depth":58,"text":2618},"algorithm","bagu.png",null,"2025-12-24","智能指针、LRU与多线程等","md",{},"/posts/cppbagu",false,{"title":6,"description":2852},"posts/cppbagu","-W8qM42Ey83azzFc81vbShKd4-U4B3cL-7aVx-va5_g",{"id":2861,"title":2862,"body":2863,"category":2848,"cover":7336,"coverAlt":2850,"date":7337,"description":7338,"extension":2853,"meta":7339,"navigation":61,"path":7340,"pinned":2856,"seo":7341,"stem":7342,"__hash__":7343},"posts/posts/dogdalgo.md","算法笔试之二分与贪心",{"type":8,"value":2864,"toc":7334},[2865,2868,2870,2873,3497,3613,3616,3679,3790,3792,3795,4569,4572,4585,4588,4760,4820,5050,5347,5402,5645,5972,5977,6340,6818,7331],[11,2866,2867],{},"回国一直笔试不断，面试一直挂，稍有难度的场次这是第一次AK，算是复健有一定成效。也和题目不那么难有关系。",[15,2869],{},[11,2871,2872],{},"首先是一道序列操作，给包装了一堆，下面是题目大意：",[2874,2875,2876,3013,3168,3271],"blockquote",{},[11,2877,2878,2879,2923,2924,2954,2955,3012],{},"定义序列的加法运算，是一个序列",[36,2880,2883,2905],{"className":2881},[2882],"katex",[36,2884,2887],{"className":2885},[2886],"katex-mathml",[2888,2889,2891],"math",{"xmlns":2890},"http://www.w3.org/1998/Math/MathML",[2892,2893,2894,2901],"semantics",{},[2895,2896,2897],"mrow",{},[2898,2899,2900],"mi",{},"A",[2902,2903,2900],"annotation",{"encoding":2904},"application/x-tex",[36,2906,2909],{"className":2907,"ariaHidden":1960},[2908],"katex-html",[36,2910,2913,2918],{"className":2911},[2912],"base",[36,2914],{"className":2915,"style":2917},[2916],"strut","height:0.6833em;",[36,2919,2900],{"className":2920},[2921,2922],"mord","mathnormal","和一个常数",[36,2925,2927,2941],{"className":2926},[2882],[36,2928,2930],{"className":2929},[2886],[2888,2931,2932],{"xmlns":2890},[2892,2933,2934,2939],{},[2895,2935,2936],{},[2898,2937,2938],{},"x",[2902,2940,2938],{"encoding":2904},[36,2942,2944],{"className":2943,"ariaHidden":1960},[2908],[36,2945,2947,2951],{"className":2946},[2912],[36,2948],{"className":2949,"style":2950},[2916],"height:0.4306em;",[36,2952,2938],{"className":2953},[2921,2922],"的运算，结果得到一个序列，元素值为原序列对应位置元素加上该常数。记作",[36,2956,2958,2978],{"className":2957},[2882],[36,2959,2961],{"className":2960},[2886],[2888,2962,2963],{"xmlns":2890},[2892,2964,2965,2975],{},[2895,2966,2967,2969,2973],{},[2898,2968,2900],{},[2970,2971,2972],"mo",{},"+",[2898,2974,2938],{},[2902,2976,2977],{"encoding":2904},"A+x",[36,2979,2981,3003],{"className":2980,"ariaHidden":1960},[2908],[36,2982,2984,2988,2991,2996,3000],{"className":2983},[2912],[36,2985],{"className":2986,"style":2987},[2916],"height:0.7667em;vertical-align:-0.0833em;",[36,2989,2900],{"className":2990},[2921,2922],[36,2992],{"className":2993,"style":2995},[2994],"mspace","margin-right:0.2222em;",[36,2997,2972],{"className":2998},[2999],"mbin",[36,3001],{"className":3002,"style":2995},[2994],[36,3004,3006,3009],{"className":3005},[2912],[36,3007],{"className":3008,"style":2950},[2916],[36,3010,2938],{"className":3011},[2921,2922],"。",[11,3014,3015,3016,3044,3045,3075,3076,3104,3105,3133,3134,3012],{},"定义序列的乘法运算，注意不满足交换律，是一个序列",[36,3017,3019,3032],{"className":3018},[2882],[36,3020,3022],{"className":3021},[2886],[2888,3023,3024],{"xmlns":2890},[2892,3025,3026,3030],{},[2895,3027,3028],{},[2898,3029,2900],{},[2902,3031,2900],{"encoding":2904},[36,3033,3035],{"className":3034,"ariaHidden":1960},[2908],[36,3036,3038,3041],{"className":3037},[2912],[36,3039],{"className":3040,"style":2917},[2916],[36,3042,2900],{"className":3043},[2921,2922],"和另一个序列",[36,3046,3048,3062],{"className":3047},[2882],[36,3049,3051],{"className":3050},[2886],[2888,3052,3053],{"xmlns":2890},[2892,3054,3055,3060],{},[2895,3056,3057],{},[2898,3058,3059],{},"B",[2902,3061,3059],{"encoding":2904},[36,3063,3065],{"className":3064,"ariaHidden":1960},[2908],[36,3066,3068,3071],{"className":3067},[2912],[36,3069],{"className":3070,"style":2917},[2916],[36,3072,3059],{"className":3073,"style":3074},[2921,2922],"margin-right:0.05017em;","的运算，结果得到一个序列，就是",[36,3077,3079,3092],{"className":3078},[2882],[36,3080,3082],{"className":3081},[2886],[2888,3083,3084],{"xmlns":2890},[2892,3085,3086,3090],{},[2895,3087,3088],{},[2898,3089,2900],{},[2902,3091,2900],{"encoding":2904},[36,3093,3095],{"className":3094,"ariaHidden":1960},[2908],[36,3096,3098,3101],{"className":3097},[2912],[36,3099],{"className":3100,"style":2917},[2916],[36,3102,2900],{"className":3103},[2921,2922],"的所有元素后面跟上",[36,3106,3108,3121],{"className":3107},[2882],[36,3109,3111],{"className":3110},[2886],[2888,3112,3113],{"xmlns":2890},[2892,3114,3115,3119],{},[2895,3116,3117],{},[2898,3118,3059],{},[2902,3120,3059],{"encoding":2904},[36,3122,3124],{"className":3123,"ariaHidden":1960},[2908],[36,3125,3127,3130],{"className":3126},[2912],[36,3128],{"className":3129,"style":2917},[2916],[36,3131,3059],{"className":3132,"style":3074},[2921,2922],"的所有元素。记作",[36,3135,3137,3153],{"className":3136},[2882],[36,3138,3140],{"className":3139},[2886],[2888,3141,3142],{"xmlns":2890},[2892,3143,3144,3150],{},[2895,3145,3146,3148],{},[2898,3147,2900],{},[2898,3149,3059],{},[2902,3151,3152],{"encoding":2904},"AB",[36,3154,3156],{"className":3155,"ariaHidden":1960},[2908],[36,3157,3159,3162,3165],{"className":3158},[2912],[36,3160],{"className":3161,"style":2917},[2916],[36,3163,2900],{"className":3164},[2921,2922],[36,3166,3059],{"className":3167,"style":3074},[2921,2922],[11,3169,3170,3171,3199,3200],{},"题目定义一个序列",[36,3172,3174,3187],{"className":3173},[2882],[36,3175,3177],{"className":3176},[2886],[2888,3178,3179],{"xmlns":2890},[2892,3180,3181,3185],{},[2895,3182,3183],{},[2898,3184,2900],{},[2902,3186,2900],{"encoding":2904},[36,3188,3190],{"className":3189,"ariaHidden":1960},[2908],[36,3191,3193,3196],{"className":3192},[2912],[36,3194],{"className":3195,"style":2917},[2916],[36,3197,2900],{"className":3198},[2921,2922],"上的操作，操作后变为",[36,3201,3203,3229],{"className":3202},[2882],[36,3204,3206],{"className":3205},[2886],[2888,3207,3208],{"xmlns":2890},[2892,3209,3210,3226],{},[2895,3211,3212,3215,3217,3219,3222,3224],{},[2970,3213,117],{"stretchy":3214},"false",[2898,3216,2900],{},[2970,3218,2972],{},[3220,3221,218],"mn",{},[2970,3223,453],{"stretchy":3214},[2898,3225,2900],{},[2902,3227,3228],{"encoding":2904},"(A+1)A",[36,3230,3232,3255],{"className":3231,"ariaHidden":1960},[2908],[36,3233,3235,3239,3243,3246,3249,3252],{"className":3234},[2912],[36,3236],{"className":3237,"style":3238},[2916],"height:1em;vertical-align:-0.25em;",[36,3240,117],{"className":3241},[3242],"mopen",[36,3244,2900],{"className":3245},[2921,2922],[36,3247],{"className":3248,"style":2995},[2994],[36,3250,2972],{"className":3251},[2999],[36,3253],{"className":3254,"style":2995},[2994],[36,3256,3258,3261,3264,3268],{"className":3257},[2912],[36,3259],{"className":3260,"style":3238},[2916],[36,3262,218],{"className":3263},[2921],[36,3265,453],{"className":3266},[3267],"mclose",[36,3269,2900],{"className":3270},[2921,2922],[11,3272,3273,3274,3368,3369,3416,3417,3496],{},"题目给定一个初始序列，仅有一个元素",[36,3275,3277,3304],{"className":3276},[2882],[36,3278,3280],{"className":3279},[2886],[2888,3281,3282],{"xmlns":2890},[2892,3283,3284,3301],{},[2895,3285,3286,3288,3290,3299],{},[2898,3287,2938],{},[2970,3289,117],{"stretchy":3214},[3291,3292,3293,3296],"msup",{},[3220,3294,3295],{},"10",[3220,3297,3298],{},"5",[2970,3300,453],{"stretchy":3214},[2902,3302,3303],{"encoding":2904},"x(10^5)",[36,3305,3307],{"className":3306,"ariaHidden":1960},[2908],[36,3308,3310,3314,3317,3320,3323,3365],{"className":3309},[2912],[36,3311],{"className":3312,"style":3313},[2916],"height:1.0641em;vertical-align:-0.25em;",[36,3315,2938],{"className":3316},[2921,2922],[36,3318,117],{"className":3319},[3242],[36,3321,218],{"className":3322},[2921],[36,3324,3326,3330],{"className":3325},[2921],[36,3327,3329],{"className":3328},[2921],"0",[36,3331,3334],{"className":3332},[3333],"msupsub",[36,3335,3338],{"className":3336},[3337],"vlist-t",[36,3339,3342],{"className":3340},[3341],"vlist-r",[36,3343,3347],{"className":3344,"style":3346},[3345],"vlist","height:0.8141em;",[36,3348,3350,3355],{"style":3349},"top:-3.063em;margin-right:0.05em;",[36,3351],{"className":3352,"style":3354},[3353],"pstrut","height:2.7em;",[36,3356,3362],{"className":3357},[3358,3359,3360,3361],"sizing","reset-size6","size3","mtight",[36,3363,3298],{"className":3364},[2921,3361],[36,3366,453],{"className":3367},[3267],"，问进行",[36,3370,3372,3394],{"className":3371},[2882],[36,3373,3375],{"className":3374},[2886],[2888,3376,3377],{"xmlns":2890},[2892,3378,3379,3391],{},[2895,3380,3381,3384,3386,3389],{},[2898,3382,3383],{},"k",[2970,3385,117],{"stretchy":3214},[3220,3387,3388],{},"60",[2970,3390,453],{"stretchy":3214},[2902,3392,3393],{"encoding":2904},"k(60)",[36,3395,3397],{"className":3396,"ariaHidden":1960},[2908],[36,3398,3400,3403,3407,3410,3413],{"className":3399},[2912],[36,3401],{"className":3402,"style":3238},[2916],[36,3404,3383],{"className":3405,"style":3406},[2921,2922],"margin-right:0.03148em;",[36,3408,117],{"className":3409},[3242],[36,3411,3388],{"className":3412},[2921],[36,3414,453],{"className":3415},[3267],"次操作后，序列中第",[36,3418,3420,3446],{"className":3419},[2882],[36,3421,3423],{"className":3422},[2886],[2888,3424,3425],{"xmlns":2890},[2892,3426,3427,3443],{},[2895,3428,3429,3432,3434,3441],{},[2898,3430,3431],{},"m",[2970,3433,117],{"stretchy":3214},[3291,3435,3436,3439],{},[3220,3437,3438],{},"2",[3220,3440,3388],{},[2970,3442,453],{"stretchy":3214},[2902,3444,3445],{"encoding":2904},"m(2^{60})",[36,3447,3449],{"className":3448,"ariaHidden":1960},[2908],[36,3450,3452,3455,3458,3461,3493],{"className":3451},[2912],[36,3453],{"className":3454,"style":3313},[2916],[36,3456,3431],{"className":3457},[2921,2922],[36,3459,117],{"className":3460},[3242],[36,3462,3464,3467],{"className":3463},[2921],[36,3465,3438],{"className":3466},[2921],[36,3468,3470],{"className":3469},[3333],[36,3471,3473],{"className":3472},[3337],[36,3474,3476],{"className":3475},[3341],[36,3477,3479],{"className":3478,"style":3346},[3345],[36,3480,3481,3484],{"style":3349},[36,3482],{"className":3483,"style":3354},[3353],[36,3485,3487],{"className":3486},[3358,3359,3360,3361],[36,3488,3490],{"className":3489},[2921,3361],[36,3491,3388],{"className":3492},[2921,3361],[36,3494,453],{"className":3495},[3267],"个元素是什么。",[11,3498,3499,3500,3528,3529,3583,3584,3612],{},"这个手动模拟一下就知道，首先这个序列最后都只在",[36,3501,3503,3516],{"className":3502},[2882],[36,3504,3506],{"className":3505},[2886],[2888,3507,3508],{"xmlns":2890},[2892,3509,3510,3514],{},[2895,3511,3512],{},[2898,3513,2938],{},[2902,3515,2938],{"encoding":2904},[36,3517,3519],{"className":3518,"ariaHidden":1960},[2908],[36,3520,3522,3525],{"className":3521},[2912],[36,3523],{"className":3524,"style":2950},[2916],[36,3526,2938],{"className":3527},[2921,2922],"的基础上加一个常数，所以先按",[36,3530,3532,3550],{"className":3531},[2882],[36,3533,3535],{"className":3534},[2886],[2888,3536,3537],{"xmlns":2890},[2892,3538,3539,3547],{},[2895,3540,3541,3543,3545],{},[2898,3542,2938],{},[2970,3544,173],{},[3220,3546,3329],{},[2902,3548,3549],{"encoding":2904},"x=0",[36,3551,3553,3573],{"className":3552,"ariaHidden":1960},[2908],[36,3554,3556,3559,3562,3566,3570],{"className":3555},[2912],[36,3557],{"className":3558,"style":2950},[2916],[36,3560,2938],{"className":3561},[2921,2922],[36,3563],{"className":3564,"style":3565},[2994],"margin-right:0.2778em;",[36,3567,173],{"className":3568},[3569],"mrel",[36,3571],{"className":3572,"style":3565},[2994],[36,3574,3576,3580],{"className":3575},[2912],[36,3577],{"className":3578,"style":3579},[2916],"height:0.6444em;",[36,3581,3329],{"className":3582},[2921],"算到最后加上",[36,3585,3587,3600],{"className":3586},[2882],[36,3588,3590],{"className":3589},[2886],[2888,3591,3592],{"xmlns":2890},[2892,3593,3594,3598],{},[2895,3595,3596],{},[2898,3597,2938],{},[2902,3599,2938],{"encoding":2904},[36,3601,3603],{"className":3602,"ariaHidden":1960},[2908],[36,3604,3606,3609],{"className":3605},[2912],[36,3607],{"className":3608,"style":2950},[2916],[36,3610,2938],{"className":3611},[2921,2922],"即可。",[11,3614,3615],{},"然后注意到每次序列长度都是翻倍的，都是重复原序列的模式，那么很容易猜测和倍增有关。考试时间紧张，我直接从结果入手，看看最后的结果和他的下标二进制之间的关系。例如操作3次后，序列长度为8：",[3617,3618,3619,3646],"table",{},[3620,3621,3622],"thead",{},[3623,3624,3625,3629,3632,3634,3636,3638,3640,3642,3644],"tr",{},[3626,3627,3628],"th",{},"元素",[3626,3630,3631],{},"3",[3626,3633,3438],{},[3626,3635,3438],{},[3626,3637,218],{},[3626,3639,3438],{},[3626,3641,218],{},[3626,3643,218],{},[3626,3645,3329],{},[3647,3648,3649],"tbody",{},[3623,3650,3651,3655,3658,3661,3664,3667,3670,3673,3676],{},[3652,3653,3654],"td",{},"下标二进制",[3652,3656,3657],{},"000",[3652,3659,3660],{},"001",[3652,3662,3663],{},"010",[3652,3665,3666],{},"011",[3652,3668,3669],{},"100",[3652,3671,3672],{},"101",[3652,3674,3675],{},"110",[3652,3677,3678],{},"111",[11,3680,3681,3682,3686,3687,3789],{},"很容易观察出，结果和下标二进制中1的个数有关，就是",[3683,3684,3685],"strong",{},"操作次数-下标二进制中1的个数","。至于为什么这样也很容易证明，但出于时间考虑不用管那么多，直接写代码实现即可，复杂度",[36,3688,3690,3727],{"className":3689},[2882],[36,3691,3693],{"className":3692},[2886],[2888,3694,3695],{"xmlns":2890},[2892,3696,3697,3724],{},[2895,3698,3699,3702,3704,3707,3710,3712,3714,3716,3718,3720,3722],{},[2898,3700,3701],{},"O",[2970,3703,117],{"stretchy":3214},[2898,3705,3706],{},"log",[2970,3708,3709],{},"⁡",[2898,3711,3431],{},[2970,3713,453],{"stretchy":3214},[2970,3715,173],{},[2898,3717,3701],{},[2970,3719,117],{"stretchy":3214},[2898,3721,3383],{},[2970,3723,453],{"stretchy":3214},[2902,3725,3726],{"encoding":2904},"O(\\log m)=O(k)",[36,3728,3730,3771],{"className":3729,"ariaHidden":1960},[2908],[36,3731,3733,3736,3740,3743,3752,3756,3759,3762,3765,3768],{"className":3732},[2912],[36,3734],{"className":3735,"style":3238},[2916],[36,3737,3701],{"className":3738,"style":3739},[2921,2922],"margin-right:0.02778em;",[36,3741,117],{"className":3742},[3242],[36,3744,3747,3748],{"className":3745},[3746],"mop","lo",[36,3749,3751],{"style":3750},"margin-right:0.01389em;","g",[36,3753],{"className":3754,"style":3755},[2994],"margin-right:0.1667em;",[36,3757,3431],{"className":3758},[2921,2922],[36,3760,453],{"className":3761},[3267],[36,3763],{"className":3764,"style":3565},[2994],[36,3766,173],{"className":3767},[3569],[36,3769],{"className":3770,"style":3565},[2994],[36,3772,3774,3777,3780,3783,3786],{"className":3773},[2912],[36,3775],{"className":3776,"style":3238},[2916],[36,3778,3701],{"className":3779,"style":3739},[2921,2922],[36,3781,117],{"className":3782},[3242],[36,3784,3383],{"className":3785,"style":3406},[2921,2922],[36,3787,453],{"className":3788},[3267],"，AC。",[15,3791],{},[11,3793,3794],{},"然后是一道安排时间的问题，题目大意如下：",[2874,3796,3797,3800,3803,3916,4015,4112,4175,4318,4321,4427],{},[11,3798,3799],{},"某个银行只有一名业务员，只能同时处理一个人的业务。",[11,3801,3802],{},"由于业务员人数有限，所以除了正在办理业务的人以外，其他所有人都需要等待前一个人的业务完成。",[11,3804,3805,3806,3884,3885,3915],{},"共有 ",[36,3807,3809,3834],{"className":3808},[2882],[36,3810,3812],{"className":3811},[2886],[2888,3813,3814],{"xmlns":2890},[2892,3815,3816,3831],{},[2895,3817,3818,3821,3823,3829],{},[2898,3819,3820],{},"n",[2970,3822,117],{"stretchy":3214},[3291,3824,3825,3827],{},[3220,3826,3295],{},[3220,3828,3298],{},[2970,3830,453],{"stretchy":3214},[2902,3832,3833],{"encoding":2904},"n(10^5)",[36,3835,3837],{"className":3836,"ariaHidden":1960},[2908],[36,3838,3840,3843,3846,3849,3852,3881],{"className":3839},[2912],[36,3841],{"className":3842,"style":3313},[2916],[36,3844,3820],{"className":3845},[2921,2922],[36,3847,117],{"className":3848},[3242],[36,3850,218],{"className":3851},[2921],[36,3853,3855,3858],{"className":3854},[2921],[36,3856,3329],{"className":3857},[2921],[36,3859,3861],{"className":3860},[3333],[36,3862,3864],{"className":3863},[3337],[36,3865,3867],{"className":3866},[3341],[36,3868,3870],{"className":3869,"style":3346},[3345],[36,3871,3872,3875],{"style":3349},[36,3873],{"className":3874,"style":3354},[3353],[36,3876,3878],{"className":3877},[3358,3359,3360,3361],[36,3879,3298],{"className":3880},[2921,3361],[36,3882,453],{"className":3883},[3267]," 个人，每个人都有一个需要办理的业务。\n对于第 ",[36,3886,3888,3902],{"className":3887},[2882],[36,3889,3891],{"className":3890},[2886],[2888,3892,3893],{"xmlns":2890},[2892,3894,3895,3900],{},[2895,3896,3897],{},[2898,3898,3899],{},"i",[2902,3901,3899],{"encoding":2904},[36,3903,3905],{"className":3904,"ariaHidden":1960},[2908],[36,3906,3908,3912],{"className":3907},[2912],[36,3909],{"className":3910,"style":3911},[2916],"height:0.6595em;",[36,3913,3899],{"className":3914},[2921,2922]," 个人：",[11,3917,3918,3919,4014],{},"他的业务基础办理时间为 ",[36,3920,3922,3955],{"className":3921},[2882],[36,3923,3925],{"className":3924},[2886],[2888,3926,3927],{"xmlns":2890},[2892,3928,3929,3952],{},[2895,3930,3931,3934,3937,3939,3942,3944,3950],{},[2898,3932,3933],{},"a",[2970,3935,3936],{"stretchy":3214},"[",[2898,3938,3899],{},[2970,3940,3941],{"stretchy":3214},"]",[2970,3943,117],{"stretchy":3214},[3291,3945,3946,3948],{},[3220,3947,3295],{},[3220,3949,3298],{},[2970,3951,453],{"stretchy":3214},[2902,3953,3954],{"encoding":2904},"a[i](10^5)",[36,3956,3958],{"className":3957,"ariaHidden":1960},[2908],[36,3959,3961,3964,3967,3970,3973,3976,3979,3982,4011],{"className":3960},[2912],[36,3962],{"className":3963,"style":3313},[2916],[36,3965,3933],{"className":3966},[2921,2922],[36,3968,3936],{"className":3969},[3242],[36,3971,3899],{"className":3972},[2921,2922],[36,3974,3941],{"className":3975},[3267],[36,3977,117],{"className":3978},[3242],[36,3980,218],{"className":3981},[2921],[36,3983,3985,3988],{"className":3984},[2921],[36,3986,3329],{"className":3987},[2921],[36,3989,3991],{"className":3990},[3333],[36,3992,3994],{"className":3993},[3337],[36,3995,3997],{"className":3996},[3341],[36,3998,4000],{"className":3999,"style":3346},[3345],[36,4001,4002,4005],{"style":3349},[36,4003],{"className":4004,"style":3354},[3353],[36,4006,4008],{"className":4007},[3358,3359,3360,3361],[36,4009,3298],{"className":4010},[2921,3361],[36,4012,453],{"className":4013},[3267]," 分钟；",[11,4016,4017,4018,4111],{},"若他每等待 1 分钟，其最终办理时间会额外增加 ",[36,4019,4021,4052],{"className":4020},[2882],[36,4022,4024],{"className":4023},[2886],[2888,4025,4026],{"xmlns":2890},[2892,4027,4028,4049],{},[2895,4029,4030,4033,4035,4037,4039,4041,4047],{},[2898,4031,4032],{},"b",[2970,4034,3936],{"stretchy":3214},[2898,4036,3899],{},[2970,4038,3941],{"stretchy":3214},[2970,4040,117],{"stretchy":3214},[3291,4042,4043,4045],{},[3220,4044,3295],{},[3220,4046,3298],{},[2970,4048,453],{"stretchy":3214},[2902,4050,4051],{"encoding":2904},"b[i](10^5)",[36,4053,4055],{"className":4054,"ariaHidden":1960},[2908],[36,4056,4058,4061,4064,4067,4070,4073,4076,4079,4108],{"className":4057},[2912],[36,4059],{"className":4060,"style":3313},[2916],[36,4062,4032],{"className":4063},[2921,2922],[36,4065,3936],{"className":4066},[3242],[36,4068,3899],{"className":4069},[2921,2922],[36,4071,3941],{"className":4072},[3267],[36,4074,117],{"className":4075},[3242],[36,4077,218],{"className":4078},[2921],[36,4080,4082,4085],{"className":4081},[2921],[36,4083,3329],{"className":4084},[2921],[36,4086,4088],{"className":4087},[3333],[36,4089,4091],{"className":4090},[3337],[36,4092,4094],{"className":4093},[3341],[36,4095,4097],{"className":4096,"style":3346},[3345],[36,4098,4099,4102],{"style":3349},[36,4100],{"className":4101,"style":3354},[3353],[36,4103,4105],{"className":4104},[3358,3359,3360,3361],[36,4106,3298],{"className":4107},[2921,3361],[36,4109,453],{"className":4110},[3267]," 分钟。",[11,4113,4114,4115,4143,4144,4174],{},"因此如果第 ",[36,4116,4118,4131],{"className":4117},[2882],[36,4119,4121],{"className":4120},[2886],[2888,4122,4123],{"xmlns":2890},[2892,4124,4125,4129],{},[2895,4126,4127],{},[2898,4128,3899],{},[2902,4130,3899],{"encoding":2904},[36,4132,4134],{"className":4133,"ariaHidden":1960},[2908],[36,4135,4137,4140],{"className":4136},[2912],[36,4138],{"className":4139,"style":3911},[2916],[36,4141,3899],{"className":4142},[2921,2922]," 个人的等待时间为 ",[36,4145,4147,4161],{"className":4146},[2882],[36,4148,4150],{"className":4149},[2886],[2888,4151,4152],{"xmlns":2890},[2892,4153,4154,4159],{},[2895,4155,4156],{},[2898,4157,4158],{},"w",[2902,4160,4158],{"encoding":2904},[36,4162,4164],{"className":4163,"ariaHidden":1960},[2908],[36,4165,4167,4170],{"className":4166},[2912],[36,4168],{"className":4169,"style":2950},[2916],[36,4171,4158],{"className":4172,"style":4173},[2921,2922],"margin-right:0.02691em;","，则他的实际办理时间为：",[11,4176,4177],{},[36,4178,4180,4225],{"className":4179},[2882],[36,4181,4183],{"className":4182},[2886],[2888,4184,4185],{"xmlns":2890},[2892,4186,4187,4222],{},[2895,4188,4189,4191,4193,4195,4197,4199,4201,4203,4205,4207,4209,4211,4213,4215,4217,4220],{},[2898,4190,11],{},[2970,4192,3936],{"stretchy":3214},[2898,4194,3899],{},[2970,4196,3941],{"stretchy":3214},[2970,4198,173],{},[2898,4200,3933],{},[2970,4202,3936],{"stretchy":3214},[2898,4204,3899],{},[2970,4206,3941],{"stretchy":3214},[2970,4208,2972],{},[2898,4210,4032],{},[2970,4212,3936],{"stretchy":3214},[2898,4214,3899],{},[2970,4216,3941],{"stretchy":3214},[2970,4218,4219],{},"×",[2898,4221,4158],{},[2902,4223,4224],{"encoding":2904},"p[i] = a[i] + b[i] \\times w",[36,4226,4228,4255,4282,4309],{"className":4227,"ariaHidden":1960},[2908],[36,4229,4231,4234,4237,4240,4243,4246,4249,4252],{"className":4230},[2912],[36,4232],{"className":4233,"style":3238},[2916],[36,4235,11],{"className":4236},[2921,2922],[36,4238,3936],{"className":4239},[3242],[36,4241,3899],{"className":4242},[2921,2922],[36,4244,3941],{"className":4245},[3267],[36,4247],{"className":4248,"style":3565},[2994],[36,4250,173],{"className":4251},[3569],[36,4253],{"className":4254,"style":3565},[2994],[36,4256,4258,4261,4264,4267,4270,4273,4276,4279],{"className":4257},[2912],[36,4259],{"className":4260,"style":3238},[2916],[36,4262,3933],{"className":4263},[2921,2922],[36,4265,3936],{"className":4266},[3242],[36,4268,3899],{"className":4269},[2921,2922],[36,4271,3941],{"className":4272},[3267],[36,4274],{"className":4275,"style":2995},[2994],[36,4277,2972],{"className":4278},[2999],[36,4280],{"className":4281,"style":2995},[2994],[36,4283,4285,4288,4291,4294,4297,4300,4303,4306],{"className":4284},[2912],[36,4286],{"className":4287,"style":3238},[2916],[36,4289,4032],{"className":4290},[2921,2922],[36,4292,3936],{"className":4293},[3242],[36,4295,3899],{"className":4296},[2921,2922],[36,4298,3941],{"className":4299},[3267],[36,4301],{"className":4302,"style":2995},[2994],[36,4304,4219],{"className":4305},[2999],[36,4307],{"className":4308,"style":2995},[2994],[36,4310,4312,4315],{"className":4311},[2912],[36,4313],{"className":4314,"style":2950},[2916],[36,4316,4158],{"className":4317,"style":4173},[2921,2922],[11,4319,4320],{},"每个人的总耗时（等待时间 + 办理时间）为：",[11,4322,4323],{},[36,4324,4326,4360],{"className":4325},[2882],[36,4327,4329],{"className":4328},[2886],[2888,4330,4331],{"xmlns":2890},[2892,4332,4333,4357],{},[2895,4334,4335,4337,4339,4341,4343,4345,4347,4349,4351,4353,4355],{},[2898,4336,2199],{},[2970,4338,3936],{"stretchy":3214},[2898,4340,3899],{},[2970,4342,3941],{"stretchy":3214},[2970,4344,173],{},[2898,4346,4158],{},[2970,4348,2972],{},[2898,4350,11],{},[2970,4352,3936],{"stretchy":3214},[2898,4354,3899],{},[2970,4356,3941],{"stretchy":3214},[2902,4358,4359],{"encoding":2904},"t[i] = w + p[i]",[36,4361,4363,4390,4409],{"className":4362,"ariaHidden":1960},[2908],[36,4364,4366,4369,4372,4375,4378,4381,4384,4387],{"className":4365},[2912],[36,4367],{"className":4368,"style":3238},[2916],[36,4370,2199],{"className":4371},[2921,2922],[36,4373,3936],{"className":4374},[3242],[36,4376,3899],{"className":4377},[2921,2922],[36,4379,3941],{"className":4380},[3267],[36,4382],{"className":4383,"style":3565},[2994],[36,4385,173],{"className":4386},[3569],[36,4388],{"className":4389,"style":3565},[2994],[36,4391,4393,4397,4400,4403,4406],{"className":4392},[2912],[36,4394],{"className":4395,"style":4396},[2916],"height:0.6667em;vertical-align:-0.0833em;",[36,4398,4158],{"className":4399,"style":4173},[2921,2922],[36,4401],{"className":4402,"style":2995},[2994],[36,4404,2972],{"className":4405},[2999],[36,4407],{"className":4408,"style":2995},[2994],[36,4410,4412,4415,4418,4421,4424],{"className":4411},[2912],[36,4413],{"className":4414,"style":3238},[2916],[36,4416,11],{"className":4417},[2921,2922],[36,4419,3936],{"className":4420},[3242],[36,4422,3899],{"className":4423},[2921,2922],[36,4425,3941],{"className":4426},[3267],[11,4428,4429,4430,4481,4482,4568],{},"最小化 ",[36,4431,4433,4457],{"className":4432},[2882],[36,4434,4436],{"className":4435},[2886],[2888,4437,4438],{"xmlns":2890},[2892,4439,4440,4454],{},[2895,4441,4442,4446,4448,4450,4452],{},[2898,4443,4445],{"mathvariant":4444},"normal","Σ",[2898,4447,2199],{},[2970,4449,3936],{"stretchy":3214},[2898,4451,3899],{},[2970,4453,3941],{"stretchy":3214},[2902,4455,4456],{"encoding":2904},"\\Sigma t[i]",[36,4458,4460],{"className":4459,"ariaHidden":1960},[2908],[36,4461,4463,4466,4469,4472,4475,4478],{"className":4462},[2912],[36,4464],{"className":4465,"style":3238},[2916],[36,4467,4445],{"className":4468},[2921],[36,4470,2199],{"className":4471},[2921,2922],[36,4473,3936],{"className":4474},[3242],[36,4476,3899],{"className":4477},[2921,2922],[36,4479,3941],{"className":4480},[3267]," 并输出。答案对 ",[36,4483,4485,4508],{"className":4484},[2882],[36,4486,4488],{"className":4487},[2886],[2888,4489,4490],{"xmlns":2890},[2892,4491,4492,4505],{},[2895,4493,4494,4501,4503],{},[3291,4495,4496,4498],{},[3220,4497,3295],{},[3220,4499,4500],{},"9",[2970,4502,2972],{},[3220,4504,4500],{},[2902,4506,4507],{"encoding":2904},"10^9 + 9",[36,4509,4511,4559],{"className":4510,"ariaHidden":1960},[2908],[36,4512,4514,4518,4521,4550,4553,4556],{"className":4513},[2912],[36,4515],{"className":4516,"style":4517},[2916],"height:0.8974em;vertical-align:-0.0833em;",[36,4519,218],{"className":4520},[2921],[36,4522,4524,4527],{"className":4523},[2921],[36,4525,3329],{"className":4526},[2921],[36,4528,4530],{"className":4529},[3333],[36,4531,4533],{"className":4532},[3337],[36,4534,4536],{"className":4535},[3341],[36,4537,4539],{"className":4538,"style":3346},[3345],[36,4540,4541,4544],{"style":3349},[36,4542],{"className":4543,"style":3354},[3353],[36,4545,4547],{"className":4546},[3358,3359,3360,3361],[36,4548,4500],{"className":4549},[2921,3361],[36,4551],{"className":4552,"style":2995},[2994],[36,4554,2972],{"className":4555},[2999],[36,4557],{"className":4558,"style":2995},[2994],[36,4560,4562,4565],{"className":4561},[2912],[36,4563],{"className":4564,"style":3579},[2916],[36,4566,4500],{"className":4567},[2921]," 取模。",[11,4570,4571],{},"乍一看，这不是排队接水吗。看得我很难绷，想起初中训练的时候教练没讲清楚就抓人上去写排队接水，我们几个就去百度，结果百度全是这种：",[4573,4574,4576,4577,4576,4581],"figure",{"style":4575},"max-width: 50%;","\n  ",[4578,4579],"img",{"src":4580},"/post-photos/queue_water.jpg",[4582,4583,4584],"figcaption",{},"排队接水",[11,4586,4587],{},"我就在下面开始偷笑，同伴还严肃提醒我这样态度不对且会引起老师注意。",[11,4589,4590,4591,4665,4666,4669,4670,4698,4699,4730,4731,3012],{},"回到题目上，乍一看这一题是NP-hard，但是分析一下结果那么大，还让取模，必然不是像背包那样的DP，数据范围卡得很死，也不可能是",[36,4592,4594,4618],{"className":4593},[2882],[36,4595,4597],{"className":4596},[2886],[2888,4598,4599],{"xmlns":2890},[2892,4600,4601,4615],{},[2895,4602,4603,4605,4607,4613],{},[2898,4604,3701],{},[2970,4606,117],{"stretchy":3214},[3291,4608,4609,4611],{},[2898,4610,3820],{},[3220,4612,3438],{},[2970,4614,453],{"stretchy":3214},[2902,4616,4617],{"encoding":2904},"O(n^2)",[36,4619,4621],{"className":4620,"ariaHidden":1960},[2908],[36,4622,4624,4627,4630,4633,4662],{"className":4623},[2912],[36,4625],{"className":4626,"style":3313},[2916],[36,4628,3701],{"className":4629,"style":3739},[2921,2922],[36,4631,117],{"className":4632},[3242],[36,4634,4636,4639],{"className":4635},[2921],[36,4637,3820],{"className":4638},[2921,2922],[36,4640,4642],{"className":4641},[3333],[36,4643,4645],{"className":4644},[3337],[36,4646,4648],{"className":4647},[3341],[36,4649,4651],{"className":4650,"style":3346},[3345],[36,4652,4653,4656],{"style":3349},[36,4654],{"className":4655,"style":3354},[3353],[36,4657,4659],{"className":4658},[3358,3359,3360,3361],[36,4660,3438],{"className":4661},[2921,3361],[36,4663,453],{"className":4664},[3267],"，估计是贪心。但是想半天也没想出来，因为排队接水每个人任务量是固定的，不会等得越多时间越长啊，但考虑一下这个排队接水的本质，就是",[3683,4667,4668],{},"两个任务交换的代价差和位置无关","，那么就算一下交换前后的代价。\n考虑两个相邻任务 ",[36,4671,4673,4686],{"className":4672},[2882],[36,4674,4676],{"className":4675},[2886],[2888,4677,4678],{"xmlns":2890},[2892,4679,4680,4684],{},[2895,4681,4682],{},[2898,4683,3899],{},[2902,4685,3899],{"encoding":2904},[36,4687,4689],{"className":4688,"ariaHidden":1960},[2908],[36,4690,4692,4695],{"className":4691},[2912],[36,4693],{"className":4694,"style":3911},[2916],[36,4696,3899],{"className":4697},[2921,2922],"、",[36,4700,4702,4716],{"className":4701},[2882],[36,4703,4705],{"className":4704},[2886],[2888,4706,4707],{"xmlns":2890},[2892,4708,4709,4714],{},[2895,4710,4711],{},[2898,4712,4713],{},"j",[2902,4715,4713],{"encoding":2904},[36,4717,4719],{"className":4718,"ariaHidden":1960},[2908],[36,4720,4722,4726],{"className":4721},[2912],[36,4723],{"className":4724,"style":4725},[2916],"height:0.854em;vertical-align:-0.1944em;",[36,4727,4713],{"className":4728,"style":4729},[2921,2922],"margin-right:0.05724em;",", 前方已经处理的总工作量为 ",[36,4732,4734,4747],{"className":4733},[2882],[36,4735,4737],{"className":4736},[2886],[2888,4738,4739],{"xmlns":2890},[2892,4740,4741,4745],{},[2895,4742,4743],{},[2898,4744,728],{},[2902,4746,728],{"encoding":2904},[36,4748,4750],{"className":4749,"ariaHidden":1960},[2908],[36,4751,4753,4756],{"className":4752},[2912],[36,4754],{"className":4755,"style":2917},[2916],[36,4757,728],{"className":4758,"style":4759},[2921,2922],"margin-right:0.13889em;",[4761,4762,4763],"ul",{},[4764,4765,4766,4767,4819],"li",{},"顺序 ",[36,4768,4770,4789],{"className":4769},[2882],[36,4771,4773],{"className":4772},[2886],[2888,4774,4775],{"xmlns":2890},[2892,4776,4777,4786],{},[2895,4778,4779,4781,4784],{},[2898,4780,3899],{},[2970,4782,4783],{},"→",[2898,4785,4713],{},[2902,4787,4788],{"encoding":2904},"i → j",[36,4790,4792,4810],{"className":4791,"ariaHidden":1960},[2908],[36,4793,4795,4798,4801,4804,4807],{"className":4794},[2912],[36,4796],{"className":4797,"style":3911},[2916],[36,4799,3899],{"className":4800},[2921,2922],[36,4802],{"className":4803,"style":3565},[2994],[36,4805,4783],{"className":4806},[3569],[36,4808],{"className":4809,"style":3565},[2994],[36,4811,4813,4816],{"className":4812},[2912],[36,4814],{"className":4815,"style":4725},[2916],[36,4817,4713],{"className":4818,"style":4729},[2921,2922]," 的增量：",[11,4821,4822],{},[36,4823,4825,4864],{"className":4824},[2882],[36,4826,4828],{"className":4827},[2886],[2888,4829,4830],{"xmlns":2890},[2892,4831,4832,4861],{},[2895,4833,4834,4841,4843,4849,4851,4857,4859],{},[4835,4836,4837,4839],"msub",{},[2898,4838,11],{},[2898,4840,3899],{},[2970,4842,173],{},[4835,4844,4845,4847],{},[2898,4846,3933],{},[2898,4848,3899],{},[2970,4850,2972],{},[4835,4852,4853,4855],{},[2898,4854,4032],{},[2898,4856,3899],{},[2970,4858,4219],{},[2898,4860,728],{},[2902,4862,4863],{"encoding":2904},"p_i = a_i + b_i \\times T",[36,4865,4867,4929,4985,5041],{"className":4866,"ariaHidden":1960},[2908],[36,4868,4870,4874,4920,4923,4926],{"className":4869},[2912],[36,4871],{"className":4872,"style":4873},[2916],"height:0.625em;vertical-align:-0.1944em;",[36,4875,4877,4880],{"className":4876},[2921],[36,4878,11],{"className":4879},[2921,2922],[36,4881,4883],{"className":4882},[3333],[36,4884,4887,4911],{"className":4885},[3337,4886],"vlist-t2",[36,4888,4890,4906],{"className":4889},[3341],[36,4891,4894],{"className":4892,"style":4893},[3345],"height:0.3117em;",[36,4895,4897,4900],{"style":4896},"top:-2.55em;margin-left:0em;margin-right:0.05em;",[36,4898],{"className":4899,"style":3354},[3353],[36,4901,4903],{"className":4902},[3358,3359,3360,3361],[36,4904,3899],{"className":4905},[2921,2922,3361],[36,4907,4910],{"className":4908},[4909],"vlist-s","​",[36,4912,4914],{"className":4913},[3341],[36,4915,4918],{"className":4916,"style":4917},[3345],"height:0.15em;",[36,4919],{},[36,4921],{"className":4922,"style":3565},[2994],[36,4924,173],{"className":4925},[3569],[36,4927],{"className":4928,"style":3565},[2994],[36,4930,4932,4936,4976,4979,4982],{"className":4931},[2912],[36,4933],{"className":4934,"style":4935},[2916],"height:0.7333em;vertical-align:-0.15em;",[36,4937,4939,4942],{"className":4938},[2921],[36,4940,3933],{"className":4941},[2921,2922],[36,4943,4945],{"className":4944},[3333],[36,4946,4948,4968],{"className":4947},[3337,4886],[36,4949,4951,4965],{"className":4950},[3341],[36,4952,4954],{"className":4953,"style":4893},[3345],[36,4955,4956,4959],{"style":4896},[36,4957],{"className":4958,"style":3354},[3353],[36,4960,4962],{"className":4961},[3358,3359,3360,3361],[36,4963,3899],{"className":4964},[2921,2922,3361],[36,4966,4910],{"className":4967},[4909],[36,4969,4971],{"className":4970},[3341],[36,4972,4974],{"className":4973,"style":4917},[3345],[36,4975],{},[36,4977],{"className":4978,"style":2995},[2994],[36,4980,2972],{"className":4981},[2999],[36,4983],{"className":4984,"style":2995},[2994],[36,4986,4988,4992,5032,5035,5038],{"className":4987},[2912],[36,4989],{"className":4990,"style":4991},[2916],"height:0.8444em;vertical-align:-0.15em;",[36,4993,4995,4998],{"className":4994},[2921],[36,4996,4032],{"className":4997},[2921,2922],[36,4999,5001],{"className":5000},[3333],[36,5002,5004,5024],{"className":5003},[3337,4886],[36,5005,5007,5021],{"className":5006},[3341],[36,5008,5010],{"className":5009,"style":4893},[3345],[36,5011,5012,5015],{"style":4896},[36,5013],{"className":5014,"style":3354},[3353],[36,5016,5018],{"className":5017},[3358,3359,3360,3361],[36,5019,3899],{"className":5020},[2921,2922,3361],[36,5022,4910],{"className":5023},[4909],[36,5025,5027],{"className":5026},[3341],[36,5028,5030],{"className":5029,"style":4917},[3345],[36,5031],{},[36,5033],{"className":5034,"style":2995},[2994],[36,5036,4219],{"className":5037},[2999],[36,5039],{"className":5040,"style":2995},[2994],[36,5042,5044,5047],{"className":5043},[2912],[36,5045],{"className":5046,"style":2917},[2916],[36,5048,728],{"className":5049,"style":4759},[2921,2922],[11,5051,5052],{},[36,5053,5055,5105],{"className":5054},[2882],[36,5056,5058],{"className":5057},[2886],[2888,5059,5060],{"xmlns":2890},[2892,5061,5062,5102],{},[2895,5063,5064,5070,5072,5078,5080,5086,5088,5090,5092,5094,5100],{},[4835,5065,5066,5068],{},[2898,5067,11],{},[2898,5069,4713],{},[2970,5071,173],{},[4835,5073,5074,5076],{},[2898,5075,3933],{},[2898,5077,4713],{},[2970,5079,2972],{},[4835,5081,5082,5084],{},[2898,5083,4032],{},[2898,5085,4713],{},[2970,5087,4219],{},[2970,5089,117],{"stretchy":3214},[2898,5091,728],{},[2970,5093,2972],{},[4835,5095,5096,5098],{},[2898,5097,11],{},[2898,5099,3899],{},[2970,5101,453],{"stretchy":3214},[2902,5103,5104],{"encoding":2904},"p_j = a_j + b_j \\times (T + p_i)",[36,5106,5108,5165,5221,5277,5298],{"className":5107,"ariaHidden":1960},[2908],[36,5109,5111,5115,5156,5159,5162],{"className":5110},[2912],[36,5112],{"className":5113,"style":5114},[2916],"height:0.7167em;vertical-align:-0.2861em;",[36,5116,5118,5121],{"className":5117},[2921],[36,5119,11],{"className":5120},[2921,2922],[36,5122,5124],{"className":5123},[3333],[36,5125,5127,5147],{"className":5126},[3337,4886],[36,5128,5130,5144],{"className":5129},[3341],[36,5131,5133],{"className":5132,"style":4893},[3345],[36,5134,5135,5138],{"style":4896},[36,5136],{"className":5137,"style":3354},[3353],[36,5139,5141],{"className":5140},[3358,3359,3360,3361],[36,5142,4713],{"className":5143,"style":4729},[2921,2922,3361],[36,5145,4910],{"className":5146},[4909],[36,5148,5150],{"className":5149},[3341],[36,5151,5154],{"className":5152,"style":5153},[3345],"height:0.2861em;",[36,5155],{},[36,5157],{"className":5158,"style":3565},[2994],[36,5160,173],{"className":5161},[3569],[36,5163],{"className":5164,"style":3565},[2994],[36,5166,5168,5172,5212,5215,5218],{"className":5167},[2912],[36,5169],{"className":5170,"style":5171},[2916],"height:0.8694em;vertical-align:-0.2861em;",[36,5173,5175,5178],{"className":5174},[2921],[36,5176,3933],{"className":5177},[2921,2922],[36,5179,5181],{"className":5180},[3333],[36,5182,5184,5204],{"className":5183},[3337,4886],[36,5185,5187,5201],{"className":5186},[3341],[36,5188,5190],{"className":5189,"style":4893},[3345],[36,5191,5192,5195],{"style":4896},[36,5193],{"className":5194,"style":3354},[3353],[36,5196,5198],{"className":5197},[3358,3359,3360,3361],[36,5199,4713],{"className":5200,"style":4729},[2921,2922,3361],[36,5202,4910],{"className":5203},[4909],[36,5205,5207],{"className":5206},[3341],[36,5208,5210],{"className":5209,"style":5153},[3345],[36,5211],{},[36,5213],{"className":5214,"style":2995},[2994],[36,5216,2972],{"className":5217},[2999],[36,5219],{"className":5220,"style":2995},[2994],[36,5222,5224,5228,5268,5271,5274],{"className":5223},[2912],[36,5225],{"className":5226,"style":5227},[2916],"height:0.9805em;vertical-align:-0.2861em;",[36,5229,5231,5234],{"className":5230},[2921],[36,5232,4032],{"className":5233},[2921,2922],[36,5235,5237],{"className":5236},[3333],[36,5238,5240,5260],{"className":5239},[3337,4886],[36,5241,5243,5257],{"className":5242},[3341],[36,5244,5246],{"className":5245,"style":4893},[3345],[36,5247,5248,5251],{"style":4896},[36,5249],{"className":5250,"style":3354},[3353],[36,5252,5254],{"className":5253},[3358,3359,3360,3361],[36,5255,4713],{"className":5256,"style":4729},[2921,2922,3361],[36,5258,4910],{"className":5259},[4909],[36,5261,5263],{"className":5262},[3341],[36,5264,5266],{"className":5265,"style":5153},[3345],[36,5267],{},[36,5269],{"className":5270,"style":2995},[2994],[36,5272,4219],{"className":5273},[2999],[36,5275],{"className":5276,"style":2995},[2994],[36,5278,5280,5283,5286,5289,5292,5295],{"className":5279},[2912],[36,5281],{"className":5282,"style":3238},[2916],[36,5284,117],{"className":5285},[3242],[36,5287,728],{"className":5288,"style":4759},[2921,2922],[36,5290],{"className":5291,"style":2995},[2994],[36,5293,2972],{"className":5294},[2999],[36,5296],{"className":5297,"style":2995},[2994],[36,5299,5301,5304,5344],{"className":5300},[2912],[36,5302],{"className":5303,"style":3238},[2916],[36,5305,5307,5310],{"className":5306},[2921],[36,5308,11],{"className":5309},[2921,2922],[36,5311,5313],{"className":5312},[3333],[36,5314,5316,5336],{"className":5315},[3337,4886],[36,5317,5319,5333],{"className":5318},[3341],[36,5320,5322],{"className":5321,"style":4893},[3345],[36,5323,5324,5327],{"style":4896},[36,5325],{"className":5326,"style":3354},[3353],[36,5328,5330],{"className":5329},[3358,3359,3360,3361],[36,5331,3899],{"className":5332},[2921,2922,3361],[36,5334,4910],{"className":5335},[4909],[36,5337,5339],{"className":5338},[3341],[36,5340,5342],{"className":5341,"style":4917},[3345],[36,5343],{},[36,5345,453],{"className":5346},[3267],[4761,5348,5349],{},[4764,5350,4766,5351,4819],{},[36,5352,5354,5372],{"className":5353},[2882],[36,5355,5357],{"className":5356},[2886],[2888,5358,5359],{"xmlns":2890},[2892,5360,5361,5369],{},[2895,5362,5363,5365,5367],{},[2898,5364,4713],{},[2970,5366,4783],{},[2898,5368,3899],{},[2902,5370,5371],{"encoding":2904},"j → i",[36,5373,5375,5393],{"className":5374,"ariaHidden":1960},[2908],[36,5376,5378,5381,5384,5387,5390],{"className":5377},[2912],[36,5379],{"className":5380,"style":4725},[2916],[36,5382,4713],{"className":5383,"style":4729},[2921,2922],[36,5385],{"className":5386,"style":3565},[2994],[36,5388,4783],{"className":5389},[3569],[36,5391],{"className":5392,"style":3565},[2994],[36,5394,5396,5399],{"className":5395},[2912],[36,5397],{"className":5398,"style":3911},[2916],[36,5400,3899],{"className":5401},[2921,2922],[11,5403,5404],{},[36,5405,5407,5450],{"className":5406},[2882],[36,5408,5410],{"className":5409},[2886],[2888,5411,5412],{"xmlns":2890},[2892,5413,5414,5447],{},[2895,5415,5416,5427,5429,5435,5437,5443,5445],{},[5417,5418,5419,5421,5423],"msubsup",{},[2898,5420,11],{},[2898,5422,4713],{},[2970,5424,5426],{"mathvariant":4444,"lspace":5425,"rspace":5425},"0em","′",[2970,5428,173],{},[4835,5430,5431,5433],{},[2898,5432,3933],{},[2898,5434,4713],{},[2970,5436,2972],{},[4835,5438,5439,5441],{},[2898,5440,4032],{},[2898,5442,4713],{},[2970,5444,4219],{},[2898,5446,728],{},[2902,5448,5449],{"encoding":2904},"p'_j = a_j + b_j \\times T",[36,5451,5453,5526,5581,5636],{"className":5452,"ariaHidden":1960},[2908],[36,5454,5456,5460,5517,5520,5523],{"className":5455},[2912],[36,5457],{"className":5458,"style":5459},[2916],"height:1.1467em;vertical-align:-0.3948em;",[36,5461,5463,5466],{"className":5462},[2921],[36,5464,11],{"className":5465},[2921,2922],[36,5467,5469],{"className":5468},[3333],[36,5470,5472,5508],{"className":5471},[3337,4886],[36,5473,5475,5505],{"className":5474},[3341],[36,5476,5479,5491],{"className":5477,"style":5478},[3345],"height:0.7519em;",[36,5480,5482,5485],{"style":5481},"top:-2.4413em;margin-left:0em;margin-right:0.05em;",[36,5483],{"className":5484,"style":3354},[3353],[36,5486,5488],{"className":5487},[3358,3359,3360,3361],[36,5489,4713],{"className":5490,"style":4729},[2921,2922,3361],[36,5492,5493,5496],{"style":3349},[36,5494],{"className":5495,"style":3354},[3353],[36,5497,5499],{"className":5498},[3358,3359,3360,3361],[36,5500,5502],{"className":5501},[2921,3361],[36,5503,5426],{"className":5504},[2921,3361],[36,5506,4910],{"className":5507},[4909],[36,5509,5511],{"className":5510},[3341],[36,5512,5515],{"className":5513,"style":5514},[3345],"height:0.3948em;",[36,5516],{},[36,5518],{"className":5519,"style":3565},[2994],[36,5521,173],{"className":5522},[3569],[36,5524],{"className":5525,"style":3565},[2994],[36,5527,5529,5532,5572,5575,5578],{"className":5528},[2912],[36,5530],{"className":5531,"style":5171},[2916],[36,5533,5535,5538],{"className":5534},[2921],[36,5536,3933],{"className":5537},[2921,2922],[36,5539,5541],{"className":5540},[3333],[36,5542,5544,5564],{"className":5543},[3337,4886],[36,5545,5547,5561],{"className":5546},[3341],[36,5548,5550],{"className":5549,"style":4893},[3345],[36,5551,5552,5555],{"style":4896},[36,5553],{"className":5554,"style":3354},[3353],[36,5556,5558],{"className":5557},[3358,3359,3360,3361],[36,5559,4713],{"className":5560,"style":4729},[2921,2922,3361],[36,5562,4910],{"className":5563},[4909],[36,5565,5567],{"className":5566},[3341],[36,5568,5570],{"className":5569,"style":5153},[3345],[36,5571],{},[36,5573],{"className":5574,"style":2995},[2994],[36,5576,2972],{"className":5577},[2999],[36,5579],{"className":5580,"style":2995},[2994],[36,5582,5584,5587,5627,5630,5633],{"className":5583},[2912],[36,5585],{"className":5586,"style":5227},[2916],[36,5588,5590,5593],{"className":5589},[2921],[36,5591,4032],{"className":5592},[2921,2922],[36,5594,5596],{"className":5595},[3333],[36,5597,5599,5619],{"className":5598},[3337,4886],[36,5600,5602,5616],{"className":5601},[3341],[36,5603,5605],{"className":5604,"style":4893},[3345],[36,5606,5607,5610],{"style":4896},[36,5608],{"className":5609,"style":3354},[3353],[36,5611,5613],{"className":5612},[3358,3359,3360,3361],[36,5614,4713],{"className":5615,"style":4729},[2921,2922,3361],[36,5617,4910],{"className":5618},[4909],[36,5620,5622],{"className":5621},[3341],[36,5623,5625],{"className":5624,"style":5153},[3345],[36,5626],{},[36,5628],{"className":5629,"style":2995},[2994],[36,5631,4219],{"className":5632},[2999],[36,5634],{"className":5635,"style":2995},[2994],[36,5637,5639,5642],{"className":5638},[2912],[36,5640],{"className":5641,"style":2917},[2916],[36,5643,728],{"className":5644,"style":4759},[2921,2922],[11,5646,5647],{},[36,5648,5650,5704],{"className":5649},[2882],[36,5651,5653],{"className":5652},[2886],[2888,5654,5655],{"xmlns":2890},[2892,5656,5657,5701],{},[2895,5658,5659,5667,5669,5675,5677,5683,5685,5687,5689,5691,5699],{},[5417,5660,5661,5663,5665],{},[2898,5662,11],{},[2898,5664,3899],{},[2970,5666,5426],{"mathvariant":4444,"lspace":5425,"rspace":5425},[2970,5668,173],{},[4835,5670,5671,5673],{},[2898,5672,3933],{},[2898,5674,3899],{},[2970,5676,2972],{},[4835,5678,5679,5681],{},[2898,5680,4032],{},[2898,5682,3899],{},[2970,5684,4219],{},[2970,5686,117],{"stretchy":3214},[2898,5688,728],{},[2970,5690,2972],{},[5417,5692,5693,5695,5697],{},[2898,5694,11],{},[2898,5696,4713],{},[2970,5698,5426],{"mathvariant":4444,"lspace":5425,"rspace":5425},[2970,5700,453],{"stretchy":3214},[2902,5702,5703],{"encoding":2904},"p'_i = a_i + b_i \\times (T + p'_j)",[36,5705,5707,5778,5833,5888,5909],{"className":5706,"ariaHidden":1960},[2908],[36,5708,5710,5714,5769,5772,5775],{"className":5709},[2912],[36,5711],{"className":5712,"style":5713},[2916],"height:1.0106em;vertical-align:-0.2587em;",[36,5715,5717,5720],{"className":5716},[2921],[36,5718,11],{"className":5719},[2921,2922],[36,5721,5723],{"className":5722},[3333],[36,5724,5726,5760],{"className":5725},[3337,4886],[36,5727,5729,5757],{"className":5728},[3341],[36,5730,5732,5743],{"className":5731,"style":5478},[3345],[36,5733,5734,5737],{"style":5481},[36,5735],{"className":5736,"style":3354},[3353],[36,5738,5740],{"className":5739},[3358,3359,3360,3361],[36,5741,3899],{"className":5742},[2921,2922,3361],[36,5744,5745,5748],{"style":3349},[36,5746],{"className":5747,"style":3354},[3353],[36,5749,5751],{"className":5750},[3358,3359,3360,3361],[36,5752,5754],{"className":5753},[2921,3361],[36,5755,5426],{"className":5756},[2921,3361],[36,5758,4910],{"className":5759},[4909],[36,5761,5763],{"className":5762},[3341],[36,5764,5767],{"className":5765,"style":5766},[3345],"height:0.2587em;",[36,5768],{},[36,5770],{"className":5771,"style":3565},[2994],[36,5773,173],{"className":5774},[3569],[36,5776],{"className":5777,"style":3565},[2994],[36,5779,5781,5784,5824,5827,5830],{"className":5780},[2912],[36,5782],{"className":5783,"style":4935},[2916],[36,5785,5787,5790],{"className":5786},[2921],[36,5788,3933],{"className":5789},[2921,2922],[36,5791,5793],{"className":5792},[3333],[36,5794,5796,5816],{"className":5795},[3337,4886],[36,5797,5799,5813],{"className":5798},[3341],[36,5800,5802],{"className":5801,"style":4893},[3345],[36,5803,5804,5807],{"style":4896},[36,5805],{"className":5806,"style":3354},[3353],[36,5808,5810],{"className":5809},[3358,3359,3360,3361],[36,5811,3899],{"className":5812},[2921,2922,3361],[36,5814,4910],{"className":5815},[4909],[36,5817,5819],{"className":5818},[3341],[36,5820,5822],{"className":5821,"style":4917},[3345],[36,5823],{},[36,5825],{"className":5826,"style":2995},[2994],[36,5828,2972],{"className":5829},[2999],[36,5831],{"className":5832,"style":2995},[2994],[36,5834,5836,5839,5879,5882,5885],{"className":5835},[2912],[36,5837],{"className":5838,"style":4991},[2916],[36,5840,5842,5845],{"className":5841},[2921],[36,5843,4032],{"className":5844},[2921,2922],[36,5846,5848],{"className":5847},[3333],[36,5849,5851,5871],{"className":5850},[3337,4886],[36,5852,5854,5868],{"className":5853},[3341],[36,5855,5857],{"className":5856,"style":4893},[3345],[36,5858,5859,5862],{"style":4896},[36,5860],{"className":5861,"style":3354},[3353],[36,5863,5865],{"className":5864},[3358,3359,3360,3361],[36,5866,3899],{"className":5867},[2921,2922,3361],[36,5869,4910],{"className":5870},[4909],[36,5872,5874],{"className":5873},[3341],[36,5875,5877],{"className":5876,"style":4917},[3345],[36,5878],{},[36,5880],{"className":5881,"style":2995},[2994],[36,5883,4219],{"className":5884},[2999],[36,5886],{"className":5887,"style":2995},[2994],[36,5889,5891,5894,5897,5900,5903,5906],{"className":5890},[2912],[36,5892],{"className":5893,"style":3238},[2916],[36,5895,117],{"className":5896},[3242],[36,5898,728],{"className":5899,"style":4759},[2921,2922],[36,5901],{"className":5902,"style":2995},[2994],[36,5904,2972],{"className":5905},[2999],[36,5907],{"className":5908,"style":2995},[2994],[36,5910,5912,5915,5969],{"className":5911},[2912],[36,5913],{"className":5914,"style":5459},[2916],[36,5916,5918,5921],{"className":5917},[2921],[36,5919,11],{"className":5920},[2921,2922],[36,5922,5924],{"className":5923},[3333],[36,5925,5927,5961],{"className":5926},[3337,4886],[36,5928,5930,5958],{"className":5929},[3341],[36,5931,5933,5944],{"className":5932,"style":5478},[3345],[36,5934,5935,5938],{"style":5481},[36,5936],{"className":5937,"style":3354},[3353],[36,5939,5941],{"className":5940},[3358,3359,3360,3361],[36,5942,4713],{"className":5943,"style":4729},[2921,2922,3361],[36,5945,5946,5949],{"style":3349},[36,5947],{"className":5948,"style":3354},[3353],[36,5950,5952],{"className":5951},[3358,3359,3360,3361],[36,5953,5955],{"className":5954},[2921,3361],[36,5956,5426],{"className":5957},[2921,3361],[36,5959,4910],{"className":5960},[4909],[36,5962,5964],{"className":5963},[3341],[36,5965,5967],{"className":5966,"style":5514},[3345],[36,5968],{},[36,5970,453],{"className":5971},[3267],[4761,5973,5974],{},[4764,5975,5976],{},"时间和的差值：",[11,5978,5979],{},[36,5980,5982,6046],{"className":5981},[2882],[36,5983,5985],{"className":5984},[2886],[2888,5986,5987],{"xmlns":2890},[2892,5988,5989,6043],{},[2895,5990,5991,5993,6000,6003,6005,6007,6009,6011,6017,6019,6025,6027,6033,6035,6041],{},[2970,5992,117],{"stretchy":3214},[3291,5994,5995,5998],{},[2898,5996,5997],{},"C",[2970,5999,5426],{"mathvariant":4444,"lspace":5425,"rspace":5425},[2970,6001,6002],{},"−",[2898,6004,5997],{},[2970,6006,453],{"stretchy":3214},[2970,6008,173],{},[2970,6010,117],{"stretchy":3214},[4835,6012,6013,6015],{},[2898,6014,3933],{},[2898,6016,4713],{},[2970,6018,4219],{},[4835,6020,6021,6023],{},[2898,6022,4032],{},[2898,6024,3899],{},[2970,6026,6002],{},[4835,6028,6029,6031],{},[2898,6030,3933],{},[2898,6032,3899],{},[2970,6034,4219],{},[4835,6036,6037,6039],{},[2898,6038,4032],{},[2898,6040,4713],{},[2970,6042,453],{"stretchy":3214},[2902,6044,6045],{"encoding":2904},"(C' − C) = (a_j \\times b_i − a_i \\times b_j)",[36,6047,6049,6101,6122,6181,6236,6291],{"className":6048,"ariaHidden":1960},[2908],[36,6050,6052,6056,6059,6092,6095,6098],{"className":6051},[2912],[36,6053],{"className":6054,"style":6055},[2916],"height:1.0019em;vertical-align:-0.25em;",[36,6057,117],{"className":6058},[3242],[36,6060,6062,6066],{"className":6061},[2921],[36,6063,5997],{"className":6064,"style":6065},[2921,2922],"margin-right:0.07153em;",[36,6067,6069],{"className":6068},[3333],[36,6070,6072],{"className":6071},[3337],[36,6073,6075],{"className":6074},[3341],[36,6076,6078],{"className":6077,"style":5478},[3345],[36,6079,6080,6083],{"style":3349},[36,6081],{"className":6082,"style":3354},[3353],[36,6084,6086],{"className":6085},[3358,3359,3360,3361],[36,6087,6089],{"className":6088},[2921,3361],[36,6090,5426],{"className":6091},[2921,3361],[36,6093],{"className":6094,"style":2995},[2994],[36,6096,6002],{"className":6097},[2999],[36,6099],{"className":6100,"style":2995},[2994],[36,6102,6104,6107,6110,6113,6116,6119],{"className":6103},[2912],[36,6105],{"className":6106,"style":3238},[2916],[36,6108,5997],{"className":6109,"style":6065},[2921,2922],[36,6111,453],{"className":6112},[3267],[36,6114],{"className":6115,"style":3565},[2994],[36,6117,173],{"className":6118},[3569],[36,6120],{"className":6121,"style":3565},[2994],[36,6123,6125,6129,6132,6172,6175,6178],{"className":6124},[2912],[36,6126],{"className":6127,"style":6128},[2916],"height:1.0361em;vertical-align:-0.2861em;",[36,6130,117],{"className":6131},[3242],[36,6133,6135,6138],{"className":6134},[2921],[36,6136,3933],{"className":6137},[2921,2922],[36,6139,6141],{"className":6140},[3333],[36,6142,6144,6164],{"className":6143},[3337,4886],[36,6145,6147,6161],{"className":6146},[3341],[36,6148,6150],{"className":6149,"style":4893},[3345],[36,6151,6152,6155],{"style":4896},[36,6153],{"className":6154,"style":3354},[3353],[36,6156,6158],{"className":6157},[3358,3359,3360,3361],[36,6159,4713],{"className":6160,"style":4729},[2921,2922,3361],[36,6162,4910],{"className":6163},[4909],[36,6165,6167],{"className":6166},[3341],[36,6168,6170],{"className":6169,"style":5153},[3345],[36,6171],{},[36,6173],{"className":6174,"style":2995},[2994],[36,6176,4219],{"className":6177},[2999],[36,6179],{"className":6180,"style":2995},[2994],[36,6182,6184,6187,6227,6230,6233],{"className":6183},[2912],[36,6185],{"className":6186,"style":4991},[2916],[36,6188,6190,6193],{"className":6189},[2921],[36,6191,4032],{"className":6192},[2921,2922],[36,6194,6196],{"className":6195},[3333],[36,6197,6199,6219],{"className":6198},[3337,4886],[36,6200,6202,6216],{"className":6201},[3341],[36,6203,6205],{"className":6204,"style":4893},[3345],[36,6206,6207,6210],{"style":4896},[36,6208],{"className":6209,"style":3354},[3353],[36,6211,6213],{"className":6212},[3358,3359,3360,3361],[36,6214,3899],{"className":6215},[2921,2922,3361],[36,6217,4910],{"className":6218},[4909],[36,6220,6222],{"className":6221},[3341],[36,6223,6225],{"className":6224,"style":4917},[3345],[36,6226],{},[36,6228],{"className":6229,"style":2995},[2994],[36,6231,6002],{"className":6232},[2999],[36,6234],{"className":6235,"style":2995},[2994],[36,6237,6239,6242,6282,6285,6288],{"className":6238},[2912],[36,6240],{"className":6241,"style":4935},[2916],[36,6243,6245,6248],{"className":6244},[2921],[36,6246,3933],{"className":6247},[2921,2922],[36,6249,6251],{"className":6250},[3333],[36,6252,6254,6274],{"className":6253},[3337,4886],[36,6255,6257,6271],{"className":6256},[3341],[36,6258,6260],{"className":6259,"style":4893},[3345],[36,6261,6262,6265],{"style":4896},[36,6263],{"className":6264,"style":3354},[3353],[36,6266,6268],{"className":6267},[3358,3359,3360,3361],[36,6269,3899],{"className":6270},[2921,2922,3361],[36,6272,4910],{"className":6273},[4909],[36,6275,6277],{"className":6276},[3341],[36,6278,6280],{"className":6279,"style":4917},[3345],[36,6281],{},[36,6283],{"className":6284,"style":2995},[2994],[36,6286,4219],{"className":6287},[2999],[36,6289],{"className":6290,"style":2995},[2994],[36,6292,6294,6297,6337],{"className":6293},[2912],[36,6295],{"className":6296,"style":6128},[2916],[36,6298,6300,6303],{"className":6299},[2921],[36,6301,4032],{"className":6302},[2921,2922],[36,6304,6306],{"className":6305},[3333],[36,6307,6309,6329],{"className":6308},[3337,4886],[36,6310,6312,6326],{"className":6311},[3341],[36,6313,6315],{"className":6314,"style":4893},[3345],[36,6316,6317,6320],{"style":4896},[36,6318],{"className":6319,"style":3354},[3353],[36,6321,6323],{"className":6322},[3358,3359,3360,3361],[36,6324,4713],{"className":6325,"style":4729},[2921,2922,3361],[36,6327,4910],{"className":6328},[4909],[36,6330,6332],{"className":6331},[3341],[36,6333,6335],{"className":6334,"style":5153},[3345],[36,6336],{},[36,6338,453],{"className":6339},[3267],[11,6341,6342,6343,6371,6372,6400,6401,6429,6430,6753,6754,3789],{},"可以观察到这个结果并不包含",[36,6344,6346,6359],{"className":6345},[2882],[36,6347,6349],{"className":6348},[2886],[2888,6350,6351],{"xmlns":2890},[2892,6352,6353,6357],{},[2895,6354,6355],{},[2898,6356,728],{},[2902,6358,728],{"encoding":2904},[36,6360,6362],{"className":6361,"ariaHidden":1960},[2908],[36,6363,6365,6368],{"className":6364},[2912],[36,6366],{"className":6367,"style":2917},[2916],[36,6369,728],{"className":6370,"style":4759},[2921,2922],"，那么",[36,6373,6375,6388],{"className":6374},[2882],[36,6376,6378],{"className":6377},[2886],[2888,6379,6380],{"xmlns":2890},[2892,6381,6382,6386],{},[2895,6383,6384],{},[2898,6385,3899],{},[2902,6387,3899],{"encoding":2904},[36,6389,6391],{"className":6390,"ariaHidden":1960},[2908],[36,6392,6394,6397],{"className":6393},[2912],[36,6395],{"className":6396,"style":3911},[2916],[36,6398,3899],{"className":6399},[2921,2922]," 和 ",[36,6402,6404,6417],{"className":6403},[2882],[36,6405,6407],{"className":6406},[2886],[2888,6408,6409],{"xmlns":2890},[2892,6410,6411,6415],{},[2895,6412,6413],{},[2898,6414,4713],{},[2902,6416,4713],{"encoding":2904},[36,6418,6420],{"className":6419,"ariaHidden":1960},[2908],[36,6421,6423,6426],{"className":6422},[2912],[36,6424],{"className":6425,"style":4725},[2916],[36,6427,4713],{"className":6428,"style":4729},[2921,2922]," 的相对顺序只取决于",[36,6431,6433,6485],{"className":6432},[2882],[36,6434,6436],{"className":6435},[2886],[2888,6437,6438],{"xmlns":2890},[2892,6439,6440,6482],{},[2895,6441,6442,6448,6450,6456,6468,6474,6476],{},[4835,6443,6444,6446],{},[2898,6445,3933],{},[2898,6447,3899],{},[2970,6449,4219],{},[4835,6451,6452,6454],{},[2898,6453,4032],{},[2898,6455,4713],{},[2970,6457,6458],{},[6459,6460,6461,6466],"mover",{},[2970,6462,6463],{},[2970,6464,6465],{},"≤",[2970,6467,1315],{"stretchy":3214,"lspace":5425,"rspace":5425},[4835,6469,6470,6472],{},[2898,6471,3933],{},[2898,6473,4713],{},[2970,6475,4219],{},[4835,6477,6478,6480],{},[2898,6479,4032],{},[2898,6481,3899],{},[2902,6483,6484],{"encoding":2904},"a_i \\times b_j \\stackrel{?}{\\le}  a_j \\times b_i",[36,6486,6488,6543,6652,6707],{"className":6487,"ariaHidden":1960},[2908],[36,6489,6491,6494,6534,6537,6540],{"className":6490},[2912],[36,6492],{"className":6493,"style":4935},[2916],[36,6495,6497,6500],{"className":6496},[2921],[36,6498,3933],{"className":6499},[2921,2922],[36,6501,6503],{"className":6502},[3333],[36,6504,6506,6526],{"className":6505},[3337,4886],[36,6507,6509,6523],{"className":6508},[3341],[36,6510,6512],{"className":6511,"style":4893},[3345],[36,6513,6514,6517],{"style":4896},[36,6515],{"className":6516,"style":3354},[3353],[36,6518,6520],{"className":6519},[3358,3359,3360,3361],[36,6521,3899],{"className":6522},[2921,2922,3361],[36,6524,4910],{"className":6525},[4909],[36,6527,6529],{"className":6528},[3341],[36,6530,6532],{"className":6531,"style":4917},[3345],[36,6533],{},[36,6535],{"className":6536,"style":2995},[2994],[36,6538,4219],{"className":6539},[2999],[36,6541],{"className":6542,"style":2995},[2994],[36,6544,6546,6550,6590,6593,6649],{"className":6545},[2912],[36,6547],{"className":6548,"style":6549},[2916],"height:1.7082em;vertical-align:-0.2861em;",[36,6551,6553,6556],{"className":6552},[2921],[36,6554,4032],{"className":6555},[2921,2922],[36,6557,6559],{"className":6558},[3333],[36,6560,6562,6582],{"className":6561},[3337,4886],[36,6563,6565,6579],{"className":6564},[3341],[36,6566,6568],{"className":6567,"style":4893},[3345],[36,6569,6570,6573],{"style":4896},[36,6571],{"className":6572,"style":3354},[3353],[36,6574,6576],{"className":6575},[3358,3359,3360,3361],[36,6577,4713],{"className":6578,"style":4729},[2921,2922,3361],[36,6580,4910],{"className":6581},[4909],[36,6583,6585],{"className":6584},[3341],[36,6586,6588],{"className":6587,"style":5153},[3345],[36,6589],{},[36,6591],{"className":6592,"style":3565},[2994],[36,6594,6596],{"className":6595},[3569],[36,6597,6600],{"className":6598},[3746,6599],"op-limits",[36,6601,6603,6640],{"className":6602},[3337,4886],[36,6604,6606,6637],{"className":6605},[3341],[36,6607,6610,6622],{"className":6608,"style":6609},[3345],"height:1.4221em;",[36,6611,6613,6617],{"style":6612},"top:-3em;",[36,6614],{"className":6615,"style":6616},[3353],"height:3em;",[36,6618,6619],{},[36,6620,6465],{"className":6621},[3746],[36,6623,6625,6628],{"style":6624},"top:-3.836em;margin-left:0em;",[36,6626],{"className":6627,"style":6616},[3353],[36,6629,6631],{"className":6630},[3358,3359,3360,3361],[36,6632,6634],{"className":6633},[2921,3361],[36,6635,1315],{"className":6636},[3267,3361],[36,6638,4910],{"className":6639},[4909],[36,6641,6643],{"className":6642},[3341],[36,6644,6647],{"className":6645,"style":6646},[3345],"height:0.136em;",[36,6648],{},[36,6650],{"className":6651,"style":3565},[2994],[36,6653,6655,6658,6698,6701,6704],{"className":6654},[2912],[36,6656],{"className":6657,"style":5171},[2916],[36,6659,6661,6664],{"className":6660},[2921],[36,6662,3933],{"className":6663},[2921,2922],[36,6665,6667],{"className":6666},[3333],[36,6668,6670,6690],{"className":6669},[3337,4886],[36,6671,6673,6687],{"className":6672},[3341],[36,6674,6676],{"className":6675,"style":4893},[3345],[36,6677,6678,6681],{"style":4896},[36,6679],{"className":6680,"style":3354},[3353],[36,6682,6684],{"className":6683},[3358,3359,3360,3361],[36,6685,4713],{"className":6686,"style":4729},[2921,2922,3361],[36,6688,4910],{"className":6689},[4909],[36,6691,6693],{"className":6692},[3341],[36,6694,6696],{"className":6695,"style":5153},[3345],[36,6697],{},[36,6699],{"className":6700,"style":2995},[2994],[36,6702,4219],{"className":6703},[2999],[36,6705],{"className":6706,"style":2995},[2994],[36,6708,6710,6713],{"className":6709},[2912],[36,6711],{"className":6712,"style":4991},[2916],[36,6714,6716,6719],{"className":6715},[2921],[36,6717,4032],{"className":6718},[2921,2922],[36,6720,6722],{"className":6721},[3333],[36,6723,6725,6745],{"className":6724},[3337,4886],[36,6726,6728,6742],{"className":6727},[3341],[36,6729,6731],{"className":6730,"style":4893},[3345],[36,6732,6733,6736],{"style":4896},[36,6734],{"className":6735,"style":3354},[3353],[36,6737,6739],{"className":6738},[3358,3359,3360,3361],[36,6740,3899],{"className":6741},[2921,2922,3361],[36,6743,4910],{"className":6744},[4909],[36,6746,6748],{"className":6747},[3341],[36,6749,6751],{"className":6750,"style":4917},[3345],[36,6752],{},"，这个和有代价的排队接水是一样的。那么就可以放心贪心了，把这个比较关系作为排序的依据开始模拟即可。复杂度",[36,6755,6757,6783],{"className":6756},[2882],[36,6758,6760],{"className":6759},[2886],[2888,6761,6762],{"xmlns":2890},[2892,6763,6764,6780],{},[2895,6765,6766,6768,6770,6772,6774,6776,6778],{},[2898,6767,3701],{},[2970,6769,117],{"stretchy":3214},[2898,6771,3820],{},[2898,6773,3706],{},[2970,6775,3709],{},[2898,6777,3820],{},[2970,6779,453],{"stretchy":3214},[2902,6781,6782],{"encoding":2904},"O(n \\log n)",[36,6784,6786],{"className":6785,"ariaHidden":1960},[2908],[36,6787,6789,6792,6795,6798,6801,6804,6809,6812,6815],{"className":6788},[2912],[36,6790],{"className":6791,"style":3238},[2916],[36,6793,3701],{"className":6794,"style":3739},[2921,2922],[36,6796,117],{"className":6797},[3242],[36,6799,3820],{"className":6800},[2921,2922],[36,6802],{"className":6803,"style":3755},[2994],[36,6805,3747,6807],{"className":6806},[3746],[36,6808,3751],{"style":3750},[36,6810],{"className":6811,"style":3755},[2994],[36,6813,3820],{"className":6814},[2921,2922],[36,6816,453],{"className":6817},[3267],[26,6819,6821],{"className":28,"code":6820,"language":30,"meta":31,"style":31},"#include \u003Ccstdio>\n#include \u003Calgorithm>\n#define ll long long\nusing namespace std;\n\nconst ll MOD = 1000000009LL; \n\nstruct Person {\n    ll a, b;\n}v[10005];\nll n;\n\nbool cmp(const Person &x, const Person &y) {\n    return (__int128)x.a * y.b \u003C (__int128)y.a * x.b;\n}\n\nint main() {\n    scanf(\"%lld\", &n);\n    for (int i = 1; i \u003C= n; i++)scanf(\"%lld%lld\", &v[i].a, &v[i].b);\n\n    sort(v + 1, v + n + 1, cmp);\n\n    ll wait = 0;   \n    ll ac  = 0;   \n\n    for (auto &p : v) {\n        ll cur = ( (p.a % MOD) + (wait % MOD) * (p.b % MOD) % MOD ) % MOD;\n        ac = (ac + cur) % MOD;\n        wait = (wait + cur) % MOD;  \n    }\n\n    printf(\"%lld\", ac % MOD);\n    return 0;\n}\n",[33,6822,6823,6830,6837,6851,6861,6865,6884,6888,6898,6908,6924,6929,6933,6965,7009,7013,7017,7025,7047,7112,7116,7147,7151,7163,7174,7178,7196,7251,7270,7288,7292,7296,7319,7327],{"__ignoreMap":31},[36,6824,6825,6827],{"class":38,"line":39},[36,6826,43],{"class":42},[36,6828,6829],{"class":46}," \u003Ccstdio>\n",[36,6831,6832,6834],{"class":38,"line":50},[36,6833,43],{"class":42},[36,6835,6836],{"class":46}," \u003Calgorithm>\n",[36,6838,6839,6842,6845,6848],{"class":38,"line":58},[36,6840,6841],{"class":42},"#define",[36,6843,6844],{"class":113}," ll",[36,6846,6847],{"class":42}," long",[36,6849,6850],{"class":42}," long\n",[36,6852,6853,6855,6857,6859],{"class":38,"line":65},[36,6854,68],{"class":42},[36,6856,71],{"class":42},[36,6858,75],{"class":74},[36,6860,79],{"class":78},[36,6862,6863],{"class":38,"line":82},[36,6864,62],{"emptyLinePlaceholder":61},[36,6866,6867,6869,6872,6874,6877,6881],{"class":38,"line":87},[36,6868,786],{"class":42},[36,6870,6871],{"class":78}," ll MOD ",[36,6873,173],{"class":42},[36,6875,6876],{"class":217}," 1000000009",[36,6878,6880],{"class":6879},"s9UT7","LL",[36,6882,6883],{"class":78},"; \n",[36,6885,6886],{"class":38,"line":100},[36,6887,62],{"emptyLinePlaceholder":61},[36,6889,6890,6893,6896],{"class":38,"line":110},[36,6891,6892],{"class":42},"struct",[36,6894,6895],{"class":93}," Person",[36,6897,97],{"class":78},[36,6899,6900,6903,6905],{"class":38,"line":140},[36,6901,6902],{"class":78},"    ll a",[36,6904,259],{"class":130},[36,6906,6907],{"class":78}," b;\n",[36,6909,6910,6913,6916,6918,6921],{"class":38,"line":145},[36,6911,6912],{"class":78},"}",[36,6914,6915],{"class":176},"v",[36,6917,3936],{"class":78},[36,6919,6920],{"class":217},"10005",[36,6922,6923],{"class":78},"];\n",[36,6925,6926],{"class":38,"line":164},[36,6927,6928],{"class":78},"ll n;\n",[36,6930,6931],{"class":38,"line":189},[36,6932,62],{"emptyLinePlaceholder":61},[36,6934,6935,6938,6941,6943,6945,6947,6949,6951,6953,6956,6958,6960,6963],{"class":38,"line":223},[36,6936,6937],{"class":42},"bool",[36,6939,6940],{"class":113}," cmp",[36,6942,117],{"class":78},[36,6944,786],{"class":42},[36,6946,6895],{"class":93},[36,6948,936],{"class":42},[36,6950,2938],{"class":123},[36,6952,259],{"class":130},[36,6954,6955],{"class":42}," const",[36,6957,6895],{"class":93},[36,6959,936],{"class":42},[36,6961,6962],{"class":123},"y",[36,6964,161],{"class":78},[36,6966,6967,6970,6973,6975,6977,6979,6981,6984,6986,6988,6990,6992,6994,6996,6998,7000,7003,7005,7007],{"class":38,"line":228},[36,6968,6969],{"class":42},"    return",[36,6971,6972],{"class":78}," (__int128)",[36,6974,2938],{"class":176},[36,6976,180],{"class":130},[36,6978,3933],{"class":273},[36,6980,991],{"class":42},[36,6982,6983],{"class":176}," y",[36,6985,180],{"class":130},[36,6987,4032],{"class":273},[36,6989,687],{"class":42},[36,6991,6972],{"class":78},[36,6993,6962],{"class":176},[36,6995,180],{"class":130},[36,6997,3933],{"class":273},[36,6999,991],{"class":42},[36,7001,7002],{"class":176}," x",[36,7004,180],{"class":130},[36,7006,4032],{"class":273},[36,7008,79],{"class":78},[36,7010,7011],{"class":38,"line":235},[36,7012,2086],{"class":78},[36,7014,7015],{"class":38,"line":280},[36,7016,62],{"emptyLinePlaceholder":61},[36,7018,7019,7021,7023],{"class":38,"line":298},[36,7020,120],{"class":42},[36,7022,2097],{"class":113},[36,7024,1091],{"class":78},[36,7026,7027,7030,7032,7035,7038,7040,7042,7044],{"class":38,"line":304},[36,7028,7029],{"class":113},"    scanf",[36,7031,117],{"class":78},[36,7033,7034],{"class":46},"\"",[36,7036,7037],{"class":217},"%lld",[36,7039,7034],{"class":46},[36,7041,259],{"class":130},[36,7043,936],{"class":935},[36,7045,7046],{"class":78},"n);\n",[36,7048,7049,7051,7053,7055,7057,7059,7061,7063,7066,7069,7071,7073,7076,7078,7080,7083,7085,7087,7089,7091,7094,7096,7098,7100,7102,7104,7106,7108,7110],{"class":38,"line":309},[36,7050,2119],{"class":42},[36,7052,926],{"class":78},[36,7054,120],{"class":42},[36,7056,2126],{"class":78},[36,7058,173],{"class":42},[36,7060,2272],{"class":217},[36,7062,2133],{"class":78},[36,7064,7065],{"class":42},"\u003C=",[36,7067,7068],{"class":78}," n; i",[36,7070,1400],{"class":42},[36,7072,453],{"class":78},[36,7074,7075],{"class":113},"scanf",[36,7077,117],{"class":78},[36,7079,7034],{"class":46},[36,7081,7082],{"class":217},"%lld%lld",[36,7084,7034],{"class":46},[36,7086,259],{"class":130},[36,7088,936],{"class":935},[36,7090,6915],{"class":176},[36,7092,7093],{"class":78},"[i]",[36,7095,180],{"class":130},[36,7097,3933],{"class":273},[36,7099,259],{"class":130},[36,7101,936],{"class":935},[36,7103,6915],{"class":176},[36,7105,7093],{"class":78},[36,7107,180],{"class":130},[36,7109,4032],{"class":273},[36,7111,277],{"class":78},[36,7113,7114],{"class":38,"line":334},[36,7115,62],{"emptyLinePlaceholder":61},[36,7117,7118,7121,7124,7126,7128,7130,7133,7135,7138,7140,7142,7144],{"class":38,"line":351},[36,7119,7120],{"class":113},"    sort",[36,7122,7123],{"class":78},"(v ",[36,7125,2972],{"class":42},[36,7127,2272],{"class":217},[36,7129,259],{"class":130},[36,7131,7132],{"class":78}," v ",[36,7134,2972],{"class":42},[36,7136,7137],{"class":78}," n ",[36,7139,2972],{"class":42},[36,7141,2272],{"class":217},[36,7143,259],{"class":130},[36,7145,7146],{"class":78}," cmp);\n",[36,7148,7149],{"class":38,"line":370},[36,7150,62],{"emptyLinePlaceholder":61},[36,7152,7153,7156,7158,7160],{"class":38,"line":390},[36,7154,7155],{"class":78},"    ll wait ",[36,7157,173],{"class":42},[36,7159,1649],{"class":217},[36,7161,7162],{"class":78},";   \n",[36,7164,7165,7168,7170,7172],{"class":38,"line":424},[36,7166,7167],{"class":78},"    ll ac  ",[36,7169,173],{"class":42},[36,7171,1649],{"class":217},[36,7173,7162],{"class":78},[36,7175,7176],{"class":38,"line":432},[36,7177,62],{"emptyLinePlaceholder":61},[36,7179,7180,7182,7184,7186,7188,7191,7193],{"class":38,"line":438},[36,7181,2119],{"class":42},[36,7183,926],{"class":78},[36,7185,2186],{"class":42},[36,7187,936],{"class":935},[36,7189,7190],{"class":78},"p ",[36,7192,131],{"class":130},[36,7194,7195],{"class":78}," v) {\n",[36,7197,7198,7201,7203,7206,7208,7210,7212,7215,7218,7220,7223,7225,7227,7229,7231,7233,7235,7237,7239,7241,7243,7246,7248],{"class":38,"line":443},[36,7199,7200],{"class":78},"        ll cur ",[36,7202,173],{"class":42},[36,7204,7205],{"class":78}," ( (",[36,7207,11],{"class":176},[36,7209,180],{"class":130},[36,7211,3933],{"class":273},[36,7213,7214],{"class":42}," %",[36,7216,7217],{"class":78}," MOD) ",[36,7219,2972],{"class":42},[36,7221,7222],{"class":78}," (wait ",[36,7224,2364],{"class":42},[36,7226,7217],{"class":78},[36,7228,731],{"class":42},[36,7230,926],{"class":78},[36,7232,11],{"class":176},[36,7234,180],{"class":130},[36,7236,4032],{"class":273},[36,7238,7214],{"class":42},[36,7240,7217],{"class":78},[36,7242,2364],{"class":42},[36,7244,7245],{"class":78}," MOD ) ",[36,7247,2364],{"class":42},[36,7249,7250],{"class":78}," MOD;\n",[36,7252,7253,7256,7258,7261,7263,7266,7268],{"class":38,"line":471},[36,7254,7255],{"class":78},"        ac ",[36,7257,173],{"class":42},[36,7259,7260],{"class":78}," (ac ",[36,7262,2972],{"class":42},[36,7264,7265],{"class":78}," cur) ",[36,7267,2364],{"class":42},[36,7269,7250],{"class":78},[36,7271,7272,7275,7277,7279,7281,7283,7285],{"class":38,"line":498},[36,7273,7274],{"class":78},"        wait ",[36,7276,173],{"class":42},[36,7278,7222],{"class":78},[36,7280,2972],{"class":42},[36,7282,7265],{"class":78},[36,7284,2364],{"class":42},[36,7286,7287],{"class":78}," MOD;  \n",[36,7289,7290],{"class":38,"line":512},[36,7291,301],{"class":78},[36,7293,7294],{"class":38,"line":525},[36,7295,62],{"emptyLinePlaceholder":61},[36,7297,7298,7301,7303,7305,7307,7309,7311,7314,7316],{"class":38,"line":530},[36,7299,7300],{"class":113},"    printf",[36,7302,117],{"class":78},[36,7304,7034],{"class":46},[36,7306,7037],{"class":217},[36,7308,7034],{"class":46},[36,7310,259],{"class":130},[36,7312,7313],{"class":78}," ac ",[36,7315,2364],{"class":42},[36,7317,7318],{"class":78}," MOD);\n",[36,7320,7321,7323,7325],{"class":38,"line":535},[36,7322,6969],{"class":42},[36,7324,1649],{"class":217},[36,7326,79],{"class":78},[36,7328,7329],{"class":38,"line":553},[36,7330,2086],{"class":78},[2831,7332,7333],{},"html pre.shiki code .sSCA1, html code.shiki .sSCA1{--shiki-default:#C678DD;--shiki-dark:#C678DD;--shiki-light:#D32F2F}html pre.shiki code .sZaK-, html code.shiki .sZaK-{--shiki-default:#98C379;--shiki-dark:#98C379;--shiki-light:#22863A}html pre.shiki code .slNdt, html code.shiki .slNdt{--shiki-default:#61AFEF;--shiki-dark:#61AFEF;--shiki-light:#6F42C1}html pre.shiki code .svpSI, html code.shiki .svpSI{--shiki-default:#E5C07B;--shiki-dark:#E5C07B;--shiki-light:#24292EFF}html pre.shiki code .s0bQm, html code.shiki .s0bQm{--shiki-default:#ABB2BF;--shiki-dark:#ABB2BF;--shiki-light:#24292EFF}html pre.shiki code .sWEYk, html code.shiki .sWEYk{--shiki-default:#D19A66;--shiki-dark:#D19A66;--shiki-light:#1976D2}html pre.shiki code .s9UT7, html code.shiki .s9UT7{--shiki-default:#E06C75;--shiki-dark:#E06C75;--shiki-light:#D32F2F}html pre.shiki code .s1pBA, html code.shiki .s1pBA{--shiki-default:#E5C07B;--shiki-dark:#E5C07B;--shiki-light:#6F42C1}html pre.shiki code .s2dl9, html code.shiki .s2dl9{--shiki-default:#ABB2BF;--shiki-dark:#ABB2BF;--shiki-light:#212121}html pre.shiki code .sIhaf, html code.shiki .sIhaf{--shiki-default:#E5C07B;--shiki-dark:#E5C07B;--shiki-light:#1976D2}html pre.shiki code .sQkFB, html code.shiki .sQkFB{--shiki-default:#E06C75;--shiki-default-font-style:italic;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;--shiki-light:#24292EFF;--shiki-light-font-style:inherit}html pre.shiki code .sBPOt, html code.shiki .sBPOt{--shiki-default:#E06C75;--shiki-dark:#E06C75;--shiki-light:#24292EFF}html pre.shiki code .s2AVI, html code.shiki .s2AVI{--shiki-default:#56B6C2;--shiki-dark:#56B6C2;--shiki-light:#D32F2F}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}",{"title":31,"searchDepth":50,"depth":50,"links":7335},[],"ak47.jpg","2025-12-06","却让我看到了AK最后一眼",{},"/posts/dogdalgo",{"title":2862,"description":7338},"posts/dogdalgo","HmirBCbZTxHg2Hy4EpFz-Ec-qZBUJ41vxmEyCIQwN1Q",{"id":7345,"title":7346,"body":7347,"category":2848,"cover":9615,"coverAlt":2850,"date":9616,"description":9617,"extension":2853,"meta":9618,"navigation":61,"path":9619,"pinned":2856,"seo":9620,"stem":9621,"__hash__":9622},"posts/posts/uk-algorithm.md","英国找工之算法",{"type":8,"value":7348,"toc":9613},[7349,7352,7355,7358,7361,7363,7366,7762,8362,8504,8506,8712,8714,8717,8728,9328,9410,9412,9415,9478,9603,9605,9608,9610],[11,7350,7351],{},"英国找工告一段落，本来想写个面试过程中的算法题合集，但这的算法题实在是太简单了。",[11,7353,7354],{},"刚开始找工的时候觉得算法怎么也是必考项，还是练习一下吧，于是刷了几轮Codeforces，结果还是一样的菜，和当年铜牌的我还是一个水平（甚至被AI惯坏了有点退步）。",[11,7356,7357],{},"我的同事给我推荐了LeetCode，是个好网站，八股题大合集。不过还是应了那句话，再菜的竞赛生刷力扣也会感觉很水。的确，这里easy、medium和很大一部分hard对我来说读完题就有思路并且写出来全A，而且这是允许多次提交的，漏掉细节也不是什么大问题，毕竟实际工作中也确实这样。",[11,7359,7360],{},"装逼结束，回忆一下我的题目吧。",[15,7362],{},[11,7364,7365],{},"首先是亚马逊的OA，第一道大水题忘了，第二道我感觉给我拉了坨大的，DP+线段树优化？",[2874,7367,7368,7400,7460,7759],{},[11,7369,7370,7371,7399],{},"输入一个整数数组",[36,7372,7374,7387],{"className":7373},[2882],[36,7375,7377],{"className":7376},[2886],[2888,7378,7379],{"xmlns":2890},[2892,7380,7381,7385],{},[2895,7382,7383],{},[2898,7384,3933],{},[2902,7386,3933],{"encoding":2904},[36,7388,7390],{"className":7389,"ariaHidden":1960},[2908],[36,7391,7393,7396],{"className":7392},[2912],[36,7394],{"className":7395,"style":2950},[2916],[36,7397,3933],{"className":7398},[2921,2922],"（长度1e5），将整个数组划分成若干个连续子数组，每个子数组必须满足：",[11,7401,7402,7403,7459],{},"1.是原数组中的一段连续子区间 ",[36,7404,7406,7430],{"className":7405},[2882],[36,7407,7409],{"className":7408},[2886],[2888,7410,7411],{"xmlns":2890},[2892,7412,7413,7427],{},[2895,7414,7415,7417,7420,7422,7425],{},[2970,7416,3936],{"stretchy":3214},[2898,7418,7419],{},"l",[2970,7421,259],{"separator":1960},[2898,7423,7424],{},"r",[2970,7426,3941],{"stretchy":3214},[2902,7428,7429],{"encoding":2904},"[l, r]",[36,7431,7433],{"className":7432,"ariaHidden":1960},[2908],[36,7434,7436,7439,7442,7446,7450,7453,7456],{"className":7435},[2912],[36,7437],{"className":7438,"style":3238},[2916],[36,7440,3936],{"className":7441},[3242],[36,7443,7419],{"className":7444,"style":7445},[2921,2922],"margin-right:0.01968em;",[36,7447,259],{"className":7448},[7449],"mpunct",[36,7451],{"className":7452,"style":3755},[2994],[36,7454,7424],{"className":7455,"style":3739},[2921,2922],[36,7457,3941],{"className":7458},[3267],"；",[11,7461,7462,7463,7459],{},"2.满足：",[36,7464,7466,7528],{"className":7465},[2882],[36,7467,7469],{"className":7468},[2886],[2888,7470,7471],{"xmlns":2890},[2892,7472,7473,7525],{},[2895,7474,7475,7481,7483,7486,7488,7490,7496,7498,7510,7512,7515,7517,7523],{},[4835,7476,7477,7479],{},[2898,7478,3933],{},[2898,7480,7424],{},[2970,7482,604],{},[2898,7484,7485],{},"max",[2970,7487,3709],{},[2970,7489,117],{"stretchy":3214},[4835,7491,7492,7494],{},[2898,7493,3933],{},[2898,7495,7419],{},[2970,7497,259],{"separator":1960},[4835,7499,7500,7502],{},[2898,7501,3933],{},[2895,7503,7504,7506,7508],{},[2898,7505,7419],{},[2970,7507,2972],{},[3220,7509,218],{},[2970,7511,259],{"separator":1960},[2970,7513,7514],{},"…",[2970,7516,259],{"separator":1960},[4835,7518,7519,7521],{},[2898,7520,3933],{},[2898,7522,7424],{},[2970,7524,453],{"stretchy":3214},[2902,7526,7527],{"encoding":2904},"a_r \u003C \\max(a_l, a_{l+1}, \\dots, a_r)",[36,7529,7531,7588],{"className":7530,"ariaHidden":1960},[2908],[36,7532,7534,7538,7579,7582,7585],{"className":7533},[2912],[36,7535],{"className":7536,"style":7537},[2916],"height:0.6891em;vertical-align:-0.15em;",[36,7539,7541,7544],{"className":7540},[2921],[36,7542,3933],{"className":7543},[2921,2922],[36,7545,7547],{"className":7546},[3333],[36,7548,7550,7571],{"className":7549},[3337,4886],[36,7551,7553,7568],{"className":7552},[3341],[36,7554,7557],{"className":7555,"style":7556},[3345],"height:0.1514em;",[36,7558,7559,7562],{"style":4896},[36,7560],{"className":7561,"style":3354},[3353],[36,7563,7565],{"className":7564},[3358,3359,3360,3361],[36,7566,7424],{"className":7567,"style":3739},[2921,2922,3361],[36,7569,4910],{"className":7570},[4909],[36,7572,7574],{"className":7573},[3341],[36,7575,7577],{"className":7576,"style":4917},[3345],[36,7578],{},[36,7580],{"className":7581,"style":3565},[2994],[36,7583,604],{"className":7584},[3569],[36,7586],{"className":7587,"style":3565},[2994],[36,7589,7591,7594,7597,7600,7641,7644,7647,7697,7700,7703,7707,7710,7713,7716,7756],{"className":7590},[2912],[36,7592],{"className":7593,"style":3238},[2916],[36,7595,7485],{"className":7596},[3746],[36,7598,117],{"className":7599},[3242],[36,7601,7603,7606],{"className":7602},[2921],[36,7604,3933],{"className":7605},[2921,2922],[36,7607,7609],{"className":7608},[3333],[36,7610,7612,7633],{"className":7611},[3337,4886],[36,7613,7615,7630],{"className":7614},[3341],[36,7616,7619],{"className":7617,"style":7618},[3345],"height:0.3361em;",[36,7620,7621,7624],{"style":4896},[36,7622],{"className":7623,"style":3354},[3353],[36,7625,7627],{"className":7626},[3358,3359,3360,3361],[36,7628,7419],{"className":7629,"style":7445},[2921,2922,3361],[36,7631,4910],{"className":7632},[4909],[36,7634,7636],{"className":7635},[3341],[36,7637,7639],{"className":7638,"style":4917},[3345],[36,7640],{},[36,7642,259],{"className":7643},[7449],[36,7645],{"className":7646,"style":3755},[2994],[36,7648,7650,7653],{"className":7649},[2921],[36,7651,3933],{"className":7652},[2921,2922],[36,7654,7656],{"className":7655},[3333],[36,7657,7659,7688],{"className":7658},[3337,4886],[36,7660,7662,7685],{"className":7661},[3341],[36,7663,7665],{"className":7664,"style":7618},[3345],[36,7666,7667,7670],{"style":4896},[36,7668],{"className":7669,"style":3354},[3353],[36,7671,7673],{"className":7672},[3358,3359,3360,3361],[36,7674,7676,7679,7682],{"className":7675},[2921,3361],[36,7677,7419],{"className":7678,"style":7445},[2921,2922,3361],[36,7680,2972],{"className":7681},[2999,3361],[36,7683,218],{"className":7684},[2921,3361],[36,7686,4910],{"className":7687},[4909],[36,7689,7691],{"className":7690},[3341],[36,7692,7695],{"className":7693,"style":7694},[3345],"height:0.2083em;",[36,7696],{},[36,7698,259],{"className":7699},[7449],[36,7701],{"className":7702,"style":3755},[2994],[36,7704,7514],{"className":7705},[7706],"minner",[36,7708],{"className":7709,"style":3755},[2994],[36,7711,259],{"className":7712},[7449],[36,7714],{"className":7715,"style":3755},[2994],[36,7717,7719,7722],{"className":7718},[2921],[36,7720,3933],{"className":7721},[2921,2922],[36,7723,7725],{"className":7724},[3333],[36,7726,7728,7748],{"className":7727},[3337,4886],[36,7729,7731,7745],{"className":7730},[3341],[36,7732,7734],{"className":7733,"style":7556},[3345],[36,7735,7736,7739],{"style":4896},[36,7737],{"className":7738,"style":3354},[3353],[36,7740,7742],{"className":7741},[3358,3359,3360,3361],[36,7743,7424],{"className":7744,"style":3739},[2921,2922,3361],[36,7746,4910],{"className":7747},[4909],[36,7749,7751],{"className":7750},[3341],[36,7752,7754],{"className":7753,"style":4917},[3345],[36,7755],{},[36,7757,453],{"className":7758},[3267],[11,7760,7761],{},"找到一种合法划分方案，使得段数尽可能多，输出段数。",[11,7763,7764,7765,8361],{},"思路为：",[36,7766,7768,7922],{"className":7767},[2882],[36,7769,7771],{"className":7770},[2886],[2888,7772,7773],{"xmlns":2890},[2892,7774,7775,7919],{},[2895,7776,7777,7780,7782,7784,7786,7788,7790,7792,7794],{},[2898,7778,7779],{},"d",[2898,7781,11],{},[2970,7783,3936],{"stretchy":3214},[2898,7785,3899],{},[2970,7787,3941],{"stretchy":3214},[2970,7789,173],{},[2898,7791,7485],{},[2970,7793,3709],{},[2895,7795,7796,7798,7801,7803,7805,7807,7809,7811,7813,7815,7818,7820,7822,7824,7826,7828,7830,7834,7836,7838,7840,7846,7848,7860,7862,7864,7866,7878,7880,7882,7894,7896,7898,7900,7902,7904,7906,7908,7911,7913,7915,7917],{},[2970,7797,117],{"fence":1960},[2970,7799,7800],{"stretchy":3214},"{",[2898,7802,7779],{},[2898,7804,11],{},[2970,7806,3936],{"stretchy":3214},[2898,7808,4713],{},[2970,7810,3941],{"stretchy":3214},[2970,7812,2972],{},[3220,7814,218],{},[2970,7816,7817],{},"∣",[3220,7819,3329],{},[2970,7821,6465],{},[2898,7823,4713],{},[2970,7825,604],{},[2898,7827,3899],{},[2970,7829,259],{"separator":1960},[7831,7832,7833],"mtext",{}," ",[2898,7835,7485],{},[2970,7837,3709],{},[2970,7839,117],{"stretchy":3214},[4835,7841,7842,7844],{},[2898,7843,3933],{},[2898,7845,4713],{},[2970,7847,259],{"separator":1960},[4835,7849,7850,7852],{},[2898,7851,3933],{},[2895,7853,7854,7856,7858],{},[2898,7855,4713],{},[2970,7857,2972],{},[3220,7859,218],{},[2970,7861,259],{"separator":1960},[2970,7863,7514],{},[2970,7865,259],{"separator":1960},[4835,7867,7868,7870],{},[2898,7869,3933],{},[2895,7871,7872,7874,7876],{},[2898,7873,3899],{},[2970,7875,6002],{},[3220,7877,218],{},[2970,7879,453],{"stretchy":3214},[2970,7881,653],{},[4835,7883,7884,7886],{},[2898,7885,3933],{},[2895,7887,7888,7890,7892],{},[2898,7889,3899],{},[2970,7891,6002],{},[3220,7893,218],{},[2970,7895,259],{"separator":1960},[7831,7897,7833],{},[2898,7899,7779],{},[2898,7901,11],{},[2970,7903,3936],{"stretchy":3214},[2898,7905,4713],{},[2970,7907,3941],{"stretchy":3214},[2970,7909,7910],{"mathvariant":4444},"≠",[2970,7912,6002],{},[3220,7914,218],{},[2970,7916,6912],{"stretchy":3214},[2970,7918,453],{"fence":1960},[2902,7920,7921],{"encoding":2904},"dp[i] = \\max \\left( \\{ dp[j] + 1 \\mid 0 \\le j \u003C i,\\ \\max(a_j, a_{j+1}, \\dots, a_{i-1}) > a_{i-1},\\ dp[j] \\ne -1 \\} \\right)",[36,7923,7925,7955],{"className":7924,"ariaHidden":1960},[2908],[36,7926,7928,7931,7934,7937,7940,7943,7946,7949,7952],{"className":7927},[2912],[36,7929],{"className":7930,"style":3238},[2916],[36,7932,7779],{"className":7933},[2921,2922],[36,7935,11],{"className":7936},[2921,2922],[36,7938,3936],{"className":7939},[3242],[36,7941,3899],{"className":7942},[2921,2922],[36,7944,3941],{"className":7945},[3267],[36,7947],{"className":7948,"style":3565},[2994],[36,7950,173],{"className":7951},[3569],[36,7953],{"className":7954,"style":3565},[2994],[36,7956,7958,7961,7964,7967],{"className":7957},[2912],[36,7959],{"className":7960,"style":6128},[2916],[36,7962,7485],{"className":7963},[3746],[36,7965],{"className":7966,"style":3755},[2994],[36,7968,7970,7975,7978,7981,7984,7987,7990,7993,7996,7999,8002,8005,8008,8011,8014,8017,8020,8023,8026,8029,8032,8035,8038,8041,8044,8047,8050,8053,8056,8096,8099,8102,8151,8154,8157,8160,8163,8166,8169,8218,8221,8224,8227,8230,8279,8282,8285,8288,8291,8294,8297,8300,8303,8306,8346,8349,8352,8355,8358],{"className":7969},[7706],[36,7971,117],{"className":7972,"style":7974},[3242,7973],"delimcenter","top:0em;",[36,7976,7800],{"className":7977},[3242],[36,7979,7779],{"className":7980},[2921,2922],[36,7982,11],{"className":7983},[2921,2922],[36,7985,3936],{"className":7986},[3242],[36,7988,4713],{"className":7989,"style":4729},[2921,2922],[36,7991,3941],{"className":7992},[3267],[36,7994],{"className":7995,"style":2995},[2994],[36,7997,2972],{"className":7998},[2999],[36,8000],{"className":8001,"style":2995},[2994],[36,8003,218],{"className":8004},[2921],[36,8006],{"className":8007,"style":3565},[2994],[36,8009,7817],{"className":8010},[3569],[36,8012],{"className":8013,"style":3565},[2994],[36,8015,3329],{"className":8016},[2921],[36,8018],{"className":8019,"style":3565},[2994],[36,8021,6465],{"className":8022},[3569],[36,8024],{"className":8025,"style":3565},[2994],[36,8027,4713],{"className":8028,"style":4729},[2921,2922],[36,8030],{"className":8031,"style":3565},[2994],[36,8033,604],{"className":8034},[3569],[36,8036],{"className":8037,"style":3565},[2994],[36,8039,3899],{"className":8040},[2921,2922],[36,8042,259],{"className":8043},[7449],[36,8045,7833],{"className":8046},[2994],[36,8048],{"className":8049,"style":3755},[2994],[36,8051,7485],{"className":8052},[3746],[36,8054,117],{"className":8055},[3242],[36,8057,8059,8062],{"className":8058},[2921],[36,8060,3933],{"className":8061},[2921,2922],[36,8063,8065],{"className":8064},[3333],[36,8066,8068,8088],{"className":8067},[3337,4886],[36,8069,8071,8085],{"className":8070},[3341],[36,8072,8074],{"className":8073,"style":4893},[3345],[36,8075,8076,8079],{"style":4896},[36,8077],{"className":8078,"style":3354},[3353],[36,8080,8082],{"className":8081},[3358,3359,3360,3361],[36,8083,4713],{"className":8084,"style":4729},[2921,2922,3361],[36,8086,4910],{"className":8087},[4909],[36,8089,8091],{"className":8090},[3341],[36,8092,8094],{"className":8093,"style":5153},[3345],[36,8095],{},[36,8097,259],{"className":8098},[7449],[36,8100],{"className":8101,"style":3755},[2994],[36,8103,8105,8108],{"className":8104},[2921],[36,8106,3933],{"className":8107},[2921,2922],[36,8109,8111],{"className":8110},[3333],[36,8112,8114,8143],{"className":8113},[3337,4886],[36,8115,8117,8140],{"className":8116},[3341],[36,8118,8120],{"className":8119,"style":4893},[3345],[36,8121,8122,8125],{"style":4896},[36,8123],{"className":8124,"style":3354},[3353],[36,8126,8128],{"className":8127},[3358,3359,3360,3361],[36,8129,8131,8134,8137],{"className":8130},[2921,3361],[36,8132,4713],{"className":8133,"style":4729},[2921,2922,3361],[36,8135,2972],{"className":8136},[2999,3361],[36,8138,218],{"className":8139},[2921,3361],[36,8141,4910],{"className":8142},[4909],[36,8144,8146],{"className":8145},[3341],[36,8147,8149],{"className":8148,"style":5153},[3345],[36,8150],{},[36,8152,259],{"className":8153},[7449],[36,8155],{"className":8156,"style":3755},[2994],[36,8158,7514],{"className":8159},[7706],[36,8161],{"className":8162,"style":3755},[2994],[36,8164,259],{"className":8165},[7449],[36,8167],{"className":8168,"style":3755},[2994],[36,8170,8172,8175],{"className":8171},[2921],[36,8173,3933],{"className":8174},[2921,2922],[36,8176,8178],{"className":8177},[3333],[36,8179,8181,8210],{"className":8180},[3337,4886],[36,8182,8184,8207],{"className":8183},[3341],[36,8185,8187],{"className":8186,"style":4893},[3345],[36,8188,8189,8192],{"style":4896},[36,8190],{"className":8191,"style":3354},[3353],[36,8193,8195],{"className":8194},[3358,3359,3360,3361],[36,8196,8198,8201,8204],{"className":8197},[2921,3361],[36,8199,3899],{"className":8200},[2921,2922,3361],[36,8202,6002],{"className":8203},[2999,3361],[36,8205,218],{"className":8206},[2921,3361],[36,8208,4910],{"className":8209},[4909],[36,8211,8213],{"className":8212},[3341],[36,8214,8216],{"className":8215,"style":7694},[3345],[36,8217],{},[36,8219,453],{"className":8220},[3267],[36,8222],{"className":8223,"style":3565},[2994],[36,8225,653],{"className":8226},[3569],[36,8228],{"className":8229,"style":3565},[2994],[36,8231,8233,8236],{"className":8232},[2921],[36,8234,3933],{"className":8235},[2921,2922],[36,8237,8239],{"className":8238},[3333],[36,8240,8242,8271],{"className":8241},[3337,4886],[36,8243,8245,8268],{"className":8244},[3341],[36,8246,8248],{"className":8247,"style":4893},[3345],[36,8249,8250,8253],{"style":4896},[36,8251],{"className":8252,"style":3354},[3353],[36,8254,8256],{"className":8255},[3358,3359,3360,3361],[36,8257,8259,8262,8265],{"className":8258},[2921,3361],[36,8260,3899],{"className":8261},[2921,2922,3361],[36,8263,6002],{"className":8264},[2999,3361],[36,8266,218],{"className":8267},[2921,3361],[36,8269,4910],{"className":8270},[4909],[36,8272,8274],{"className":8273},[3341],[36,8275,8277],{"className":8276,"style":7694},[3345],[36,8278],{},[36,8280,259],{"className":8281},[7449],[36,8283,7833],{"className":8284},[2994],[36,8286],{"className":8287,"style":3755},[2994],[36,8289,7779],{"className":8290},[2921,2922],[36,8292,11],{"className":8293},[2921,2922],[36,8295,3936],{"className":8296},[3242],[36,8298,4713],{"className":8299,"style":4729},[2921,2922],[36,8301,3941],{"className":8302},[3267],[36,8304],{"className":8305,"style":3565},[2994],[36,8307,8309,8343],{"className":8308},[3569],[36,8310,8312],{"className":8311},[3569],[36,8313,8316],{"className":8314},[2921,8315],"vbox",[36,8317,8320],{"className":8318},[8319],"thinbox",[36,8321,8324,8328,8339],{"className":8322},[8323],"rlap",[36,8325],{"className":8326,"style":8327},[2916],"height:0.8889em;vertical-align:-0.1944em;",[36,8329,8332],{"className":8330},[8331],"inner",[36,8333,8335],{"className":8334},[2921],[36,8336,8338],{"className":8337},[3569],"",[36,8340],{"className":8341},[8342],"fix",[36,8344,173],{"className":8345},[3569],[36,8347],{"className":8348,"style":3565},[2994],[36,8350,6002],{"className":8351},[2921],[36,8353,218],{"className":8354},[2921],[36,8356,6912],{"className":8357},[3267],[36,8359,453],{"className":8360,"style":7974},[3267,7973],"，比较好理解。",[11,8363,8364,8365,8429,8430,8503],{},"这玩意肯定是对的，但是吧，这玩意得用线段树啥的优化成",[36,8366,8368,8394],{"className":8367},[2882],[36,8369,8371],{"className":8370},[2886],[2888,8372,8373],{"xmlns":2890},[2892,8374,8375,8391],{},[2895,8376,8377,8379,8381,8383,8385,8387,8389],{},[2898,8378,3701],{},[2970,8380,117],{"stretchy":3214},[2898,8382,3820],{},[2898,8384,3706],{},[2970,8386,3709],{},[2898,8388,3820],{},[2970,8390,453],{"stretchy":3214},[2902,8392,8393],{"encoding":2904},"O(n\\log n)",[36,8395,8397],{"className":8396,"ariaHidden":1960},[2908],[36,8398,8400,8403,8406,8409,8412,8415,8420,8423,8426],{"className":8399},[2912],[36,8401],{"className":8402,"style":3238},[2916],[36,8404,3701],{"className":8405,"style":3739},[2921,2922],[36,8407,117],{"className":8408},[3242],[36,8410,3820],{"className":8411},[2921,2922],[36,8413],{"className":8414,"style":3755},[2994],[36,8416,3747,8418],{"className":8417},[3746],[36,8419,3751],{"style":3750},[36,8421],{"className":8422,"style":3755},[2994],[36,8424,3820],{"className":8425},[2921,2922],[36,8427,453],{"className":8428},[3267],"才能过，要么就是我思路不合适，总之最后没优化完交了个",[36,8431,8433,8456],{"className":8432},[2882],[36,8434,8436],{"className":8435},[2886],[2888,8437,8438],{"xmlns":2890},[2892,8439,8440,8454],{},[2895,8441,8442,8444,8446,8452],{},[2898,8443,3701],{},[2970,8445,117],{"stretchy":3214},[3291,8447,8448,8450],{},[2898,8449,3820],{},[3220,8451,3438],{},[2970,8453,453],{"stretchy":3214},[2902,8455,4617],{"encoding":2904},[36,8457,8459],{"className":8458,"ariaHidden":1960},[2908],[36,8460,8462,8465,8468,8471,8500],{"className":8461},[2912],[36,8463],{"className":8464,"style":3313},[2916],[36,8466,3701],{"className":8467,"style":3739},[2921,2922],[36,8469,117],{"className":8470},[3242],[36,8472,8474,8477],{"className":8473},[2921],[36,8475,3820],{"className":8476},[2921,2922],[36,8478,8480],{"className":8479},[3333],[36,8481,8483],{"className":8482},[3337],[36,8484,8486],{"className":8485},[3341],[36,8487,8489],{"className":8488,"style":3346},[3345],[36,8490,8491,8494],{"style":3349},[36,8492],{"className":8493,"style":3354},[3353],[36,8495,8497],{"className":8496},[3358,3359,3360,3361],[36,8498,3438],{"className":8499},[2921,3361],[36,8501,453],{"className":8502},[3267],"的，T了一半的点，比较无语。好在亚马逊疑似知道自己给我端上一盆大的，还是给我面试了。",[15,8505],{},[11,8507,8508,8509,8711],{},"投行的OA也有一些有印象的，例如有道题得算乘法逆元不然会在这卡住：\n",[36,8510,8512,8574],{"className":8511},[2882],[36,8513,8515],{"className":8514},[2886],[2888,8516,8517],{"xmlns":2890},[2892,8518,8519,8571],{},[2895,8520,8521,8533,8536,8546,8548,8550,8553,8562,8565,8567,8569],{},[3291,8522,8523,8525],{},[2898,8524,3933],{},[2895,8526,8527,8529,8531],{},[2898,8528,11],{},[2970,8530,6002],{},[3220,8532,3438],{},[2970,8534,8535],{},"≡",[3291,8537,8538,8540],{},[2898,8539,3933],{},[2895,8541,8542,8544],{},[2970,8543,6002],{},[3220,8545,218],{},[2970,8547,117],{"stretchy":3214},[2994,8549],{},[2994,8551],{"width":8552},"0.6667em",[2895,8554,8555,8557,8560],{},[2898,8556,3431],{"mathvariant":4444},[2898,8558,8559],{"mathvariant":4444},"o",[2898,8561,7779],{"mathvariant":4444},[7831,8563,8564],{}," ",[7831,8566,8564],{},[2898,8568,11],{},[2970,8570,453],{"stretchy":3214},[2902,8572,8573],{"encoding":2904},"a^{p-2} \\equiv a^{-1}  (\\mod p)",[36,8575,8577,8630,8682],{"className":8576,"ariaHidden":1960},[2908],[36,8578,8580,8583,8621,8624,8627],{"className":8579},[2912],[36,8581],{"className":8582,"style":3346},[2916],[36,8584,8586,8589],{"className":8585},[2921],[36,8587,3933],{"className":8588},[2921,2922],[36,8590,8592],{"className":8591},[3333],[36,8593,8595],{"className":8594},[3337],[36,8596,8598],{"className":8597},[3341],[36,8599,8601],{"className":8600,"style":3346},[3345],[36,8602,8603,8606],{"style":3349},[36,8604],{"className":8605,"style":3354},[3353],[36,8607,8609],{"className":8608},[3358,3359,3360,3361],[36,8610,8612,8615,8618],{"className":8611},[2921,3361],[36,8613,11],{"className":8614},[2921,2922,3361],[36,8616,6002],{"className":8617},[2999,3361],[36,8619,3438],{"className":8620},[2921,3361],[36,8622],{"className":8623,"style":3565},[2994],[36,8625,8535],{"className":8626},[3569],[36,8628],{"className":8629,"style":3565},[2994],[36,8631,8633,8636,8671,8674,8678],{"className":8632},[2912],[36,8634],{"className":8635,"style":3313},[2916],[36,8637,8639,8642],{"className":8638},[2921],[36,8640,3933],{"className":8641},[2921,2922],[36,8643,8645],{"className":8644},[3333],[36,8646,8648],{"className":8647},[3337],[36,8649,8651],{"className":8650},[3341],[36,8652,8654],{"className":8653,"style":3346},[3345],[36,8655,8656,8659],{"style":3349},[36,8657],{"className":8658,"style":3354},[3353],[36,8660,8662],{"className":8661},[3358,3359,3360,3361],[36,8663,8665,8668],{"className":8664},[2921,3361],[36,8666,6002],{"className":8667},[2921,3361],[36,8669,218],{"className":8670},[2921,3361],[36,8672,117],{"className":8673},[3242],[36,8675],{"className":8676},[2994,8677],"allowbreak",[36,8679],{"className":8680,"style":8681},[2994],"margin-right:0.6667em;",[36,8683,8685,8688,8699,8702,8705,8708],{"className":8684},[2912],[36,8686],{"className":8687,"style":3238},[2916],[36,8689,8691],{"className":8690},[2921],[36,8692,8694],{"className":8693},[2921],[36,8695,8698],{"className":8696},[2921,8697],"mathrm","mod",[36,8700],{"className":8701,"style":3755},[2994],[36,8703],{"className":8704,"style":3755},[2994],[36,8706,11],{"className":8707},[2921,2922],[36,8709,453],{"className":8710},[3267],"。其实大部分都是模拟题，检测到底会不会写代码。",[15,8713],{},[11,8715,8716],{},"再例如比较简单的DP：",[2874,8718,8719,8722,8725],{},[11,8720,8721],{},"将一个数字串转化为英文字母串，即1~26可以转化为a~z，例如：",[11,8723,8724],{},"2112可以转换为baab、bal、ul、uba、bkb（不同分割方式）",[11,8726,8727],{},"输入：一个数字串，输出：其可以转换为的英文字母串的种类数。",[11,8729,8730,8731,9204,9205,9254,9255,9327],{},"思路就是：",[36,8732,8734,8852],{"className":8733},[2882],[36,8735,8737],{"className":8736},[2886],[2888,8738,8739],{"xmlns":2890},[2892,8740,8741,8849],{},[2895,8742,8743,8745,8747,8749,8751,8753,8755,8757,8759,8761,8763,8765,8767,8769,8772,8775,8778,8780,8782,8784,8786,8788,8790,8792,8794,8796,8798,8800,8802,8804,8806,8808,8810,8812,8814,8816,8818,8820,8822,8824,8826,8828,8830,8832,8834,8836,8838,8840,8842,8844,8847],{},[2898,8744,7779],{},[2898,8746,11],{},[2970,8748,3936],{"stretchy":3214},[2898,8750,3899],{},[2970,8752,3941],{"stretchy":3214},[2970,8754,173],{},[2898,8756,7779],{},[2898,8758,11],{},[2970,8760,3936],{"stretchy":3214},[2898,8762,3899],{},[2970,8764,6002],{},[3220,8766,218],{},[2970,8768,3941],{"stretchy":3214},[2970,8770,8771],{},"∗",[2970,8773,7800],{"fence":3214,"stretchy":1960,"minsize":8774,"maxsize":8774},"1.2em",[2898,8776,8777],{},"S",[2970,8779,3936],{"stretchy":3214},[2898,8781,3899],{},[2970,8783,6002],{},[3220,8785,218],{},[2970,8787,3941],{"stretchy":3214},[2970,8789,7910],{"mathvariant":4444},[3220,8791,3329],{},[2970,8793,6912],{"fence":3214,"stretchy":1960,"minsize":8774,"maxsize":8774},[2970,8795,2972],{},[2898,8797,7779],{},[2898,8799,11],{},[2970,8801,3936],{"stretchy":3214},[2898,8803,3899],{},[2970,8805,6002],{},[3220,8807,3438],{},[2970,8809,3941],{"stretchy":3214},[2970,8811,8771],{},[2970,8813,7800],{"fence":3214,"stretchy":1960,"minsize":8774,"maxsize":8774},[3220,8815,3295],{},[2970,8817,6465],{},[2898,8819,8777],{},[2970,8821,3936],{"stretchy":3214},[2898,8823,3899],{},[2970,8825,6002],{},[3220,8827,3438],{},[2970,8829,3941],{"stretchy":3214},[2898,8831,8777],{},[2970,8833,3936],{"stretchy":3214},[2898,8835,3899],{},[2970,8837,6002],{},[3220,8839,218],{},[2970,8841,3941],{"stretchy":3214},[2970,8843,6465],{},[3220,8845,8846],{},"26",[2970,8848,6912],{"fence":3214,"stretchy":1960,"minsize":8774,"maxsize":8774},[2902,8850,8851],{"encoding":2904},"dp[i]=dp[i-1]* \\big\\{S[i-1]\\ne 0\\big\\} + dp[i-2]*\\big\\{10\\leq S[i-2]S[i-1]\\leq 26 \\big\\}  ",[36,8853,8855,8885,8912,8933,8967,9018,9042,9069,9090,9114,9138,9168,9189],{"className":8854,"ariaHidden":1960},[2908],[36,8856,8858,8861,8864,8867,8870,8873,8876,8879,8882],{"className":8857},[2912],[36,8859],{"className":8860,"style":3238},[2916],[36,8862,7779],{"className":8863},[2921,2922],[36,8865,11],{"className":8866},[2921,2922],[36,8868,3936],{"className":8869},[3242],[36,8871,3899],{"className":8872},[2921,2922],[36,8874,3941],{"className":8875},[3267],[36,8877],{"className":8878,"style":3565},[2994],[36,8880,173],{"className":8881},[3569],[36,8883],{"className":8884,"style":3565},[2994],[36,8886,8888,8891,8894,8897,8900,8903,8906,8909],{"className":8887},[2912],[36,8889],{"className":8890,"style":3238},[2916],[36,8892,7779],{"className":8893},[2921,2922],[36,8895,11],{"className":8896},[2921,2922],[36,8898,3936],{"className":8899},[3242],[36,8901,3899],{"className":8902},[2921,2922],[36,8904],{"className":8905,"style":2995},[2994],[36,8907,6002],{"className":8908},[2999],[36,8910],{"className":8911,"style":2995},[2994],[36,8913,8915,8918,8921,8924,8927,8930],{"className":8914},[2912],[36,8916],{"className":8917,"style":3238},[2916],[36,8919,218],{"className":8920},[2921],[36,8922,3941],{"className":8923},[3267],[36,8925],{"className":8926,"style":2995},[2994],[36,8928,8771],{"className":8929},[2999],[36,8931],{"className":8932,"style":2995},[2994],[36,8934,8936,8940,8948,8952,8955,8958,8961,8964],{"className":8935},[2912],[36,8937],{"className":8938,"style":8939},[2916],"height:1.2em;vertical-align:-0.35em;",[36,8941,8943],{"className":8942},[2921],[36,8944,7800],{"className":8945},[8946,8947],"delimsizing","size1",[36,8949,8777],{"className":8950,"style":8951},[2921,2922],"margin-right:0.05764em;",[36,8953,3936],{"className":8954},[3242],[36,8956,3899],{"className":8957},[2921,2922],[36,8959],{"className":8960,"style":2995},[2994],[36,8962,6002],{"className":8963},[2999],[36,8965],{"className":8966,"style":2995},[2994],[36,8968,8970,8973,8976,8979,8982,9015],{"className":8969},[2912],[36,8971],{"className":8972,"style":3238},[2916],[36,8974,218],{"className":8975},[2921],[36,8977,3941],{"className":8978},[3267],[36,8980],{"className":8981,"style":3565},[2994],[36,8983,8985,9012],{"className":8984},[3569],[36,8986,8988],{"className":8987},[3569],[36,8989,8991],{"className":8990},[2921,8315],[36,8992,8994],{"className":8993},[8319],[36,8995,8997,9000,9009],{"className":8996},[8323],[36,8998],{"className":8999,"style":8327},[2916],[36,9001,9003],{"className":9002},[8331],[36,9004,9006],{"className":9005},[2921],[36,9007,8338],{"className":9008},[3569],[36,9010],{"className":9011},[8342],[36,9013,173],{"className":9014},[3569],[36,9016],{"className":9017,"style":3565},[2994],[36,9019,9021,9024,9027,9033,9036,9039],{"className":9020},[2912],[36,9022],{"className":9023,"style":8939},[2916],[36,9025,3329],{"className":9026},[2921],[36,9028,9030],{"className":9029},[2921],[36,9031,6912],{"className":9032},[8946,8947],[36,9034],{"className":9035,"style":2995},[2994],[36,9037,2972],{"className":9038},[2999],[36,9040],{"className":9041,"style":2995},[2994],[36,9043,9045,9048,9051,9054,9057,9060,9063,9066],{"className":9044},[2912],[36,9046],{"className":9047,"style":3238},[2916],[36,9049,7779],{"className":9050},[2921,2922],[36,9052,11],{"className":9053},[2921,2922],[36,9055,3936],{"className":9056},[3242],[36,9058,3899],{"className":9059},[2921,2922],[36,9061],{"className":9062,"style":2995},[2994],[36,9064,6002],{"className":9065},[2999],[36,9067],{"className":9068,"style":2995},[2994],[36,9070,9072,9075,9078,9081,9084,9087],{"className":9071},[2912],[36,9073],{"className":9074,"style":3238},[2916],[36,9076,3438],{"className":9077},[2921],[36,9079,3941],{"className":9080},[3267],[36,9082],{"className":9083,"style":2995},[2994],[36,9085,8771],{"className":9086},[2999],[36,9088],{"className":9089,"style":2995},[2994],[36,9091,9093,9096,9102,9105,9108,9111],{"className":9092},[2912],[36,9094],{"className":9095,"style":8939},[2916],[36,9097,9099],{"className":9098},[2921],[36,9100,7800],{"className":9101},[8946,8947],[36,9103,3295],{"className":9104},[2921],[36,9106],{"className":9107,"style":3565},[2994],[36,9109,6465],{"className":9110},[3569],[36,9112],{"className":9113,"style":3565},[2994],[36,9115,9117,9120,9123,9126,9129,9132,9135],{"className":9116},[2912],[36,9118],{"className":9119,"style":3238},[2916],[36,9121,8777],{"className":9122,"style":8951},[2921,2922],[36,9124,3936],{"className":9125},[3242],[36,9127,3899],{"className":9128},[2921,2922],[36,9130],{"className":9131,"style":2995},[2994],[36,9133,6002],{"className":9134},[2999],[36,9136],{"className":9137,"style":2995},[2994],[36,9139,9141,9144,9147,9150,9153,9156,9159,9162,9165],{"className":9140},[2912],[36,9142],{"className":9143,"style":3238},[2916],[36,9145,3438],{"className":9146},[2921],[36,9148,3941],{"className":9149},[3267],[36,9151,8777],{"className":9152,"style":8951},[2921,2922],[36,9154,3936],{"className":9155},[3242],[36,9157,3899],{"className":9158},[2921,2922],[36,9160],{"className":9161,"style":2995},[2994],[36,9163,6002],{"className":9164},[2999],[36,9166],{"className":9167,"style":2995},[2994],[36,9169,9171,9174,9177,9180,9183,9186],{"className":9170},[2912],[36,9172],{"className":9173,"style":3238},[2916],[36,9175,218],{"className":9176},[2921],[36,9178,3941],{"className":9179},[3267],[36,9181],{"className":9182,"style":3565},[2994],[36,9184,6465],{"className":9185},[3569],[36,9187],{"className":9188,"style":3565},[2994],[36,9190,9192,9195,9198],{"className":9191},[2912],[36,9193],{"className":9194,"style":8939},[2916],[36,9196,8846],{"className":9197},[2921],[36,9199,9201],{"className":9200},[2921],[36,9202,6912],{"className":9203},[8946,8947],"，最后输出",[36,9206,9208,9230],{"className":9207},[2882],[36,9209,9211],{"className":9210},[2886],[2888,9212,9213],{"xmlns":2890},[2892,9214,9215,9227],{},[2895,9216,9217,9219,9221,9223,9225],{},[2898,9218,7779],{},[2898,9220,11],{},[2970,9222,3936],{"stretchy":3214},[2898,9224,3820],{},[2970,9226,3941],{"stretchy":3214},[2902,9228,9229],{"encoding":2904},"dp[n]",[36,9231,9233],{"className":9232,"ariaHidden":1960},[2908],[36,9234,9236,9239,9242,9245,9248,9251],{"className":9235},[2912],[36,9237],{"className":9238,"style":3238},[2916],[36,9240,7779],{"className":9241},[2921,2922],[36,9243,11],{"className":9244},[2921,2922],[36,9246,3936],{"className":9247},[3242],[36,9249,3820],{"className":9250},[2921,2922],[36,9252,3941],{"className":9253},[3267],"，其中",[36,9256,9258,9285],{"className":9257},[2882],[36,9259,9261],{"className":9260},[2886],[2888,9262,9263],{"xmlns":2890},[2892,9264,9265,9282],{},[2895,9266,9267,9269,9271,9274,9276,9278,9280],{},[2898,9268,8777],{},[2970,9270,3936],{"stretchy":3214},[3220,9272,9273],{},"0..",[2898,9275,3820],{},[2970,9277,6002],{},[3220,9279,218],{},[2970,9281,3941],{"stretchy":3214},[2902,9283,9284],{"encoding":2904},"S[0..n-1]",[36,9286,9288,9315],{"className":9287,"ariaHidden":1960},[2908],[36,9289,9291,9294,9297,9300,9303,9306,9309,9312],{"className":9290},[2912],[36,9292],{"className":9293,"style":3238},[2916],[36,9295,8777],{"className":9296,"style":8951},[2921,2922],[36,9298,3936],{"className":9299},[3242],[36,9301,9273],{"className":9302},[2921],[36,9304,3820],{"className":9305},[2921,2922],[36,9307],{"className":9308,"style":2995},[2994],[36,9310,6002],{"className":9311},[2999],[36,9313],{"className":9314,"style":2995},[2994],[36,9316,9318,9321,9324],{"className":9317},[2912],[36,9319],{"className":9320,"style":3238},[2916],[36,9322,218],{"className":9323},[2921],[36,9325,3941],{"className":9326},[3267],"为输入的数字串，大括号内表达式真为1，假为0。",[11,9329,9330,9331,9380,9381,9409],{},"解释一下，",[36,9332,9334,9356],{"className":9333},[2882],[36,9335,9337],{"className":9336},[2886],[2888,9338,9339],{"xmlns":2890},[2892,9340,9341,9353],{},[2895,9342,9343,9345,9347,9349,9351],{},[2898,9344,7779],{},[2898,9346,11],{},[2970,9348,3936],{"stretchy":3214},[2898,9350,3899],{},[2970,9352,3941],{"stretchy":3214},[2902,9354,9355],{"encoding":2904},"dp[i]",[36,9357,9359],{"className":9358,"ariaHidden":1960},[2908],[36,9360,9362,9365,9368,9371,9374,9377],{"className":9361},[2912],[36,9363],{"className":9364,"style":3238},[2916],[36,9366,7779],{"className":9367},[2921,2922],[36,9369,11],{"className":9370},[2921,2922],[36,9372,3936],{"className":9373},[3242],[36,9375,3899],{"className":9376},[2921,2922],[36,9378,3941],{"className":9379},[3267],"表示前",[36,9382,9384,9397],{"className":9383},[2882],[36,9385,9387],{"className":9386},[2886],[2888,9388,9389],{"xmlns":2890},[2892,9390,9391,9395],{},[2895,9392,9393],{},[2898,9394,3899],{},[2902,9396,3899],{"encoding":2904},[36,9398,9400],{"className":9399,"ariaHidden":1960},[2908],[36,9401,9403,9406],{"className":9402},[2912],[36,9404],{"className":9405,"style":3911},[2916],[36,9407,3899],{"className":9408},[2921,2922],"个字符的解码方式数；如果当前单个字符可以合法转换为字母（即1~9），就在前i-1的基础上贡献一种解码方式；如果当前和上一个字符可以合法转换为字母（即10~26），也在前i-2位的基础上贡献一种解码方式。",[15,9411],{},[11,9413,9414],{},"到了面试环节，题目就更加简单。例如亚马逊面试给的题：",[2874,9416,9417],{},[11,9418,9419,9420,9448,9449,9477],{},"给一个长度为",[36,9421,9423,9436],{"className":9422},[2882],[36,9424,9426],{"className":9425},[2886],[2888,9427,9428],{"xmlns":2890},[2892,9429,9430,9434],{},[2895,9431,9432],{},[2898,9433,3820],{},[2902,9435,3820],{"encoding":2904},[36,9437,9439],{"className":9438,"ariaHidden":1960},[2908],[36,9440,9442,9445],{"className":9441},[2912],[36,9443],{"className":9444,"style":2950},[2916],[36,9446,3820],{"className":9447},[2921,2922],"的数组，每个元素都是一个英文单词(最大长度",[36,9450,9452,9465],{"className":9451},[2882],[36,9453,9455],{"className":9454},[2886],[2888,9456,9457],{"xmlns":2890},[2892,9458,9459,9463],{},[2895,9460,9461],{},[2898,9462,3431],{},[2902,9464,3431],{"encoding":2904},[36,9466,9468],{"className":9467,"ariaHidden":1960},[2908],[36,9469,9471,9474],{"className":9470},[2912],[36,9472],{"className":9473,"style":2950},[2916],[36,9475,3431],{"className":9476},[2921,2922],")，你要找出其中所有的复合词（可以由数组中其他两个元素拼接而成的词）。",[11,9479,9480,9481,9550,9551,9602],{},"这是可以一直优化的题目，我优化到",[36,9482,9484,9514],{"className":9483},[2882],[36,9485,9487],{"className":9486},[2886],[2888,9488,9489],{"xmlns":2890},[2892,9490,9491,9511],{},[2895,9492,9493,9495,9497,9499,9501,9503,9505,9507,9509],{},[2898,9494,3701],{},[2970,9496,117],{"stretchy":3214},[2898,9498,3820],{},[2898,9500,3431],{},[2898,9502,3706],{},[2970,9504,3709],{},[2898,9506,3820],{},[2898,9508,3431],{},[2970,9510,453],{"stretchy":3214},[2902,9512,9513],{"encoding":2904},"O(nm\\log nm)",[36,9515,9517],{"className":9516,"ariaHidden":1960},[2908],[36,9518,9520,9523,9526,9529,9533,9536,9541,9544,9547],{"className":9519},[2912],[36,9521],{"className":9522,"style":3238},[2916],[36,9524,3701],{"className":9525,"style":3739},[2921,2922],[36,9527,117],{"className":9528},[3242],[36,9530,9532],{"className":9531},[2921,2922],"nm",[36,9534],{"className":9535,"style":3755},[2994],[36,9537,3747,9539],{"className":9538},[3746],[36,9540,3751],{"style":3750},[36,9542],{"className":9543,"style":3755},[2994],[36,9545,9532],{"className":9546},[2921,2922],[36,9548,453],{"className":9549},[3267],"那哥们就不想理我了，虽然最后又优化成",[36,9552,9554,9578],{"className":9553},[2882],[36,9555,9557],{"className":9556},[2886],[2888,9558,9559],{"xmlns":2890},[2892,9560,9561,9575],{},[2895,9562,9563,9565,9567,9569,9571,9573],{},[2898,9564,3701],{},[2970,9566,117],{"stretchy":3214},[3220,9568,8846],{},[2898,9570,3820],{},[2898,9572,3431],{},[2970,9574,453],{"stretchy":3214},[2902,9576,9577],{"encoding":2904},"O(26nm)",[36,9579,9581],{"className":9580,"ariaHidden":1960},[2908],[36,9582,9584,9587,9590,9593,9596,9599],{"className":9583},[2912],[36,9585],{"className":9586,"style":3238},[2916],[36,9588,3701],{"className":9589,"style":3739},[2921,2922],[36,9591,117],{"className":9592},[3242],[36,9594,8846],{"className":9595},[2921],[36,9597,9532],{"className":9598},[2921,2922],[36,9600,453],{"className":9601},[3267],"，用了字典树，但感觉那哥们也没想到这个，在那啊对对对，给我过了。",[15,9604],{},[11,9606,9607],{},"面试里更多是耗时间的水题，例如如何把指针连接的二叉树存到文件里，然后读出来；设计五子棋游戏变量结构以及关键方法；如何将会议编号稳定映射到一个固定服务器，并在超载时切换服务器...",[15,9609],{},[11,9611,9612],{},"感觉到了面试这一步更多就是行测了，以及一些运气。技术水平呢，我认为到我这个水平就够了。",{"title":31,"searchDepth":50,"depth":50,"links":9614},[],"uk.png","2025-08-27","不是哥们，这么简单吗？",{},"/posts/uk-algorithm",{"title":7346,"description":9617},"posts/uk-algorithm","lAYOpJvc3PjOjzAvJJsD_WMVL4jF0qtbAt-txv_5UBM",{"id":9624,"title":9625,"body":9626,"category":2848,"cover":9832,"coverAlt":2850,"date":9833,"description":9834,"extension":2853,"meta":9835,"navigation":61,"path":9836,"pinned":2856,"seo":9837,"stem":9838,"__hash__":9839},"posts/posts/previous-arch.md","往年题解",{"type":8,"value":9627,"toc":9830},[9628,9784,9786,9806,9809,9812,9815,9818,9821,9824,9827],[3617,9629,4576,9632,4576,9647],{"className":9630},[9631],"arch-table",[3620,9633,9634,9635,4576],{},"\n    ",[3623,9636,9637,9638,9637,9641,9637,9644,9634],{},"\n      ",[3626,9639,9640],{},"日期",[3626,9642,9643],{},"标题",[3626,9645,9646],{},"标签",[3647,9648,9634,9649,9634,9667,9634,9681,9634,9696,9634,9711,9634,9725,9634,9740,9634,9755,9634,9769,4576],{},[3623,9650,9637,9651,9637,9654,9637,9664,9634],{},[3652,9652,9653],{},"2017-10-14",[3652,9655,9656,9657],{},"P1481 魔族密码 ",[3933,9658,9663],{"href":9659,"target":9660,"rel":9661},"https://www.luogu.com.cn/article/efv6150k","_blank",[9662],"noopener","🔗",[3652,9665,9666],{},"动态规划",[3623,9668,9637,9669,9637,9672,9637,9679,9634],{},[3652,9670,9671],{},"2017-10-15",[3652,9673,9674,9675],{},"P1387 最大正方形 ",[3933,9676,9663],{"href":9677,"target":9660,"rel":9678},"https://www.luogu.com.cn/article/xkols31z",[9662],[3652,9680,9666],{},[3623,9682,9637,9683,9637,9686,9637,9693,9634],{},[3652,9684,9685],{},"2017-12-22",[3652,9687,9688,9689],{},"P1100 高低位交换 ",[3933,9690,9663],{"href":9691,"target":9660,"rel":9692},"https://www.luogu.com.cn/article/snkc5ukr",[9662],[3652,9694,9695],{},"水题",[3623,9697,9637,9698,9637,9701,9637,9708,9634],{},[3652,9699,9700],{},"2018-01-02",[3652,9702,9703,9704],{},"P1886 滑动窗口 ",[3933,9705,9663],{"href":9706,"target":9660,"rel":9707},"https://www.luogu.com.cn/article/rf6kuc6m",[9662],[3652,9709,9710],{},"线段树",[3623,9712,9637,9713,9637,9716,9637,9723,9634],{},[3652,9714,9715],{},"2018-01-25",[3652,9717,9718,9719],{},"SCOI2010 序列操作 ",[3933,9720,9663],{"href":9721,"target":9660,"rel":9722},"https://www.luogu.com.cn/article/6dvbpg72",[9662],[3652,9724,9710],{},[3623,9726,9637,9727,9637,9730,9637,9737,9634],{},[3652,9728,9729],{},"2018-03-10",[3652,9731,9732,9733],{},"JSOI2009 等差数列 ",[3933,9734,9663],{"href":9735,"target":9660,"rel":9736},"https://blog.csdn.net/Baling_haku/article/details/79512263",[9662],[3652,9738,9739],{},"线段树 / 差分",[3623,9741,9637,9742,9637,9745,9637,9752,9634],{},[3652,9743,9744],{},"2018-04-10",[3652,9746,9747,9748],{},"P3393 逃离僵尸岛 ",[3933,9749,9663],{"href":9750,"target":9660,"rel":9751},"https://www.luogu.com.cn/article/mxvo1wer",[9662],[3652,9753,9754],{},"最大流",[3623,9756,9637,9757,9637,9760,9637,9767,9634],{},[3652,9758,9759],{},"2020-11-13",[3652,9761,9762,9763],{},"ACPC2013 马里奥赛车 ",[3933,9764,9663],{"href":9765,"target":9660,"rel":9766},"https://blog.csdn.net/Baling_haku/article/details/109684215",[9662],[3652,9768,9666],{},[3623,9770,9637,9771,9637,9774,9637,9781,9634],{},[3652,9772,9773],{},"2021-08-12",[3652,9775,9776,9777],{},"2021 牛客暑期多校 7-F xay loves trees ",[3933,9778,9663],{"href":9779,"target":9660,"rel":9780},"https://blog.csdn.net/Baling_haku/article/details/119645035",[9662],[3652,9782,9783],{},"可持久化线段树",[15,9785],{},[2874,9787,9788,9791,9794,9797,9800,9803],{},[11,9789,9790],{},"🎵 你在 OJ 上提交了千百遍 🎵",[11,9792,9793],{},"🎵 却依然不能卡进那时限 🎵",[11,9795,9796],{},"🎵 双手敲尽代码也敲尽岁月 🎵",[11,9798,9799],{},"🎵 只有我一人 🎵",[11,9801,9802],{},"🎵 写的题解 🎵",[11,9804,9805],{},"🎵 凋零在 OJ 里面 🎵",[11,9807,9808],{},"人们总是说，绕远的路，总有风景。",[11,9810,9811],{},"我高考那年，是自主招生取消的第一年，也是“强基计划”的第一年。所谓教育公平，让家长们对信息学竞赛失去了信心，我作为昔日的山东省第六名（其实不作数，因为厉害的初中生都去打提高组了），还是在这条路上漫无目的地走。",[11,9813,9814],{},"有人清醒地知道，这一年过后，这条路如果没有走到银牌，那就相当于没什么用。很多人拿到一个复赛的奖项就退出了，那么即使滥竽充数的我在留下来的人中也可以取得一定成绩，我至今不知道为什么高一就是一等奖，明明什么高级算法都还没学。",[11,9816,9817],{},"我作为菜鸟，这种政策下自然只会发发牢骚，什么“兰博基尼五元优惠券”的段子层出不穷。毕竟金牌的学长没空关心这个。我当然也知道，这本来没什么不公平的，两位保送的学长凭文化课也是轻松考进清北。",[11,9819,9820],{},"我的结局也只是靠着文化课进入了山东大学。省一等奖在自主招生也算是有了一些用处，即使我在面试的时候说说迪杰斯特拉是基于搜索的，他们还是给了我校试90多分的成绩。另一位高考失利的同伴也是一样的情况，但高考分数权重太大了，他没进来。靠结果来看，相当于给我的高考分数加了11分进入计算机类，免去了先进生化环材转专业的麻烦。",[11,9822,9823],{},"我在这方面恐怕是没什么天赋的，当然勤奋也是一种天赋（而我没有），在山大的铜牌队伍里混吃等死。面试官看见我有竞赛经历直接给我扔难题，我还不一定解得出来。",[11,9825,9826],{},"OI圈子几乎都是计算机的预备队，当年认识的人基本也都是在计算机行业，我也是其中的一员。这里的人也是鱼龙混杂，有一进大学就趾高气昂的，有积极解答问题的。当然最有意思的是近水楼台先得男娘笑话。我大一也买过一套女装，感觉还像模像样的，但这已经足够爽到我了。身边特别是打得好的选手，老是能听到他们变成木桶饭，我觉得是个值得研究的课题。感叹我还好没打明白，不然我也要打出某个粉红粉蓝旗帜了。",[11,9828,9829],{},"草，这cursor补全markdown真应该打开，太有节目效果了，精准吐槽我写的每一句话。",{"title":31,"searchDepth":50,"depth":50,"links":9831},[],"noi.png","2025-08-15","只有我一人，写的题解，凋零在oj里面",{},"/posts/previous-arch",{"title":9625,"description":9834},"posts/previous-arch","CsT8TnRhiRcBcuLrzLXqV2Q95Fk5jlxpIQ7X1GAQuuc",1766568023004]