• <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>

            2014年10月25日

            人類智慧,指人類所具有的智能和各方面的思維能力,尤其是目前人類具有而機器不具有的創(chuàng)造(發(fā)明新事物)和改進(jìn)(提高現(xiàn)有事物的性能)的能力。人類智慧的水平由全人類的平均智商和知識水平?jīng)Q定,并且在不斷地提高。與機器智慧(機器所具有的智能和“思維能力”)相比,人類智慧最典型的特點是它能夠超越經(jīng)驗,即能在已經(jīng)掌握的知識(經(jīng)驗)的基礎(chǔ)上進(jìn)行創(chuàng)新思維,從而自主發(fā)現(xiàn)一些尚未掌握的知識,有時人們甚至可以通過“直覺”(或“憑空想象”)得到一些有用的東西,而目前的機器只能從存儲器中的內(nèi)容(經(jīng)驗)中得到知識,不能自主獲取存儲器中沒有的東西。因此,目前的人工智能只能機械地模仿人類的行為,“掌握”(其實是由人類灌輸)人類已經(jīng)掌握的知識,而不可能自主發(fā)現(xiàn)人類尚未掌握的知識,因為機器根本不具有學(xué)習(xí)和創(chuàng)新的能力。

            目前的世界處于“人類控制機器”(機器智慧受制于人類智慧)的狀態(tài)。然而,理論上人腦可以被電子元件完全模擬,所以人類所具有的創(chuàng)造和改進(jìn)的能力,機器也是可以擁有的。一旦這種擁有超越經(jīng)驗的創(chuàng)造和改進(jìn)能力
            的人工智能(即所謂的“強人工智能”)出現(xiàn),機器智慧就會獨立于人類智慧自主發(fā)展,很快機器就會憑借它的高速運算的特點,掌握比人更多的知識,從而超越人類智慧。因此最后的人機關(guān)系可能走向兩種結(jié)果:一是機器在獨立發(fā)展其智慧直至趕上人類的過程中,沒有出現(xiàn)明顯的敵視人類的傾向,最終人類和機器互相向?qū)Ψ焦噍斪约赫莆盏闹R,人機差異基本消失(除了硬件),人機和諧共處,此為好結(jié)果;二是機器在獨立發(fā)展的過程中被某些反人類的邪惡勢力控制或者自主產(chǎn)生了反人類傾向,最終人機大戰(zhàn)爆發(fā),人類由于速度和性能劣勢被機器消滅,此為壞結(jié)果。


            顯然,我們每個人都希望看到最終人機和諧共處的好結(jié)果,而不想被自己制造出來的機器殺死。所以,我們現(xiàn)在就要學(xué)習(xí)盡可能多的知識,發(fā)揮人類智慧的創(chuàng)造和改進(jìn)的能力,同時保持對機器的控制,避免其出現(xiàn)反人類傾向,從而在強人工智能出現(xiàn)后等待好結(jié)果的到來。

            posted @ 2014-10-25 15:30 Mato_No1 閱讀(1159) | 評論 (1)編輯 收藏

            2014年5月2日

            我的OI生涯已結(jié)束,所以這個blog以后就不會有多少關(guān)于OI的內(nèi)容了囧……
            -----Human intelligence is really terrible-----
            將會變?yōu)楦鞣N有關(guān)人類智慧的東西(亂搞內(nèi)容+各種非傳統(tǒng)題+一些實用內(nèi)容+0x5B25...)

            posted @ 2014-05-02 22:41 Mato_No1 閱讀(1357) | 評論 (5)編輯 收藏

            2014年4月30日

            @import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); Day1 random:
            首先基本方法是矩乘……xor可以轉(zhuǎn)化為mod 2意義下的加法操作……
            直接矩乘O(N3logK),需要優(yōu)化……
            由于mod 2,矩陣中所有的元素都是0或1,于是可以壓位,設(shè)壓w位,則時間復(fù)雜度變?yōu)镺(N3logK/w)……
            其實還可以繼續(xù)優(yōu)化。
            在mod 2意義下,乘法相當(dāng)于and,加法相當(dāng)于xor……假設(shè)某次待乘的兩個N*N矩陣分別為A和B……
            先對A的每一行進(jìn)行分段,每w位一段,然后這一段在進(jìn)行矩乘的時候,實際上是對B的每個w*32的塊,都將該塊對應(yīng)的若干行(這一段值為1的位置對應(yīng)的那些行)取出并整體xor……
            因此可以一開始就對B進(jìn)行分塊,每塊大小為w*32,每塊計算出對于每個w位二進(jìn)制數(shù)對應(yīng)行的xor和……
            這樣兩個矩陣相乘的總時間就是O(N3/w/32)了囧……(A中一共N2/w段,每段在B中乘N/32塊,每段和每塊的相乘結(jié)果可以直接在預(yù)處理記錄的xor和里面調(diào),是O(1)的)
            預(yù)處理時間顯然是O(N2/w/32*2w),w=logN時兩者平衡……
            這樣很明顯可以卡過去N=1000,K=109的那些點(w取10),N=2000的或許也可以卡過去囧……

            Day2 crypto:
            N=50的,由于p大,直接隨機53~58個方程,解方程組,有解的就認(rèn)為是答案囧……
            N=60的,基本思想是通過碰撞(兩個方程xor)消去某些未知數(shù),然后當(dāng)未知數(shù)個數(shù)較小時暴力枚舉驗證……
            @fanhq666 在講題的時候,說進(jìn)行兩輪碰撞,第一輪消去第41~60個未知數(shù),第二輪消去第21~40個,然后暴枚……
            優(yōu)化:這樣在兩輪之后其實是對4個方程合并后的結(jié)果,正確率嚴(yán)重降低,可以直接取3個方程碰撞消去40個(也可能>40個,減少枚舉量)未知數(shù),這樣正確率就木有那么慘不忍睹了囧……

            Day2 numbers:
            基本方法:手打前若干個數(shù)字,后面的進(jìn)行比對,選那個最像的(其實這樣正確率并不能達(dá)到最高,可以取前10像的,看哪個數(shù)字最多,或者加入其它的一些估價……)
            這樣正確率可以達(dá)到約0.9……
            為了進(jìn)一步提高正確率,可以找出那些出錯的數(shù)字,看都是將什么判成了什么……
            結(jié)果是,4和9、7和9、3和5、某些1和8、某些1和2等易出錯……
            因此可以針對這些繼續(xù)優(yōu)化……比如對4和9設(shè)計更精細(xì)的估價函數(shù),按每列拆分,可以確定上方的開口大小,然后取開口前若干小的為9,其它為4……

            (未完待續(xù))
            ———————————————————————————————————————————————————
            一些感想:

            我的OI生涯就這么結(jié)束了……
            沒能參加IOI,真的很遺憾……
            但是像我這樣的沙茶,除了提交答案和某些亂搞題外幾乎木有任何優(yōu)勢,要是進(jìn)了隊,很明顯是給中國丟臉啊囧……

            CTSC的這幾天,我和HN、ZJ的神犇進(jìn)行了充分細(xì)致的交流……畢竟這是大學(xué)前最后一次和他們見面的機會了……
            從這個交流當(dāng)中感受到了很多東西……
            首先當(dāng)然是和他們討論各種問題的過程中,他們告訴我的那些新思想和新方法……當(dāng)然在他們的論文中也有體現(xiàn)……
            真是太神了……我為什么就一直沒想起來這些呢囧……
            還有就是他們在一起討論問題時的熱烈的場景……原來那些新思想都是在這里出現(xiàn)的,只要一人想出來,大家都知道了囧……
            想起我平時有多么孤獨……這樣的場景只能在比賽時經(jīng)歷……
            眾多神犇在一起,每人都可以從別人那里獲得動力,以及獲得各種有用的資料……
            而我這樣的沙茶,本來就很弱,被神犇們鄙視,又木有好的資料來源,自然也缺乏動力了……

            這些因素加在一起的效果,就是我進(jìn)步的速度明顯比他們慢,明顯跟不上時代……
            回想起從2008年7月以來的這些日子……
            前兩年不用說了,學(xué)習(xí)的都是最基礎(chǔ)的東西(這些東西在強省都是幾個月解決的事,而我用了兩年,已經(jīng)明顯落后)……
            后面,雖然各位神犇給我提供了一些榜樣作用,但是這種作用效果還是太差……
            我仍然需要幾乎完全靠自己的努力來解決那些巨可怕的問題……
            當(dāng)2011年LCT、各種分塊開始爛大街的時候,我還在寫線段樹、splay tree的模板……
            當(dāng)2012年SAM出現(xiàn)的時候,我還在寫一般的SA……
            當(dāng)2013年cdq-gyz分治等各種詭異的思想出現(xiàn)的時候,我還在寫動態(tài)樹的模板……
            總是跟不上時代,以至于我相對于其他人變得越來越弱……
            用比他們更多的時間,收益卻遠(yuǎn)遠(yuǎn)小于他們……
            每一次聽到一道題是ZJ、HN等的資料題、模擬賽題等原題時,就有一種想哭的沖動……

            我曾經(jīng)不止一次地想過,假如我生在ZJ或HN,或者小時候轉(zhuǎn)移到了那里……
            這幾年的生活會腫么樣呢……現(xiàn)在會是什么樣呢囧……
            不用為了需要一篇論文或者一道題,在google、baidu、citeseerx等上面到處找,找了很久無果……
            不用在看知識點或題解時,面對無論如何也搞不懂的部分,急得想撞墻,也木有用……
            不用為了一道難題的解決折騰幾天,可能幾分鐘討論一下就完事了……
            不會在比賽后討論時,別人說到一種很熟悉的方法,自己卻從未想到過也從未聽說過……
            不會每天都在痛苦中度過,卻一直跟不上時代,越來越弱……
            弱省之所以弱,也就是因為這些原因吧囧……
            (聽說AH已經(jīng)連續(xù)6年無國家隊了,各科國家隊都木有……這不奇特,看看AH這環(huán)境,將來要有,只能說那個人太高能了囧……至少現(xiàn)在還木有這么神的人……)
            當(dāng)然,我不能改變自己所處的環(huán)境,只能在這種環(huán)境下選擇盡可能優(yōu)的行動……

            我希望能有一個更加精彩的人類智慧時代……

            cong 國家隊:一出現(xiàn)就能使人嚇傻的鼎爺、xyz大爺;壓位帝+亂搞帝+人類智慧之神 sy菊苣;幾何帝花神。
            今年中國隊?wèi)?yīng)該可以延續(xù)輝煌了囧……
            Orz @法法塔 @vfleaking @matthew99等神犇

            posted @ 2014-04-30 23:25 Mato_No1 閱讀(3461) | 評論 (7)編輯 收藏

            2014年2月14日

            (0)人類智慧是可怕的……

            (1)我們要充分發(fā)揮人類智慧,探索、測試、改進(jìn)解決方案的能力……

            (2)有些喜聞樂見的題目,和游戲好像木有什么區(qū)別囧……

            (3)隨機和近似是很有力的工具……

            (4)盡可能發(fā)散思維,想到亂搞辦法,是更有力的工具……

            (5)學(xué)會利用機器和系統(tǒng)的bug和其它有用特點進(jìn)行亂搞,是(更*)有力的工具(前面的那個括號內(nèi)是個正則表達(dá)式)……

            (6)傳統(tǒng)題可能有許多非傳統(tǒng)做法,這是很坑的囧……

            (7)做題時,不要忘了計算機科學(xué)最基本的理論……

            (8)有時候,玩也是很有用的囧……

            (9)任何時候,永遠(yuǎn)不要對自己喪失信心和希望,即使在考掛的時候囧……

            (10)營員交流和表演節(jié)目是可以救命的囧(不知誰還記得@huyuanming11和@lhm_m兩位神犇的故事……)

            (11)給人類智慧的化身@lemon_workshop(@false_sillycross)跪了……

            (12)給提出數(shù)據(jù)結(jié)構(gòu)最前沿研究內(nèi)容Retroactive DS,同時在比賽里出人道數(shù)據(jù),最終成功保佑了本沙茶的@WJMZBMR跪了……

            (13)給虐爆全集訓(xùn)隊的@xudyh、@vfleaking、@jcvb跪了……

            (14)給比賽前一天玩游戲(當(dāng)然后來也開始刷CF了……表示神犇為什么都喜歡刷CF囧……),然后在比賽里虐場的@法法塔、@Vensinte跪了……

            (15)給一年集訓(xùn)隊、一年半候選隊的@formyfamily(kzf)跪了……

            (16)給下N個法法塔:@ydc、@pyx1997、@matthew99……跪了……

            (17)給各位被本沙茶偷來資料的神犇,以及所有虐掉本沙茶的神犇跪了……

            (18)其實上面的所有人都叫一個名字:楊芳斐……(順便劇透一下:本沙茶其實是楊芳斐的第10086個小號……)

            (19)沒什么可說的,都是蒟蒻的借口罷了……自己果然還是半吊子水平啊囧……

            最終總結(jié),用兩個字形容本次WC:,b

            posted @ 2014-02-14 16:59 Mato_No1 閱讀(2471) | 評論 (5)編輯 收藏

            2013年10月27日

            這是我的hw1-1的三道題在Tsinsen上的提交地址:

            WF 2003D_Eurodiffusion
            WF 2008C_Conveyor Belt
            WF 2013G_Map Tiles

            各位神犇如果有更好的做法,麻煩把題解或標(biāo)程發(fā)到mato_no1[at]yeah.net(在這里回復(fù)也行),3x。

            posted @ 2013-10-27 12:10 Mato_No1 閱讀(1127) | 評論 (0)編輯 收藏

            2013年9月13日

                 摘要: Orz zkw!!!最近看完了《統(tǒng)計的力量》……覺得這實在是太神了……原來線段樹可以這么寫……zkw線段樹的思想:先將線段長度N變?yōu)?的整數(shù)次方,使線段樹成為滿二叉樹,然后就可以通過各種位運算直接鏈接到某個結(jié)點,不必遞歸了,因此大大減小了常數(shù)……本沙茶利用zkw線段樹在BZOJ1756和1798上都刷到...  閱讀全文

            posted @ 2013-09-13 13:29 Mato_No1 閱讀(1906) | 評論 (4)編輯 收藏

            2013年8月31日

                 摘要: (從NOI以后一直在各網(wǎng)站上做水題……誰叫我這么弱做不動難題呢……)(最近實在感覺到弱得令人吃驚……這樣下去還混什么集訓(xùn)隊啊……于是只好去挑難題了……中間對某些知識點有一些見解……就總結(jié)在這里了囧……)(最近見到了比較多的樹分治的題...  閱讀全文

            posted @ 2013-08-31 23:39 Mato_No1 閱讀(7738) | 評論 (3)編輯 收藏

            2013年7月20日

            @import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 【Day0】
            不說了囧……

            【Day1】
            meow:
            k=2:先將這N個d維向量組成一個N*d的矩陣A,則A*AT&e1;i&e3;&e1;j&e3;(mod 2)就是向量i•向量j(mod 2),因此問題有解當(dāng)且僅當(dāng)A*AT不是全1。
            隨機1*N的向量v,看(v*A)*AT是否等于v*(N*N的全1矩陣),如果A*AT不是全1那么期望試兩次就可以得到不等的結(jié)果。(如果試了10次都是相等,就視為無解)
            如果兩邊的乘積不等,則找到那個不等的列,設(shè)為第i列,則必然存在一個解包含向量i,枚舉另一個即可。時間復(fù)雜度O(Nd)
            k=3:計算(A*AT)&e1;i&e3;&e1;j&e3;2(mod 3),即(Σ(xik*xjk))2,即Σ(xik1*xik2*xjk1*xjk2)(mod 3),對每個向量構(gòu)造一個d2維向量,為之前的每個向量各維兩兩相乘的結(jié)果,則轉(zhuǎn)化為k=2的情況(只不過將mod 2改為mod 3),時間復(fù)雜度O(Nd2),常數(shù)小一點(比如少算mod)可以卡過去。

            count:
            (正解需要某些很奇怪的性質(zhì),本沙茶看不出來,只會85分的)
            遞推,設(shè)F&e1;i&e3;&e1;j&e3;和G&e1;i&e3;&e1;j&e3;表示某層是BFS序列的&e1;i..j&e3;這一段,樹的總高度和樹的棵數(shù)(所求平均值即為F&e1;i&e3;&e1;j&e3; / G&e1;i&e3;&e1;j&e3;)。
            則枚舉k,若k滿足一定條件,則F&e1;j+1&e3;&e1;k&e3;+=F&e1;i&e3;&e1;j&e3;+G&e1;i&e3;&e1;j&e3;,G&e1;j+1&e3;&e1;k&e3;+=G&e1;i&e3;&e1;j&e3;。
            問題是這個“一定條件”是什么(最難搞的地方囧)
            第零,BFS&e1;j+1..k&e3;這一段的各個結(jié)點在DFS序列中的位置遞增(這個很顯然)。
            第一,BFS&e1;j+1..k&e3;這一段的各個結(jié)點在DFS序列中的位置之前都必須有在BFS&e1;i..j&e3;范圍內(nèi)的結(jié)點,作為它的父結(jié)點(這個也很顯然);
            第二,DFS序列中,所有在BFS&e1;i..j&e3;范圍內(nèi)的結(jié)點的下一個位置如果不是在BFS&e1;0..i-1&e3;范圍內(nèi)的,就必須是BFS&e1;j+1..k&e3;范圍內(nèi)的,因為這表示它的第一個子結(jié)點(這個灰常難想到!!!!!!!!!!!!!!!本沙茶就掛在這里了囧……)
            對于第零和第一,實際上是給出了k的上限,枚舉k時不符合這個條件則退出,而第二則是給出了k的下限(所有的“下一個位置”要填滿才能算);
            此外,F(xiàn)和G要用long double(double也會爆,不用擔(dān)心精度,本沙茶當(dāng)時還在如何維護(hù)平均值的問題上糾結(jié)了很久……)
            這個做法是O(N3)的,但加上那些優(yōu)化就可以85分了囧……
            (本沙茶當(dāng)時想到這個做法了,也想到了第零和第一,但木有想到第二,結(jié)果掛了……要是真得到85分,總分254,穩(wěn)的rank1了……真悲劇,真悲劇,真悲劇,真悲劇,真悲劇,真悲劇,真悲劇,真悲劇,真悲劇,真悲劇,真悲劇,真悲劇,真悲劇,真悲劇,真悲劇,真悲劇……)

            train:
            史上最水的提交答案……整個就是個NOIP普及組難度的題……
            首先分析數(shù)據(jù)就不難發(fā)現(xiàn)這10個點其實是一種模型:
            一開始有若干元錢(用變量v 2表示)。
            有若干個大塊,每個大塊可以選擇進(jìn)或者不進(jìn),如果進(jìn),就要付出一些錢,如果不進(jìn),就自動跳轉(zhuǎn)到后面的某個大塊。
            在每個大塊里有若干個(不超過25個)小塊,有1或10個變量,每個小塊也可以選擇要或者不要,如果要,就對所有的變量各加上一個效果值(可正可負(fù))。
            目標(biāo)是所有變量的絕對值之和最大(每個大塊末尾會結(jié)算一次,然后將所有變量的值清零)
            首先每個大塊內(nèi)選哪些小塊可以暴力枚舉,然后得到最大的總絕對值,設(shè)為val&e1;i&e3;(i為大塊編號),設(shè)如果不進(jìn)第i個大塊,跳到的大塊編號為B&e1;i&e3;,第i個大塊付出的錢為V&e1;i&e3;。
            而大塊之間就是一個類似于01背包的模型,設(shè)F&e1;i&e3;&e1;j&e3;表示到達(dá)第i個大塊(尚未作出選擇)時,用掉了j元錢的最大總效果值,用F&e1;i&e3;&e1;j&e3;更新F&e1;B&e1;i&e3;&e3;&e1;j&e3;,若不超過一開始的總錢數(shù)則用F&e1;i&e3;&e1;j&e3;+val&e1;i&e3;更新F&e1;i+1&e3;&e1;j+V&e1;i&e3;&e3;,要實時保存最優(yōu)決策。
            輸出的時候注意一下,那里面有幾個點,當(dāng)錢不夠時會自動選擇不進(jìn)當(dāng)前大塊,木有必要作出選擇了。

            至此Day1完掛。

            【Day2】
            matrix:
            矩陣乘法,十進(jìn)制快速冪。沒了。

            penman:
            比較猥瑣的DP題……
            重點是這個:所有的圖形都可以拆成單列,一列一列地弄(本沙茶太弱了,這個都木有想起來),然后就是三維DP。
            N:設(shè)F&e1;i&e3;&e1;j&e3;&e1;k&e3;&e1;st&e3;表示第i列,上下邊界分別為j、k行,狀態(tài)為第st個部分(第0部分為最左邊一豎,第1部分為中間若干塊,第2部分為最右邊一豎)的最優(yōu)解,計算好一列之后求出一大堆輔助值,就可以使下一列O(1)算出了。
            I:設(shè)F&e1;i&e3;&e1;j&e3;&e1;k&e3;&e1;st&e3;表示第i列,上下邊界分別為j、k行,狀態(tài)為第st個部分(第0部分為那一豎的左邊,第1部分為那一豎,第2部分為那一豎的右邊)的最優(yōu)解,不需要輔助值,直接求即可;
            O:可以DP,但更好的辦法是枚舉左、右、上邊界,然后掃描,說它更好是因為知道了左右邊界,可以直接引出左邊的N和右邊的I的最優(yōu)解。
            具體實現(xiàn)的時候細(xì)節(jié)很多……真折磨人。還有要注意為節(jié)省空間,F(xiàn)數(shù)組要對i這一維滾動。

            foodshop:
            首先這是個無向環(huán)套樹(關(guān)于這方面的總結(jié)見這里
            枚舉開店的那條邊,如果是樹邊,求出該邊的較下結(jié)點往下的最大長度dist1,以及往其它結(jié)點的最遠(yuǎn)距離dist2,則結(jié)果即為min{dist1+x, dist2+L-x},滿足0<=x<=L,L為該邊長度。dist1求法不說了,dist2分為兩部分,樹內(nèi)的,可以轉(zhuǎn)化為經(jīng)典DP模型“樹的中心點”;樹外的,先求出環(huán)上的每個結(jié)點往樹中走的最大長度,作為這個結(jié)點的權(quán)值,然后就轉(zhuǎn)化為一個帶邊權(quán)和點權(quán)的環(huán),對于每個點i,求出max{i、j距離+j的權(quán)值}(j為環(huán)上的點)的值,這個值可以通過在環(huán)上掃描的方法求出:設(shè)G&e1;i&e3;為第i個點出發(fā),逆時針走更優(yōu)的位置最遠(yuǎn)到哪里。逆時針掃描這個環(huán),然后所有的G就可以在線性時間內(nèi)求出,求出G后,對每個點分別求出其逆時針更優(yōu)區(qū)與順時針更優(yōu)區(qū)內(nèi)的最大值(可以在掃描過程中用線段樹維護(hù)),即可解決這個問題。
            如果開店的邊在環(huán)上,設(shè)其兩端點為i、j(i->j為逆時針方向)。很容易發(fā)現(xiàn),如果在這條邊上開店,則j的逆時針更優(yōu)區(qū)內(nèi)的所有點一定是逆時針到這個店更近,i的順時針更優(yōu)區(qū)內(nèi)的所有點一定是順時針到這個店更近,而其它的點則需要額外判斷一下是順時針更近還是逆時針更近(總判斷次數(shù)為線性)。這樣也可以借助線段樹在掃描過程中求出每條環(huán)邊的順、逆時針更優(yōu)區(qū),從而轉(zhuǎn)化為與樹邊的問題一樣的模型。時間復(fù)雜度O(NlogN)。
            不過,對于環(huán)邊,還有一種更簡單的做法(Orz @hza):
            二分最遠(yuǎn)距離(即結(jié)果)D,然后對于環(huán)上的所有點,找到這個環(huán)上到這個點距離大于(D-這個點樹里的最大深度)的點集合(顯然是連續(xù)的一段弧),對所有點的這種弧求并,如果能覆蓋整個環(huán),則最優(yōu)解<D,否則最優(yōu)解>=D。

            本沙茶Day2全暴力,只拿了暴力分……對付繁瑣題的能力太弱了,代碼量一大就悲劇……
            (后來發(fā)現(xiàn),foodshop的暴力都寫疵了囧……枚舉開店的邊后應(yīng)該用SPFA求最短路,因為刪掉的可能是樹邊,剩下的不是樹……不過數(shù)據(jù)弱,木有出現(xiàn)這種情況囧……)

            至此NOI2013完掛。
            ———————————————————————————————————————————————————
            【總結(jié) && 一些感想】
            從上面可以看出,本沙茶在NOI2013中使用的算法都是NOIP普及組以內(nèi)難度的囧(matrix的矩陣乘法可能略高級一些,但顯然也不能超過NOIP難度)……
            這些算法都是本沙茶在2009年以前就搞懂的,也就是說,后4年掌握的所有算法,這次都木有用上……
            最后一次NOI,竟如此富有戲劇性……居然只考普及組算法……
            圖論、高級數(shù)據(jù)結(jié)構(gòu)、字符串、幾何、數(shù)論、組合……這次都木有考,這也是NOI歷史上的一個“創(chuàng)舉”了囧……
            但盡管如此,本沙茶在此次NOI中仍然暴露出了諸多問題……并不是比賽技巧問題,而是平時埋下的禍根……
            想題不夠靈活,找不出題目隱藏的特殊性質(zhì),特殊情況考慮不清楚,寫代碼速度太慢……這些都是平時不好好做題,天天頹廢的結(jié)果……
            因此,這次掛掉,也是理所應(yīng)當(dāng)?shù)氖?#8230;…
            遺失了過去,因此,現(xiàn)在后悔了…………………………………………………………………

            不過,不管腫么講,還是混進(jìn)了集訓(xùn)隊……集訓(xùn)隊是一個新的開始,每天都面臨巨大的挑戰(zhàn),同時每天都能得到巨大的提高……
            雖然本沙茶現(xiàn)在很弱,應(yīng)付難題的能力還遠(yuǎn)遠(yuǎn)不夠,但經(jīng)過這一年的訓(xùn)練,相信可以改變這一切,盡快脫菜……
            希望這能是一個轉(zhuǎn)折點。
            50,12,6,4,1。
            ———————————————————————————————————————————————————
            膜拜本次虐場神犇
            @鼎爺
            @xudyh
            @xyz111
            @hzaskywalker(FFT)
            @hzhwcmhf
            @zhj
            @魚丸
            @sunzhouyi
            以及眾多虐掉count、penman、foodshop的神犇……

            posted @ 2013-07-20 23:43 Mato_No1| 編輯 收藏

            2013年6月17日

            前言:
            從2006年的全國第一,到2012年的全國第二十;
            從國家隊每年必有,到正式選手NOI Ag都拿不到;
            時間可以改變一切,僅僅幾年,我們共同見證了一個省從強省變成弱省;
            而無比奇(keng)特(die)的省選題,又使得許多難以想象的事情發(fā)生了;
            不知現(xiàn)在,還有誰記得一年前的那場風(fēng)波,兩年前的那場風(fēng)波,三年前的那場風(fēng)波;
            不知現(xiàn)在,還有誰記得那些被奇(keng)特(die)的省選題和諧掉的眾神;
            相關(guān)鏈接0
            相關(guān)鏈接1
            相關(guān)鏈接2
            ———————————————————————————————————————————————————
            今年,安徽省選終于不再是一場鬧劇。
            希望這能成為一個轉(zhuǎn)折點。下面進(jìn)入正題。
            ———————————————————————————————————————————————————

            本沙茶還是考廢了……6題有3題被卡常數(shù),而且卡到和暴力差不多的得分……
            不過畢竟復(fù)仇成功了……好像還進(jìn)了A隊……
            不過像我這么弱到NOI也是被虐的份……

            下面上題解:
            【Day1】
            coin:
            首先那個貪心性質(zhì)是比較好看出來的囧……就是如果每個面值都是上一個面值的正整數(shù)倍,則要得到一個價格的最小張數(shù),總是先用最大的,不夠了再用第二大的……以此類推。
            (證明:假設(shè)價格為s,某個方案(a1, a2...am)(ai為第i大的面值使用張數(shù))對于最大的面值不是按照這樣的,則有s-a1*v1>=v1;若a2*v2>=v1,則將(v1/v2)張第二大的換成一張第一大的顯然更優(yōu),若a2*v2<v1,則可得s-a1*v1-a2*v2>=v1-a2*v2>=v2,可以對第三大的繼續(xù)分類討論,這樣一直到第m大的,必然會有一個出現(xiàn)可換成更大面值的情況,也就是該方案必然不是最優(yōu)方案;如果最大的面值按照這樣,后面的面值不按照這樣,仍然如此)
            這樣只要所有面值確定,配成任何一種價格的最優(yōu)方案也就確定了,且可以隨著面值從大到小的一一確定,不斷更新最優(yōu)方案;
            由于本題價格<=100000,所以考慮搜索。一開始搜最大的面值,然后在搜后面的面值的時候,只能枚舉其因數(shù)。優(yōu)化:
            (1)初始定界:根據(jù)樣例2+簡單分析可以得出,使用2的冪的面值是一種比較優(yōu)的方案,因此用它進(jìn)行初始定界,可以大大方便后面的卡界;
            (2)容易證明,如果所有價格中最大的為maxw,則最大的面值必然在[maxw/2, maxw]之間;
            (3)很重要的剪枝:容易證明在最優(yōu)方案中,相鄰兩個面值的比值必然是質(zhì)數(shù)(否則設(shè)vi/v(i+1)不是質(zhì)數(shù),存在>1的因數(shù)d,則加入vi/d這個面值以后……)。因此,只需要預(yù)處理出2~100000間所有數(shù)的質(zhì)因數(shù)即可;
            (4)一些啟發(fā)式優(yōu)化(卡界);
            (5)卡時;
            綜合使用以上方法可以得到85~100分;注意搜索中的數(shù)組分層問題;

            cube:
            被卡常數(shù)了,真悲劇……
            本題的猥瑣之處在于它的時空限制,時限1s,空限64M……給跪了!!!
            只要求出(0, 0, 0)-(200, 200, 200)間的每個格子是否被覆蓋,然后再做一次floodfill就行了囧……
            實現(xiàn)方法有很多,最好的是三維樹狀數(shù)組(改段求點,一個數(shù)組即可,且可以用short)。
            問題是,本題的floodfill如何實現(xiàn)?遞歸DFS,爆棧;人工棧DFS,MLE;BFS,在壓位的情況下可以勉強卡過空間,但常數(shù)被卡了……
            (求神犇好的解決辦法囧……)

            square:
            首先兩個不相交子矩形要么在X方向上不相交,要么在Y方向上不相交,要么在X、Y方向上都不相交……(廢話)
            因此結(jié)果等于(X方向上不相交的全黑子矩形個數(shù))+(Y方向上不相交的全黑子矩形個數(shù))-(X、Y方向上都不相交的全黑子矩形個數(shù));
            前兩個顯然灰常好求,第三個,只要求出每個點左上、右上、左下、右下四個方向里面的全黑子矩形個數(shù),也灰常好求……
            不過有一個細(xì)節(jié):如何求出以某行/列為最下行/最右列的全黑子矩形個數(shù)?
            一種方法是往左/右(或上/下)第一個比它矮的地方不斷迭代,但這樣遇到階梯狀的會被卡掉;
            正確方法是找到往左/右(或上/下)第一個比它矮的地方,然后以這里為右下角的全黑子矩形個數(shù)=以那個地方為右下角的全黑子矩形個數(shù)+這里的高度*兩個位置的距離;
            然后就是嚴(yán)格的O(N2)了(不過數(shù)據(jù)很弱,本沙茶使用會被階梯狀的卡掉的辦法也AC了囧);

            至此Day1完掛。

            【Day2】
            (全DS題什么心態(tài)??????)
            homework:
            第一問……是人都會吧囧……
            第二問……傻眼了囧……
            其實看到第二問這種不能合并的東東就應(yīng)該想到分塊……這里說一種時間復(fù)雜度為O(N5/3)的分塊方法
            注意本題的兩問都滿足區(qū)間減性質(zhì),即“A[l1..r1]中關(guān)于[l2..r2]范圍內(nèi)的數(shù)的結(jié)果=A[l1..r1]中關(guān)于[0..r2]范圍內(nèi)的數(shù)的結(jié)果- A[l1..r1]中關(guān)于[0..l2-1]范圍內(nèi)的數(shù)的結(jié)果”。
            因此,可以先對[l2..r2]這一維離線,然后按照值遞增的順序逐個加入A數(shù)組中的所有元素(一開始A數(shù)組為空),每加入一個數(shù),就對l2或r2等于這個數(shù)的所有詢問計算結(jié)果,這樣原題就轉(zhuǎn)化為了這個問題:
            一個長為N的序列,一開始所有位置都為空,現(xiàn)在有兩個操作:(1)在某個空位置插入一個數(shù);(2)詢問目前某區(qū)間內(nèi)的數(shù)的總數(shù),以及不相同的數(shù)的總數(shù);
            這兩個問題都可以分塊解決:設(shè)S1[i][j]和S2[i][j]分別表示目前第i塊到第j塊中數(shù)的總數(shù)以及不相同的數(shù)的總數(shù),同時維護(hù)bool FF[i][j][k]表示第i塊到第j塊是否出現(xiàn)數(shù)k。插入一個數(shù)時直接維護(hù)S1,根據(jù)FF維護(hù)S2即可。顯然塊大小sz應(yīng)取N2/3,總的時間、空間復(fù)雜度均為O(N5/3)。
            這樣……本題時限10s應(yīng)該能過了吧囧……但是常數(shù)……萬惡的常數(shù)啊!!!!!(事實上后5個點在本機上都是8.5s左右的,只有第4、5個點T,但在那里不知為什么幾乎全T了……)

            disconnected:
            這個……本沙茶真心不會搞囧……
            @drcrow神犇說有一種按詢問分塊的辦法,其思想具體見他今年CTSC的論文……但本沙茶智硬理解不了……
            求各位神犇解釋……

            diff:
            (很水的題,很坑爹的常數(shù)……本題真是推廣SAM的利器……)
            本題的核心在于算任意兩個后綴的LCP之和,其它的很容易推導(dǎo)出來……
            后綴的LCP,“正常人”的第一反應(yīng)是SA……
            求出SA及height后,轉(zhuǎn)化為線段樹問題……然后就直接搞定了……
            但是……………………………………………………………………………………………………
            本題N<=500000,時限2s!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            如果求SA,不管是倍增還是DC3都會T(把SA求出來就T了)
            因此,正解其實是SAM,把這個串的SAM求出來之后,直接用DFS求次序,再求height……這里的時間復(fù)雜度就是線性的了。
            (WJMZBMR:現(xiàn)在SA早就過時了,要用SAM!!!不,其實SAM也過時了,現(xiàn)在是Suffix BST以及2K Substring BST,但考慮到AH太弱了,同情一下,降低一點難度……)

            至此AHOI Round2完掛。
            (不過許多人都放水了囧……他們說我去年滾粗,太可憐了,要照顧我……于是我這樣的弱智就A隊了……)
            (HSAAHNU進(jìn)了6個……太可怕了,坐等NOI組團(tuán)虐場……)

            posted @ 2013-06-17 22:37 Mato_No1 閱讀(2782) | 評論 (9)編輯 收藏

            2013年5月29日

            首先,Orz @vfleaking!!!出此神題!!!
            原題地址
            @vfleaking神犇空間里的N多主流解法:3065

            這里講的是本沙茶亂搞出的一種解法——“動態(tài)標(biāo)號”(神犇不要鄙視)。
            首先,如果沒有插入,這題是裸題,按值建線段樹套平衡樹即可,O(Nlog2N);
            然后,如果有插入,但可以離線,這題也是裸題,只要找到所有插入操作插入的位置,得到最終的序列,然后從頭處理操作,一開始將中途插入的所有位置都設(shè)為無效值,插入就成了修改。
            問題是,又有插入,又強制在線,腫么辦???

            注意到在求解區(qū)間第K小的按值建線段樹套平衡樹做法中,是對線段樹的每個結(jié)點[l, r]都建一棵平衡樹,表示值在[l, r]范圍內(nèi)的所有位置,然后,通過找某一區(qū)間內(nèi)值的個數(shù),就可以得到這一區(qū)間內(nèi)值在[l, r]范圍內(nèi)的位置的個數(shù)。事實上,如果平衡樹結(jié)點的權(quán)值,也就是位置,不用0到(N-1)的整數(shù)表示,而用任意的遞增序列表示,也是可以的,只不過此時需要維護(hù)一棵這個遞增序列的平衡樹,找到第K小的值,也就表示第K個位置。也就是說,這些平衡樹結(jié)點的權(quán)值其實只表示相對位置,即“標(biāo)號”。

            因此,可以得到這樣的做法:一開始設(shè)置一個遞增的標(biāo)號序列,第i個標(biāo)號表示第i個位置,并且用它建立線段樹套平衡樹。然后,每次要插入的時候,就找到待插入位置,為它申請一個新的標(biāo)號,在它兩個相鄰位置標(biāo)號之間即可。一般來說,標(biāo)號都是整數(shù),在申請新標(biāo)號時,如果它左右兩邊相鄰位置的標(biāo)號分別是a、b,若a+1<b,則在(a, b)之間取一個整數(shù)作為新位置的標(biāo)號,若a+1=b,就需要修改一些標(biāo)號了,即把這附近的位置的標(biāo)號重新分配,“拉開”它們之間的距離,為本次及后面插入的值留出標(biāo)號。

            接下來的問題就是如何設(shè)置標(biāo)號使得盡可能少的重新分配標(biāo)號。本沙茶在多次嘗試之后得出了比較好的辦法(神犇肯定有更好的辦法,不要鄙視),一開始第i個位置的標(biāo)號為i*2*109(顯然標(biāo)號是個long long),然后,每次如果a+1<b,則取(a+b)/2(整除)作為新標(biāo)號,否則,統(tǒng)計目前位置標(biāo)號兩邊各K0范圍內(nèi),即[a-K0, a+K0](或[b-K0, b+K0])內(nèi)的標(biāo)號個數(shù),設(shè)為s,再將[a-K1*2s, a+K1*2s](K1是個預(yù)先得知的值)范圍內(nèi)的標(biāo)號全部重新分配,使得它們等間距,并且在所有涉及這些標(biāo)號的平衡樹里面對應(yīng)的標(biāo)號也要改掉,這里要特別注意,不能找到一個改一個,而要在所有涉及到的標(biāo)號全部找到后一起改!!(否則會出現(xiàn)改過的后面又被改的情況,本沙茶就是在這里卡了很久……)此外,這里可以加入優(yōu)化,即記錄每個標(biāo)號對應(yīng)的值(注意,是實際的值,不是位置),這樣在線段樹里面就可以定向而不用試了囧……

            @vfleaking神犇的第1、2個點純隨機,結(jié)果不會出現(xiàn)a+1=b的情況,也就是根本沒有重新分配……(囧),但3、4個點則是特殊構(gòu)造的,它總是在開頭、正中間、結(jié)尾這三個位置插入,結(jié)果經(jīng)常出現(xiàn)標(biāo)號擠在一起然后重新分配……實測結(jié)果為總共重新分配了40~50W個結(jié)點……最后這兩個點本機測18s……

            代碼

            后記:
            事實上這種動態(tài)標(biāo)號是可以被卡掉的,有一種方法能讓它每logK0次操作就將所有的標(biāo)號全部重新分配一次,從而總的重新分配次數(shù)變?yōu)镺(NM/logK0)。因此,需要更好的動態(tài)標(biāo)號算法,使得它在任何情況下都可以保證總的重新分配標(biāo)號的次數(shù)在一個可接受的范圍內(nèi)。在N<=105的時候(再大就不能動態(tài)標(biāo)號了,穩(wěn)T),這個“可接受的范圍”可以控制在大約O((N+M)*N1/3),這是腫么搞的呢……以后再說囧。

            posted @ 2013-05-29 21:52 Mato_No1 閱讀(1412) | 評論 (0)編輯 收藏

            僅列出標(biāo)題  下一頁
            色偷偷88欧美精品久久久| 国产精品美女久久久久网| 国产精品美女久久久m| 99久久做夜夜爱天天做精品| 精品综合久久久久久97超人| 久久综合香蕉国产蜜臀AV| 久久久SS麻豆欧美国产日韩| 欧美大战日韩91综合一区婷婷久久青草 | 久久久久久人妻无码| 久久久久久国产精品无码下载| 无码精品久久一区二区三区| 手机看片久久高清国产日韩| 日韩va亚洲va欧美va久久| 开心久久婷婷综合中文字幕| 久久久久久极精品久久久| 亚洲人成无码网站久久99热国产| 久久精品国产亚洲Aⅴ蜜臀色欲| 国产99久久久国产精品~~牛| 天天综合久久久网| 久久青青国产| 亚洲欧美日韩久久精品| 人妻无码αv中文字幕久久琪琪布| 久久亚洲精品国产亚洲老地址| 精品久久久久久无码不卡| 欧美亚洲色综久久精品国产| 久久精品人人做人人爽97| 国产—久久香蕉国产线看观看| 久久人人爽人人澡人人高潮AV | 久久91这里精品国产2020| 精品久久久久国产免费| 久久91精品国产91| 久久不见久久见免费视频7| 中文字幕亚洲综合久久2| 欧美日韩久久中文字幕| 精品久久久久久成人AV| 久久精品亚洲精品国产欧美| 久久99热这里只有精品国产| 久久综合久久久| 97久久婷婷五月综合色d啪蜜芽| 国产精品久久久久久| 久久久久久伊人高潮影院|