• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            ACTime

            let's start
            隨筆 - 10, 文章 - 22, 評論 - 2, 引用 - 0
            數(shù)據(jù)加載中……

            2010年3月22日

            [轉(zhuǎn)]frkstyc的poj分類

            1474 geometry 1000 ad hoc 1003 ad hoc 1004 ad hoc 1005 ad hoc 1008 ad hoc 1023 ad hoc 1045 ad hoc 1046 ad hoc 1047 ad hoc 1079 ad hoc 1102 ad hoc 1126 ad hoc 1140 ad hoc 1207 ad hoc 1218 ad hoc 1220 ad hoc 1289 ad hoc 1306 ad hoc 1316 ad hoc 1326 ad hoc 1423 ad hoc 1450 ad hoc 1477 ad hoc 1488 ad hoc 1491 ad hoc 1493 ad hoc 1517 ad hoc 1519 ad hoc 1528 ad hoc 1552 ad hoc 1565 ad hoc 1583 ad hoc 1628 ad hoc 1635 ad hoc 1657 ad hoc 1658 ad hoc 1663 ad hoc 1665 ad hoc 1759 ad hoc 1775 ad hoc 1781 ad hoc 1809 ad hoc 1859 ad hoc 1868 ad hoc 1936 ad hoc 1942 ad hoc 1969 ad hoc 2000 ad hoc 2006 ad hoc 2013 ad hoc 2015 ad hoc 2017 ad hoc 2027 ad hoc 2083 ad hoc 2105 ad hoc 2109 ad hoc 2126 ad hoc 2136 ad hoc 2140 ad hoc 2141 ad hoc 2144 ad hoc 2159 ad hoc 2190 ad hoc 2196 ad hoc 2231 ad hoc 2249 ad hoc 2262 ad hoc 2272 ad hoc 2301 ad hoc 2305 ad hoc 2309 ad hoc 2316 ad hoc 2321 ad hoc 2328 ad hoc 2330 ad hoc 2350 ad hoc 2351 ad hoc 2379 ad hoc 2380 ad hoc 2390 ad hoc 2403 ad hoc 2419 ad hoc 1131 algebra 1707 algebra 1125 all pairs shortest paths 1375 analytical geometry 1473 analytical geometry 2098 analytical geometry 2242 analytical geometry 1001 arbitrary precision calculation 1354 arbitrary precision calculation 1454 arbitrary precision calculation 1503 arbitrary precision calculation 2389 arbitrary precision calculation 2413 arbitrary precision calculation 2240 Bellman-Ford algorithm 1195 binary indexed tree 1330 binary search 2418 binary search tree 1466 bipartite graph matching 1087 bipartite graph matching or maximum flow 2018 bisection and dynamic programming 1505 bisection and greedy 1434 bisection method 2155 bit operation or binary indexed tree 1111 breadth first search 1562 breadth first search 1724 breadth first search 1753 breadth first search 1915 breadth first search 1924 breadth first search 2225 breadth first search 2243 breadth first search 2251 breadth first search 2312 breadth first search 2386 breadth first search 2415 breadth first search 2426 breadth first search 2435 breadth first search 1209 calendar 2080 calendar 2210 calendar 1031 computational geometry 1127 computational geometry 1648 computational geometry 1654 computational geometry 1675 computational geometry 1912 computational geometry 2099 computational geometry 2150 computational geometry 2318 computational geometry 2398 computational geometry 2423 computational geometry 1032 construction 1147 construction 1148 construction 1702 construction 1844 construction 1898 construction 1906 construction 2085 construction 2319 construction 2356 construction 2402 construction 1426 construction or breadth first search 1606 construction or breadth first search 1113 convex hull 2187 convex hull and enumeration 1010 depth first search 1011 depth first search 1022 depth first search 1054 depth first search 1118 depth first search 1144 depth first search 1190 depth first search 1564 depth first search 1655 depth first search 1904 depth first search 1980 depth first search 2184 depth first search 2186 depth first search 2362 depth first search 2378 depth first search 2438 depth first search 1151 discretization and union of intervals or segment tree 1182 disjoint sets 1291 disjoint sets 1703 disjoint sets 1984 disjoint sets 2021 disjoint sets 2236 disjoint sets 2371 divide and conquer 2388 divide and conquer 1014 dynamic programming 1015 dynamic programming 1018 dynamic programming 1036 dynamic programming 1038 dynamic programming 1050 dynamic programming 1088 dynamic programming 1093 dynamic programming 1156 dynamic programming 1157 dynamic programming 1159 dynamic programming 1160 dynamic programming 1163 dynamic programming 1170 dynamic programming 1191 dynamic programming 1221 dynamic programming 1338 dynamic programming 1458 dynamic programming 1579 dynamic programming 1631 dynamic programming 1651 dynamic programming 1661 dynamic programming 1664 dynamic programming 1678 dynamic programming 1685 dynamic programming 1722 dynamic programming 1732 dynamic programming 1745 dynamic programming 1821 dynamic programming 1909 dynamic programming 1923 dynamic programming 1925 dynamic programming 1953 dynamic programming 2033 dynamic programming 2133 dynamic programming 2151 dynamic programming 2181 dynamic programming 2229 dynamic programming 2247 dynamic programming 2250 dynamic programming 2342 dynamic programming 2353 dynamic programming 2355 dynamic programming 2385 dynamic programming 2393 dynamic programming 2397 dynamic programming 2414 dynamic programming 2430 dynamic programming 2439 dynamic programming 2441 dynamic programming 2442 dynamic programming 2084 dynamic programming and arbitrary precision calculation 1387 dynamic programming and enumeration 1322 dynamic programming or generating function 1012 enumeration 1013 enumeration 1142 enumeration 1171 enumeration 1183 enumeration 1318 enumeration 1411 enumeration 1543 enumeration 1647 enumeration 1650 enumeration 1828 enumeration 1916 enumeration 1930 enumeration 2078 enumeration 2100 enumeration 2191 enumeration 2245 enumeration 2326 enumeration 2346 enumeration 2363 enumeration 2381 enumeration 2436 enumeration 2444 enumeration 1267 enumeration and bisection 1129 enumeration and depth first search 1186 enumeration and hash table 1348 enumration 1472 expression evaluation 2106 expression evaluation 2246 expression evaluation 2269 expression evaluation 2234 game theory 2348 game theory 2425 game theory 1799 geometry 1927 geometry 1939 geometry 1940 geometry 2007 geometry 2208 geometry 2276 geometry 2365 geometry 2405 geometry 1981 geometry and enumeration 1090 Gray code 1832 Gray code 1017 greedy 1042 greedy 1083 greedy 1230 greedy 1328 greedy 1456 greedy 1862 greedy 1922 greedy 2054 greedy 2082 greedy 2209 greedy 2291 greedy 2313 greedy 2325 greedy 2370 greedy 2376 greedy 2431 greedy 2433 greedy 2437 greedy 1405 greedy and arbitrary precision calculation 1659 greedy and construction 1026 group theory 1033 group theory 1286 group theory 1674 group theory 2369 group theory 2409 group theory 2366 hash table or binary search 1521 Huffman tree 1742 knapsack 2392 knapsack 1538 Lagrangian interpolation 2344 linear algebra and greedy 1462 linear systems 1914 linear systems 2440 matrix algebra 1149 maximum flow 1273 maximum flow 1459 maximum flow 2125 maximum flow and minimum cut 2377 maximum spanning tree 1258 minimum spanning tree 1679 minimum spanning tree 1861 minimum spanning tree 2421 minimum spanning tree 1166 modular systems 1222 modular systems 1681 modular systems 2345 modular systems 1905 Newton's iteration 2420 Newton's iteration 2299 number of inversions 1006 number theory 1061 number theory 1067 number theory 1152 number theory 1284 number theory 1320 number theory 1401 number theory 1455 number theory 1597 number theory 1808 number theory 1811 number theory 1845 number theory 1995 number theory 2115 number theory 2407 number theory 2417 number theory 2429 number theory and enumeration 1146 permutation 1256 permutation 1731 permutation 1833 permutation 2079 rotating calipers 2104 search 1177 segment tree 2182 segment tree 2352 segment tree or binary indexed tree 1016 simulation 1028 simulation 1048 simulation 1049 simulation 1051 simulation 1060 simulation 1281 simulation 1298 simulation 1363 simulation 1504 simulation 1573 simulation 1578 simulation 1589 simulation 1592 simulation 1600 simulation 1656 simulation 1660 simulation 1666 simulation 1684 simulation 1926 simulation 1928 simulation 1978 simulation 2014 simulation 2039 simulation 2050 simulation 2051 simulation 2081 simulation 2271 simulation 2317 simulation 2339 simulation 2340 simulation 2359 simulation 2383 simulation 2410 simulation 2424 simulation 2443 simulation 2387 single source shortest paths 2394 single source shortest paths 1002 sorting 1245 sorting 1520 sorting 2092 sorting 2408 sorting 1007 stable sorting 1572 string manipulation 1646 string manipulation 1917 string manipulation 2406 string matching 1128 topological sorting 1785 treap 2201 treap 2255 tree manipulation 1089 union of intervals 1797 variation of Dijkstra's shortest path algorithm 2253 variation of Dijkstra's shortest path algorithm 2395 variation of Dijkstra's shortest path algorithm 2254 vector algebra 2354 vector algebra 2412 vector algebra 1130 vertex connectivity 1308 vertex connectivity 2320 vertex connectivity

            posted @ 2010-03-22 22:37 ACTime 閱讀(485) | 評論 (0)編輯 收藏

            2010年2月21日

            百度筆經(jīng)&面經(jīng)(zz,詳細(xì)!贊!)

            百度筆經(jīng)&面經(jīng)(zz,詳細(xì)!贊!)
            2007年10月20日 星期六 16:34發(fā)信人: ptlj (PT), 信區(qū): Job_Discuss
            ?標(biāo) 題: 百度筆經(jīng)&面經(jīng) 發(fā)信站: 武漢白云黃鶴站 (2007年10月08日12:50:13 星期一)
            ?看了一下精華區(qū),好像關(guān)于百度的筆經(jīng)和面經(jīng)很少,所以上來發(fā)一下,積攢RP~~PS:我投的是商務(wù)搜索部的引擎研發(fā)工程師。

            【筆試】百度的在華科的筆試在9月21號晚上宣講會后馬上舉行。宣講會那叫一個人山人海, 很多不是畢業(yè)班的人也來湊熱鬧感受一下百度招聘。筆試題目有選擇題,編程題,系統(tǒng)設(shè) 計題三種類型。選擇題難度不是很大,但我太水了,很多基礎(chǔ)知識都不記得了,正則表達 式,shell編程~~~汗死,不說了,好多都是蒙的。 編程題有3題,第一題是找出字符串 的最長不重復(fù)子串,輸出長度。我想了半天,只會O(n^2)的算法,是個人都可以想出來的 笨辦法,想著寫下來也沒啥意義,題目問有沒O(n)的,那看來肯定有O(n)的,就不寫 了,看后面的題算了。第二題是找出一個字符串的最長回文子串。這個問題好像以前考研 復(fù)習(xí)數(shù)據(jù)結(jié)構(gòu)時看過,想起來判斷一個回文串可以用棧來實現(xiàn),稍微回憶一下,算法思路 就出來了。于是提筆寫下了個O(n^3)的算法。汗死了,自己太笨了,只能想出這種垃圾算 法,看來百度不好混啊。第三題是在2.5億個整數(shù)中找出不重復(fù)的整數(shù),內(nèi)存空間不足以容 納這2.5億個整數(shù)。這種題是百度的特色,海量數(shù)據(jù)處理,我也沒啥思路。既然不能一次扔 進內(nèi)存,我就分批扔進去,盡量減少從外存讀進內(nèi)存的次數(shù),然后算了一下,分2批扔進內(nèi) 存。然后每批排序,找出每批里面不重復(fù)的數(shù),把這些不重復(fù)的再在另一批數(shù)中過一遍,去掉重復(fù)的,然后匯總。寫不出具體代碼,只把思路寫了一下。當(dāng)時心情沮喪極了,想著,掛了,代碼不會寫,難得寫出一題又是效率極低的。最后那道系統(tǒng) 設(shè)計題,我壓根沒啥好思路,題目大概是海量數(shù)據(jù)分布在100臺電腦中,想個辦法高效統(tǒng)計 出這批數(shù)據(jù)的TOP10。草草寫了幾筆,時間就到了,交卷~~~看來,這次除非有奇跡,不 然筆試肯定被BS了。

            考完回到寢室,和兄弟們討論一下題目,第一題原來可以用Hash實現(xiàn),時間復(fù)雜度降 到O(n)。自己仔細(xì)想了一下,整個算法的思路就清晰了,郁悶啊,這么簡單的題居然沒想 出來,看來自己還是太菜了。ZZ對第二題還有個新穎的算法,學(xué)習(xí)了一下,贊啊,虧他想 得出來,呵呵。第二天還有Microsoft的筆試,趕緊拿Primer來抱抱佛腳,這么好的一本書 ,我學(xué)C++時怎么就沒看???后悔,懊惱充斥著我的大腦,大有相見恨晚的感覺。 雖然自己筆試很爛,但是還是寄希望于奇跡出現(xiàn),能有機會去面試。于是晚上睡覺開著手機,因為座談會時百度說如果筆試通過,當(dāng)晚凌晨就會出面試通知了。晚上輾轉(zhuǎn)反側(cè) ,難以入睡,期待手機鈴聲響起,都不知道幾點才睡著。早上起床一照鏡子,大熊貓再現(xiàn)拉,唉,為百度消得我憔悴啊。自己空想也沒用,眼前還有MS等著我呢。考MS時,手機都沒關(guān),就等著百度電話,希望考試時能有電話來。果然,早上11點多還在考試時,手機響起,掛掉,我還在為了MS筆試而撓頭呢。幾分鐘后,又響了一次,再次掛掉。考完試,出 考場拿手機一看,咦,是027的哦,好像是個小靈通?;?fù)?,不通,繼續(xù)回?fù)埽€是不通, 不死心,我就不信撥不通你。結(jié)果撥了10多次還是不通,算了,只好等他再打來?;貙嶒?室,上Q問問這個號碼是不是百度的,JG他們說是的,驚喜,Oh,yeah,百度面試來臨了, Miracle居然發(fā)生了。于是和JG,DJ,Q拼車去弘毅面百度。結(jié)果面官說我不接電話,他們安排了其它同學(xué)面試,叫我第二天早上10點再來面。FT,怎么這么曲折啊,不過給我點時 間復(fù)習(xí)準(zhǔn)備,也好。


            【一面】 晚上好好看了一下項目,把重點溫習(xí)了一下。又問了下JG面試問了啥,心里有個底了 。第二天,一個人飛的去了弘毅,花了22大洋,好心疼啊。去到昨天那個房間,看見面官 了,一個光頭,和JG昨天的面官一樣。果然,他上來就問了我昨天問JG的同樣問題,設(shè)計 一種數(shù)據(jù)結(jié)構(gòu),結(jié)合了鏈表和數(shù)組的優(yōu)點。我想了一下,說用Hash鏈表,這樣插入和查找 的效率都比較高,但是有conflict問題要解決。他馬上就問我如何解決conflict問題,有沒什么好方法。我說修改hash函數(shù),使得hash值產(chǎn)生的conflict概率盡可能低。他問那你怎么設(shè)計?我倒,這個問題我可沒想過啊。當(dāng)場郁悶了,立馬陷入苦思狀態(tài)。想出幾個點 子,都不管是否可以降低conflict的概率,都和面官說了。他很快就舉例否定我好不容易 想出的點子,說你的辦法還是不行哦,有沒更好的?打擊死了,我已經(jīng)盡力了啊,沒想到這么快就被他找到反例,郁悶死我了。不過面官人很好,看我實在想不出更好的了,就不為難我了,換下一個題目。后面一題是海量日志數(shù)據(jù),提取出某日訪問百度次數(shù)最多的那個IP。想了一下,說了個思路。面官就問你這樣需要的存儲空間太大,有沒優(yōu)化方法???來思路是正確的了,但是優(yōu)化問題嘛,好棘手啊。我又說了個優(yōu)化的方法,面官不太滿意,搖頭。完了,實在想不出來了。。。。面官見我苦思冥想,也不為難我了。接著就問了下項目經(jīng)驗,我balabala一通,他對我的項目不太感冒,沒問什么問題。 然后就問筆試卷子了,他問我第一題干嘛空白?我說了原因,他問我現(xiàn)在有好的想法 沒?我就把自己考完后想的O(n)的算法說了一下,他比較滿意,沒問我什么就問第二題 了。我又說了下我當(dāng)時的算法思想,他問有沒更好的優(yōu)化算法?我說可以做到O(n^2), 把思路說了下。似乎不是他的滿意答案,也沒問我啥。接著問第三題,我把我的想法說了 。他說,你最后還需要折半查找這么麻煩嗎?對2個有序的數(shù)組,查找A數(shù)組的元素是否在 B數(shù)組中出現(xiàn)有沒更好的算法?我想了一下,突然靈機一動,想起歸并排序的算法。就說, 是不是像歸并數(shù)組那樣,直接在B中定位出A的位置,這樣就可以在O(m+n)內(nèi)實現(xiàn)。他比較滿意,說:“是啊,都有序了,你還折半這么麻煩???”暴汗,看來面官水平比我高太多了,思維跟不上。然后看面官總算露出點笑容,忍不住問句:“你覺得我這個算法可以接受不?”他的回答讓我很吃驚,他說:“當(dāng)然可以接受拉,我覺得挺好的啊,不過你的算法要訪外存,可能時間效率不是很高。不過先要完成題目的任務(wù),再考慮優(yōu)化?!蔽亿s緊補一句:“是啊,先要讓它work,再考慮如何讓它work better?!泵婀龠€來句:“不過這個題最好的算法可以一次把2.5億數(shù)據(jù)扔進內(nèi)存,這需要你設(shè)計一個好的數(shù)據(jù)結(jié)構(gòu)?!蔽覇枺骸斑@個,怎么設(shè)計哦?”面官表示不能告訴我答案,讓我自己回去想。 這時,面官看看表,我也看看表,已經(jīng)面了50分鐘了。他說:“現(xiàn)在我們再做2道數(shù)學(xué)推理題。第一題,2個盒子,容量足夠大,現(xiàn)在有50個紅球,50個藍 球,你如何安放這 些球進盒子,使得我隨機抽取一個盒子,然后從里面隨機抽一個球,這個球是紅球的概率 最大?給你2分鐘時間考慮,直觀分析給出結(jié)果。”當(dāng)場我就暈倒了,從小到大,我都不會 做IQ題的啊,這可是我的最弱項。沒辦法,不能直接說我不會啊。只好硬著頭皮上,分析 一下,我說:“列條概率的表達式,求最值,可以求出結(jié)果。”他說:“你這樣搞2個小時 都算不出結(jié)果。從直觀上分析就可以知道結(jié)果了。你再想想”,被打擊了。只好繼續(xù)想, 我想,那把50個紅球放到一個盒子,另一個盒子全放藍球,這樣一個有100%,另一個是0 %,平均下來有50%。也不理想啊,這個時候,靈感再次突現(xiàn),50個紅球全放一個盒子不 是浪費嘛?放1個也是100%,2個也是100%,那就放一個好了,其它全部扔到另一個盒子和 藍球一起。再想一下,這樣概率有75%,應(yīng)該很高了。也沒仔細(xì)想是不是正確答案,就脫 口而出,說了這種放法。面官再次露出笑容,說“正確!”我那時心里好激動啊,沒想到 運氣這么好,居然還答對了。接著又來下一題,A射擊命中率80%,B60%,C40%,A,B,C互為競爭對手,每人都知道另外2人的命中率,3個人同場 競技互相射擊,同時開了第一槍,問第一槍射后,誰最有可能掛掉?我分析了一下,說了答案,他問我思路,我說了我的思路后,他居然來句:“你的思維和別人不 一樣?!盕T,我和別人不一樣,估計說錯了,自己確實回答IQ題比別人笨一截,沒辦法。面官說:“好了,時間差不多了。你有什么問題問我不?”我問:“如 果我有幸通過一面,什么時候會二面?”“通過的話,明早就二面。”然后,和面官握了下手,就這樣結(jié)束了我的一面。 面完一面后,去找LP吃飯,下午陪她上自習(xí),感覺自己一面還行吧,大部分題都答出了思路,雖然進一步的優(yōu)化沒有想完整,而且運氣也好得不得了,連最后2題居然還被我蒙對1題,如果進不了2面,只能說明自己離百度的要求還是差距太大了。結(jié)果好運再次降臨,晚上6點多接到電話,通知第二天早上10點去二面,呵呵,竟然進了二面,真是 too lucky。


            【二面】 第二天準(zhǔn)時去到面試房間,換了位面官面我。一上來就問我一道海量數(shù)據(jù)處理題。題目是:很多記錄數(shù)據(jù),有ID號,還有幾個不同的屬性域,現(xiàn)在要根據(jù)ID號高速查詢到對應(yīng) ID號的數(shù)據(jù),設(shè)計個算法。然后,現(xiàn)在要根據(jù)特定的屬性域排序查詢,既要高效找到排名 在第N-M名的記錄,還要經(jīng)常插入,刪除記錄。我說,查詢ID可以用Hash表查詢,把ID號hash,然后可以在O(1)查到對應(yīng)的記錄。第二個問題,有點復(fù)雜,類似于結(jié)合數(shù)組和鏈表的優(yōu)點設(shè)計數(shù)據(jù)結(jié)構(gòu)。我說了好幾種方案,問他這樣行不行。他說:“你自己覺得行不行啊 ,現(xiàn)在是我面你,不是你面我啊,你自己考慮答案啊?!睍灥?,我實在想不出更好的,也 不知道應(yīng)該如何抉擇,備選方案都各有優(yōu)缺點啊。最后,還是選了其中一種,回答了這個 問題。面官說:“其實這個問題很難有最佳方案,就看你怎么選擇,權(quán)衡,選一種較好的 方案?!卑Γ膊恢牢业拇鸢缚刹豢梢越邮埽耆珱]了一面時的靈感了。然后面官看了 下我簡歷,驚訝地說道:“你是武漢理工畢業(yè)的?”我也很驚訝:“你聽說過這個學(xué)校? ”因為我感覺,武漢理工又不是很有名,在北方,連華中科技名氣都不是很響,沒想到面 官竟然知道武漢理工。結(jié)果面官說:“我就是武漢理工畢業(yè)的啊。”一聽,心中竊喜,居然還有校友,趕緊套一下親近。問他哪一級的,什么時候畢業(yè)啊,加入百度多久了之類的問題。然后自己又說了一下個人對武漢理工的感覺,尤其是當(dāng)年放棄保研名額,選擇去考研。他聽著也覺得有點意思,我就繼續(xù)說:“覺得學(xué)習(xí)氛圍很重要,身邊的同學(xué)對自己的影響很大。本科時,很多同學(xué)沉溺于網(wǎng)游,都墮落了,自己想找個人討論問題都沒有?,F(xiàn)在去了華中科技,身邊的同學(xué)都很優(yōu)秀,經(jīng)常和同學(xué)討論問題,一起進步,感覺很好?!彼犃撕簏c點頭,說:“你這個決定挺正確的。......blabala一通,他也不感冒。他又問我:“干嘛想加入百度公司?”我說:“自己對互聯(lián)網(wǎng)技術(shù)很感興趣,從本科起對數(shù)據(jù)結(jié)構(gòu)和算法就有濃厚的興趣。 加上自己將來想搞研發(fā),百度公司的技術(shù)很吊,里面的人很強,加入百度可以得到很好的鍛煉,學(xué)到很多東西。百度公司現(xiàn)在發(fā)展很快,對自己的職場生涯很有幫助?!比缓?,他問我:“你對搜索引擎了解不?”我說:“之前不了解,聽了座談會后了解了一些?!彼謫枺骸澳銓ψ匀徽Z言分析處理了解不?”“不懂”說完, 我汗死了,完全不懂,有點不祥的預(yù)感了。誰知道,更郁悶的事還在后頭。他接著來一句:“你做的項目都是網(wǎng)絡(luò)安全方面的,和我們的活不對口啊?”最讓我擔(dān)心 的事終于發(fā)生了,我故作鎮(zhèn)定說:“恩,既有網(wǎng)絡(luò)安全,也有網(wǎng)絡(luò)應(yīng)用和管理方面的?!比缓竺婀倬驼f:“好了,我的問題差不多了,你有什么問題要問嗎?”我看了下表,倒,才面了30分鐘就沒問題了,看來我方向不對口,他對我已經(jīng)沒興趣了,不行,這樣草草了結(jié),二面肯定掛掉了,得扯點他感興趣的問題才行。馬上把自己本科的那個畢業(yè)設(shè)計網(wǎng)絡(luò)五子棋里面涉及的算法問題拿出來問問他,看看他有什么優(yōu)化的方法。他想了一會,說:“這個問題有點復(fù)雜哦?!蔽腋`喜,哈哈,該不會把你難倒了吧?接著他來句:“你當(dāng)時是怎么做的?”我心想,你還真行,把問題又丟回來給我了。我就說了我當(dāng)時的做法,也得到了他的認(rèn)可和贊許。恩,第一步目標(biāo)達成。 然后又問他我投的那個職位對哪方面的要求比較高?他說:“良好的算法和數(shù)據(jù)結(jié)構(gòu)的基 礎(chǔ)最重要?!蔽矣謫枺骸澳菙?shù)據(jù)庫,腳本語言,網(wǎng)絡(luò)編程方面呢?”這些都是我的弱項哦 。他說:“這些都有很多現(xiàn)成的成果可以直接利用了,算法和數(shù)據(jù)結(jié)構(gòu)可能比較難提高, 所以需要有個良好的基礎(chǔ)才行?!甭犕?,心里有點高興,自己的強項就是算法和數(shù)據(jù)結(jié)構(gòu) 方面,既然弱項不是很重要,那看來對我的影響不大。這又讓我想起李開復(fù)的一句話:“ 你進MS時,懂C#很好,不懂也不要緊,來了可以學(xué)。但是如果你不懂得如何學(xué)習(xí),那就糟 糕了。”看來,基礎(chǔ)和學(xué)習(xí)能力是很多大公司所看重得。然后又和面官聊一下武漢理工的 變化,和在華中科技讀研的一些生活。最后,面官說了句:“其實,你的技術(shù)還是不錯的 。”聽了這句后,很高興,但是自己對搜索引擎的不了解和專業(yè)的不對口又讓自己產(chǎn)生一絲隱憂。最后問了下“還會有3面不?”“Maybe?!焙兔婀賡ay goodbye,然后結(jié)束了二面。


            【后記】 二面后就是漫長的等待(其實也就等了6天而已,但是自己已經(jīng)覺得很漫長了)。期間沒有任何消息,BBS說二面過了就發(fā)offer,二面不過就去三面。對這個說法,我持保留意見,身邊很多大牛都去3面了,3面是非技術(shù)面,都問你期望的月薪的,自己覺得應(yīng)該是過了2面的才有3面機會吧。自己一直沒等來3面的電話通知,已經(jīng)覺得自己掛了。期間找 LP訴苦,她安慰我說:“說不定就像BBS說的那樣,二面過了就不用三面了吧。你干著急也沒用啊,好好復(fù)習(xí)等消息吧?!彪m然是安慰我的話,但是在等待的日子里有個人可以訴苦感覺還是挺好的。聯(lián)系了一下內(nèi)推的那個人,他說他也不知道結(jié)果,問我是誰面我的。我說一面是光頭,把二面面官的名字報了一下。他說:“光頭是他們部門經(jīng)理。”我很驚訝 ,???部門經(jīng)理?看不出來啊,既然部門經(jīng)理都讓我過1面了,應(yīng)該機會還挺大的啊,自我感覺一面比二面好多了。每天逛BBS,不僅看白云,還看珞珈山水,交大思源,還有天大求 實。等待真是種煎熬啊,雖然各方面的信息都是朝著不利的一面發(fā)展,但是自己還是不死心,一天沒發(fā)offer,就還有機會;既然沒發(fā)據(jù)信,那就還有希望。等啊等,終于在國慶前 一天發(fā)offer了,居然自己也有! 回顧這次百度之旅,感覺運氣太好了。一面是部門經(jīng)理,其實過了他這關(guān)基本問題就不大了。恰好自己那天狀態(tài)超好,靈感不時出現(xiàn),臨場超水平發(fā)揮,總算過了第一關(guān)。第二關(guān)在形勢很不利的情況下(連說幾個“不懂”),自己給自己找加分項目,朝著職位的要求往上靠。既然算法和數(shù)據(jù)結(jié)構(gòu)要求高,我就要表現(xiàn)出自己這個方面有優(yōu)勢,扯畢業(yè)設(shè) 計的算法設(shè)計和面官聊,表示自己對這方面有興趣,基礎(chǔ)不差。還有突出一下自己其它方 面的優(yōu)點,例如上進,好學(xué),對技術(shù)有偏執(zhí)(百度系統(tǒng)部老大的經(jīng)典說法)等。覺得面試時還有一點做得不錯的就是,當(dāng)面對一個自己沒什么思路的問題時,只要你有什么新想法 ,不要管這個想法是否可行,是否可以真的解決問題,先把它說給面官聽,讓他覺得你的 思考問題的能力還是很強的。一定不要想了半天,結(jié)果說“不知道”這樣面官對你的印象 就會很差。雖然你的idea可能不是很work,但是只要是朝著正確的方向前進就OK拉,面試官會給你一定的指引的。你繼續(xù)朝著那個方向想,說不定很快就可以解決問題了。 以前都是看別人的面經(jīng),獲益良多,這次自己寫寫筆經(jīng),面經(jīng),希望對大家有幫助。 最后,希望大家都能找到自己滿意的工作,其實付出和收獲真是成正比的??梢詮氖伦约?喜歡的工作,真是很高興。目標(biāo)和準(zhǔn)備方向的正確可能是我這次應(yīng)聘成功的最主要因素之一吧。我投簡歷只投研發(fā)的崗位,對不搞技術(shù)的公司壓根沒投,不管公司有多大有多好, 像P&G,MARS,國企,公務(wù)員等。一來不想占用別人的機會,二來也知道自己更適合在技術(shù) 方面發(fā)展,去非技術(shù)類公司自己的發(fā)展可能不如技術(shù)類公司。呵呵,寫得我好累啊,就寫到這吧,希望能對大家有用。

            posted @ 2010-02-21 16:37 ACTime 閱讀(1073) | 評論 (2)編輯 收藏

            2010年2月6日

            卡特蘭數(shù)(Catalan數(shù))

                  原理

              令h(1)=1,h(0)=1,catalan數(shù)滿足遞歸式:
              h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (其中n>=2)
              另類遞歸式:
              h(n)=((4*n-2)/(n+1))*h(n-1);
              該遞推關(guān)系的解為:
              h(n)=C(2n,n)/(n+1) (n=1,2,3,...)

              卡特蘭數(shù)的應(yīng)用
             ?。▽嵸|(zhì)上都是遞歸等式的應(yīng)用)
              

            括號化問題


              矩陣鏈乘: P=a1×a2×a3×……×an,依據(jù)乘法結(jié)合律,不改變其順序,只用括號表示成對的乘積,試問有幾種括號化的方案?(h(n)種)
              

            出棧次序問題


              一個棧(無窮大)的進棧序列為1,2,3,…,n,有多少個不同的出棧序列?
              分析:對于每一個數(shù)來說,必須進棧一次、出棧一次。我們把進棧設(shè)為狀態(tài)‘1’,出棧設(shè)為狀態(tài)‘0’。n個數(shù)的所有狀態(tài)對應(yīng)n個1和n個0組成的2n位二進制數(shù)。由于等待入棧的操作數(shù)按照1‥n的順序排列、入棧的操作數(shù)b大于等于出棧的操作數(shù)a(a≤b),因此輸出序列的總數(shù)目=由左而右掃描由n個1和n個0組成的2n位二進制數(shù),1的累計數(shù)不小于0的累計數(shù)的方案種數(shù)。
              在2n位二進制數(shù)中填入n個1的方案數(shù)為c(2n,n),不填1的其余n位自動填0。從中減去不符合要求(由左而右掃描,0的累計數(shù)大于1的累計數(shù))的方案數(shù)即為所求。
              不符合要求的數(shù)的特征是由左而右掃描時,必然在某一奇數(shù)位2m+1位上首先出現(xiàn)m+1個0的累計數(shù)和m個1的累計數(shù),此后的2(n-m)-1位上有n-m個 1和n-m-1個0。如若把后面這2(n-m)-1位上的0和1互換,使之成為n-m個0和n-m-1個1,結(jié)果得1個由n+1個0和n-1個1組成的2n位數(shù),即一個不合要求的數(shù)對應(yīng)于一個由n+1個0和n-1個1組成的排列。
              反過來,任何一個由n+1個0和n-1個1組成的2n位二進制數(shù),由于0的個數(shù)多2個,2n為偶數(shù),故必在某一個奇數(shù)位上出現(xiàn)0的累計數(shù)超過1的累計數(shù)。同樣在后面部分0和1互換,使之成為由n個0和n個1組成的2n位數(shù),即n+1個0和n-1個1組成的2n位數(shù)必對應(yīng)一個不符合要求的數(shù)。
              因而不合要求的2n位數(shù)與n+1個0,n-1個1組成的排列一一對應(yīng)。
              顯然,不符合要求的方案數(shù)為c(2n,n+1)。由此得出 輸出序列的總數(shù)目=c(2n,n)-c(2n,n+1)=1/(n+1)*c(2n,n)。
             ?。ㄟ@個公式的下標(biāo)是從h(0)=1開始的)
              類似:有2n個人排成一行進入劇場。入場費5元。其中只有n個人有一張5元鈔票,另外n人只有10元鈔票,劇院無其它鈔票,問有多少中方法使得只要有10元的人買票,售票處就有5元的鈔票找零?(將持5元者到達視作將5元入棧,持10元者到達視作使棧中某5元出棧)
              

            凸多邊形的三角剖分問題


              
              求將一個凸多邊形區(qū)域分成三角形區(qū)域的方法數(shù)。
              類似:一位大城市的律師在她住所以北n個街區(qū)和以東n個街區(qū)處工作。每天她走2n個街區(qū)去上班。如果她從不穿越(但可以碰到)從家到辦公室的對角線,那么有多少條可能的道路?
              類似:在圓上選擇2n個點,將這些點成對連接起來使得所得到的n條線段不相交的方法數(shù)? 
              

            用給定節(jié)點組成二叉樹的問題


              
              給定N個節(jié)點,能構(gòu)成多少種不同的二叉樹?
             ?。軜?gòu)成h(N)個)

            posted @ 2010-02-06 10:43 ACTime 閱讀(615) | 評論 (0)編輯 收藏

            2010年2月5日

            【做題計劃】2-5

            BUPT OJ
            1094ACM的組隊
            1095探險家Javaman
            1096老鷹捉小雞
            1098機器人工廠
            1099Plant
            1010Snooper
            1011PrisonBreak
            1012SuperRock教授的教案

            posted @ 2010-02-05 00:48 ACTime 閱讀(280) | 評論 (0)編輯 收藏

            2010年1月1日

            POJ 1797 Heavy Transportation(最大樹最小邊變形)

            題目鏈接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1797
            題目描述:求從指定起點到指定終點每條可能路徑上各段邊的最小值
            注意事項:有向圖/無向圖
            提交情況:3次Runtime Error,是最開始嘗試用Kruskal時間接排序的數(shù)組r大小只開了MAXN個;3次WA的主要原因是無向圖按照有向圖做的。用鄰接表存儲圖時一定要注意有向圖和無向圖的問題,已經(jīng)出錯好幾次了。
            心得體會:本道題實際是按照Prim求最大生成樹的思路,逐條添加邊;在添加的過程中,注意從1點出發(fā),在遇到n時,即使最大生成樹仍沒有構(gòu)造完,也可以從函數(shù)中返回了。最開始以為是簡單的生成樹問題,所有用Kruskal來作,遇到起點和終點都訪問過就退出,但此時,構(gòu)造的生成樹可能根本就沒有連接,而Prim在構(gòu)造的初始就是從一棵樹開始拓展的,不會出現(xiàn)這個問題。需要對每個具體的算法有更深入的理解。
             1 #include<queue>
             2 #include<stdio.h>
             3 #include<string.h>
             4 using namespace std;
             5 
             6 #define MAXN 1010 
             7 #define MAXM 1000010 
             8 
             9 struct Edge
            10 {
            11     int start;
            12     int end;
            13     int weight;
            14 
            15     bool operator>(const Edge &e) const
            16     {
            17         return weight<e.weight;
            18     }
            19 };
            20 
            21 Edge edge[2*MAXM];
            22 int visited[MAXN];
            23 int first[MAXN];
            24 int next[2*MAXM];
            25 
            26 int Prim(int n)
            27 {
            28     memset(visited,0,sizeof(visited));
            29     int result = 10000000;
            30     priority_queue<Edge,vector<Edge>,greater<Edge> > pq;
            31     for(int e=first[1];e!=-1;e=next[e])
            32     {
            33         pq.push(edge[e]);
            34     }
            35     visited[1]=1;
            36    
            37     while(!pq.empty())
            38     {
            39         int start = pq.top().start;
            40         int end = pq.top().end;
            41         int weight = pq.top().weight;
            42         pq.pop();
            43 
            44         if(visited[end]==1)
            45             continue;
            46         visited[end] = 1;
            47         
            48         if(weight<result)
            49             result = weight;
            50         if(end==n)
            51            break;
            52         for(int e=first[end];e!=-1;e=next[e])
            53         {
            54             if(visited[edge[e].end]==0)
            55             {
            56                 pq.push(edge[e]);
            57             }
            58         }
            59     }
            60     return result;
            61 }
            62 
            63 int main()
            64 {
            65     int snum;
            66     scanf("%d",&snum);
            67     for(int i=1;i<=snum;i++)
            68     {
            69         int n,m,start,end,weight;
            70         scanf("%d%d",&n,&m);
            71         
            72         memset(first,-1,sizeof(first));       
            73         for(int j=0;j<2*m;j+=2)
            74         {
            75             scanf("%d%d%d",&start,&end,&weight);
            76             
            77             edge[j].start = start;
            78             edge[j].end = end;
            79             edge[j].weight = weight;
            80 
            81             edge[j+1].start = end;
            82             edge[j+1].end = start;
            83             edge[j+1].weight = weight;
            84 
            85             next[j] = first[start];
            86             first[start] = j; 
            87 
            88             next[j+1= first[end];
            89             first[end] = j+1;
            90               
            91         }
            92 
            93         int result = Prim(n);
            94         printf("Scenario #%d:\n",i);
            95         printf("%d\n\n",result);
            96     }
            97 }

            posted @ 2010-01-01 14:24 ACTime 閱讀(853) | 評論 (0)編輯 收藏

            2009年12月22日

            Poj 1840 Eqs

            題目鏈接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1840
            題目描述:求方程的根的個數(shù)
            注意事項:hash可以用char,避免占用內(nèi)存過多
            提交情況:1次MLE,用int開數(shù)組太大了
            心得體會:暫無
             1 #include<stdio.h>
             2 #include<string.h>
             3 
             4 int calCube(int x)
             5 {
             6     return x*x*x;
             7 }
             8 
             9 char hash[25000010];
            10 
            11 int main()
            12 {
            13     int a1,a2,a3,a4,a5;
            14     scanf("%d%d%d%d%d",&a1,&a2,&a3,&a4,&a5);
            15 
            16     int result;
            17     memset(hash,0,sizeof(hash));
            18     for(int i=-50;i<=50;i++)
            19     {
            20         if(i==0)
            21             continue;
            22         for(int j=-50;j<=50;j++)
            23         {
            24             if(j==0)
            25                 continue;
            26             for(int k=-50;k<=50;k++)
            27             {
            28                 if(k==0)
            29                     continue;
            30                 result=a1*calCube(i)+a2*calCube(j)+a3*calCube(k);
            31                 if(result>12500000||result<-12500000)
            32                     continue;
            33                 hash[result+12500000]++;
            34             }
            35         }
            36     }
            37 
            38     int ans=0;
            39     for(int i=-50;i<=50;i++)
            40     {
            41         if(i==0)
            42             continue;
            43         for(int j=-50;j<=50;j++)
            44         {
            45             if(j==0)
            46                 continue;
            47             result=a4*calCube(i)+a5*calCube(j);
            48             result=-result;
            49             ans+=hash[result+12500000];
            50         }
            51     }
            52 
            53     printf("%d\n",ans);
            54 }

            posted @ 2009-12-22 12:32 ACTime 閱讀(683) | 評論 (0)編輯 收藏

            2009年12月19日

            POJ 1416 Shredding Company

            題目鏈接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1416
            所用算法:枚舉(01枚舉)
            注意事項:注意位操作,要細(xì)心
            提交情況:半個月前(12月4號,兩次wa),今天重新讀題又完全換思路重寫了一遍,ac
            心得體會:數(shù)據(jù)量小,直接枚舉就可以,并不一定必須要深搜或剪枝。這道題如果深搜的話,剪枝的條件也是非常明顯的。代碼很亂,希望半個月后review的話還能看得懂。
            1 #include<iostream> 2 #include<stdio.h> 3 #include<math.h> 4 #include<stdlib.h> 5 #include<string.h> 6 using namespace std; 7 8 int calvalue(int t,int sum) 9 { 10 int result=0; 11 int j=0; 12 for(int i=0;i<=5;i++) 13 { 14 if(t&(1<<i)) 15 { 16 result=result+sum%(int)pow(10,j+1); 17 sum=sum/(int)pow(10,j+1); 18 //printf("%d %d\\n",result,sum); 19 j=0; 20 } 21 else 22 { 23 j++; 24 } 25 } 26 return result+sum; 27 } 28 29 int printvalue(int t,int sum) 30 { 31 int stack[10]; 32 int top=0; 33 int j=0; 34 for(int i=0;i<=5;i++) 35 { 36 if(t&(1<<i)) 37 { 38 stack[top++]=sum%(int)pow(10,j+1); 39 sum=sum/(int)pow(10,j+1); 40 j=0; 41 } 42 else 43 { 44 j++; 45 } 46 } 47 stack[top++]=sum; 48 while(top!=1) 49 { 50 printf("%d ",stack[--top]); 51 52 } 53 printf("%d\\n",stack[0]); 54 } 55 56 int main() 57 { 58 int target; 59 char num[7]; 60 //freopen("data.in","r",stdin); 61 while(scanf("%d%s",&target,num)==2) 62 { 63 if(target==0&&num[0]=='0') 64 break; 65 int sum=0; 66 int flag=0; 67 int length=strlen(num); 68 int minvalue=0; 69 int partition=-1; 70 for(int i=0;i<length;i++) 71 { 72 sum=10*sum+num[i]-'0'; 73 minvalue+=num[i]-'0'; 74 } 75 76 if(sum==target) 77 { 78 printf("%d %d\\n",target,sum); 79 continue; 80 } 81 else if(minvalue>target) 82 { 83 printf("error\\n"); 84 continue; 85 } 86 else 87 { 88 minvalue=0; 89 int mysum=0; 90 int times=1<<(length-1); 91 for(int j=0;j<times;j++) 92 { 93 mysum=calvalue(j,sum); 94 if(mysum==minvalue) 95 { 96 flag=1; 97 } 98 else if(mysum<=target&&mysum>minvalue) 99 { 100 minvalue=mysum; 101 flag=0; 102 partition=j; 103 } 104 } 105 } 106 if(flag==1) 107 { 108 printf("rejected\\n"); 109 } 110 else 111 { 112 printf("%d ",minvalue); 113 printvalue(partition,sum); 114 } 115 116 } 117 } 118

            posted @ 2009-12-19 19:36 ACTime 閱讀(423) | 評論 (0)編輯 收藏

            2009年12月18日

            POJ 3083 Children of the Candy Corn(bfs求最短路/迷宮)

                 摘要: 題目鏈接:http://acm.pku.edu.cn/JudgeOnline/problem?id=3083題目描述:求最短路,求沿特定方向走迷宮的步數(shù)所用算法:最短路用bfs求,特定方向走迷宮直接用while計數(shù)(這里寫的比較繁瑣,要細(xì)心,本來看題目分類是在dfs里面的,以為這要用dfs,細(xì)想想不用,而求迷宮最短路徑,bfs應(yīng)該是首選了)提交情況:1次wa(忘了加<stdio.h>頭...  閱讀全文

            posted @ 2009-12-18 14:27 ACTime 閱讀(1377) | 評論 (0)編輯 收藏

            POJ 1936 All in All

            題目鏈接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1936
            所用算法:字符串
            提交情況:1A
            注意事項:無
            心得體會:水題
             1 #include<stdio.h>
             2 
             3 char s[100010];
             4 char t[100010];
             5 
             6 int judge(char s[],char t[])
             7 {
             8     int i=0;
             9     int j=0;
            10     while(s[i]!='\0'&&t[j]!='\0')
            11     {
            12         if(s[i]==t[j])
            13         {
            14             i++;
            15             j++;
            16         }
            17         else
            18         {
            19             j++;
            20         }
            21     }
            22     if(s[i]=='\0')
            23         return 1;
            24     else
            25         return 0;
            26 }
            27 
            28 int main()
            29 {
            30     //freopen("data.in","r",stdin);
            31     while(scanf("%s %s",s,t)==2)
            32     {
            33         if(judge(s,t))
            34             printf("Yes\n");
            35         else
            36             printf("No\n");
            37     }
            38 }

            posted @ 2009-12-18 11:55 ACTime 閱讀(1373) | 評論 (0)編輯 收藏

            2009年12月17日

            POJ 2299 Ultra-QuickSort

            題目鏈接:http://acm.pku.edu.cn/JudgeOnline/problem?id=2299
            題目描述:求冒泡排序的交換次數(shù)
            所用算法:用歸并排序,求逆序數(shù)的個數(shù)
            提交情況:1次tle(直接冒泡排序n^2的復(fù)雜度,對于5000000的數(shù)據(jù)量,必然超時),1次wa(統(tǒng)計個數(shù)時整數(shù)溢出了),1a
            心得體會:初看題目很簡單,沒有往數(shù)據(jù)量方面想,直接冒泡計數(shù)提交,然后看著poj上一直running&&judging直到tle, 時限7000ms呀。沒做過逆序數(shù)的類似問題,而且題目本身分類也在排序那,然后考慮是不是能快排一下,比較排序前和排序后各個數(shù)的位置??紤]再三,發(fā)現(xiàn)解決不了。去論壇上瞄了一眼,看到可以用逆序數(shù)解,于是百度+算法導(dǎo)論,學(xué)到了如何用歸并排序計算逆序數(shù)的數(shù)目,寫成程序,中間還出現(xiàn)了一次wa,然后就ac了。我在看算法導(dǎo)論時,因為merge在書一開始講的,想平時排序都是快排為主流,就沒有仔細(xì)想過merge可能的變種,這道題充分印證了,即使merge本身可能用的不多,但分冶的思想?yún)s是無所不在
            類似題目:poj1804
             1 #include<iostream>
             2 #include<stdio.h>
             3 using namespace std;
             4 
             5 int num[500010];
             6 int left_t[500010];
             7 int right_t[500010];
             8 
             9 long long count=0;
            10 
            11 void merge(int a[],int p,int q,int r)
            12 {
            13     int n1=q-p+1;
            14     int n2=r-q;
            15     for(int i=1;i<=n1;i++)
            16     {
            17         left_t[i]=a[p+i-1];
            18     }
            19     for(int i=1;i<=n2;i++)
            20     {
            21         right_t[i]=a[q+i];
            22     }
            23     left_t[n1+1]=0x7fffffff;
            24     right_t[n2+1]=0x7fffffff;
            25 
            26     int i=1;
            27     int j=1;
            28     for(int k=p;k<=r;k++)
            29     {
            30         if(left_t[i]<=right_t[j])
            31         {
            32             a[k]=left_t[i];
            33             i=i+1;
            34         }
            35         else
            36         {
            37             a[k]=right_t[j];
            38             j=j+1;
            39             count+=n1-i+1;
            40         }
            41     }
            42 }
            43 
            44 void merge_sort(int a[],int p,int r)
            45 {
            46     if(p<r)
            47     {
            48         int q=(p+r)/2;
            49         merge_sort(a,p,q);
            50         merge_sort(a,q+1,r);
            51         merge(a,p,q,r);
            52     }
            53 }
            54 
            55 int main()
            56 {
            57     int n;
            58     scanf("%d",&n);
            59     while(n!=0)
            60     {
            61         for(int i=0;i<n;i++)
            62         {
            63             scanf("%d",&num[i]);
            64         }
            65         merge_sort(num,0,n-1);
            66         printf("%lld\n",count);
            67         count=0;
            68         scanf("%d",&n);
            69     }
            70 }

            posted @ 2009-12-17 14:00 ACTime 閱讀(2681) | 評論 (0)編輯 收藏

            婷婷伊人久久大香线蕉AV| 97超级碰碰碰碰久久久久| 亚洲AⅤ优女AV综合久久久| 久久丝袜精品中文字幕| 一本色综合久久| 色婷婷久久综合中文久久蜜桃av | 久久久久久免费一区二区三区| 久久综合久久综合久久综合| 日批日出水久久亚洲精品tv| 久久Av无码精品人妻系列| 国内精品久久久久国产盗摄| 久久精品国产亚洲AV不卡| 国产精品一区二区久久精品无码 | 精品一久久香蕉国产线看播放| 亚洲欧美一级久久精品| 好久久免费视频高清| 亚洲伊人久久大香线蕉综合图片| 97久久精品人人澡人人爽| 久久婷婷五月综合色高清| 久久夜色精品国产| 精品人妻伦九区久久AAA片69 | 久久播电影网| 岛国搬运www久久| 99精品久久精品一区二区| 日韩精品久久久久久免费| 久久精品国产亚洲av麻豆图片| 亚洲国产小视频精品久久久三级| 精品久久久久久久久久久久久久久| 精品久久久久久成人AV| 久久免费的精品国产V∧| 亚洲AV无码成人网站久久精品大| 一级女性全黄久久生活片免费 | 日本五月天婷久久网站| 久久久亚洲精品蜜桃臀| 久久久久久毛片免费看| 国产无套内射久久久国产| 国产一区二区精品久久岳| 国产成人久久精品二区三区| 99久久精品国产一区二区三区| 国产精品免费久久| 久久久久国产精品三级网|