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

            【復仇之戰】AHOI2013 Round2 總結

            Posted on 2013-06-17 22:37 Mato_No1 閱讀(2781) 評論(9)  編輯 收藏 引用 所屬分類: AHOI
            前言:
            從2006年的全國第一,到2012年的全國第二十;
            從國家隊每年必有,到正式選手NOI Ag都拿不到;
            時間可以改變一切,僅僅幾年,我們共同見證了一個省從強省變成弱??;
            而無比奇(keng)特(die)的省選題,又使得許多難以想象的事情發生了;
            不知現在,還有誰記得一年前的那場風波,兩年前的那場風波,三年前的那場風波;
            不知現在,還有誰記得那些被奇(keng)特(die)的省選題和諧掉的眾神;
            相關鏈接0
            相關鏈接1
            相關鏈接2
            ———————————————————————————————————————————————————
            今年,安徽省選終于不再是一場鬧劇。
            希望這能成為一個轉折點。下面進入正題。
            ———————————————————————————————————————————————————

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

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

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

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

            至此Day1完掛。

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

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

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

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

            Feedback

            # re: 【復仇之戰】AHOI2013 Round2 總結  回復  更多評論   

            2013-06-19 11:25 by hza
            day2 第二題是對詢問分治。。

            # re: 【復仇之戰】AHOI2013 Round2 總結  回復  更多評論   

            2013-06-19 21:29 by **
            day2第一題離線之后MS可以樹狀數組套線段樹
            第二題先隨便弄一棵生成樹,
            對于非樹邊(x,y)在生成樹上找到x->y的路徑的所有邊值+1
            刪邊操作的話,x->y路徑的所有邊值-1,邊值小于0就不連通

            # re: 【復仇之戰】AHOI2013 Round2 總結  回復  更多評論   

            2013-06-20 10:08 by hza
            @**
            第二題這樣弄的話貌似沒比暴力好多少

            # re: 【復仇之戰】AHOI2013 Round2 總結  回復  更多評論   

            2013-06-20 18:32 by **
            @hza
            可以用LCT/樹剖維護啊

            # re: 【復仇之戰】AHOI2013 Round2 總結  回復  更多評論   

            2013-06-21 13:09 by taorunz
            day2t3 SA再用棧維護救行了

            # re: 【復仇之戰】AHOI2013 Round2 總結  回復  更多評論   

            2013-06-21 16:04 by hza
            @**
            不覺得樹鏈剖分可做。。至少我沒想出來

            # re: 【復仇之戰】AHOI2013 Round2 總結  回復  更多評論   

            2013-06-22 13:15 by **
            @hza
            判斷邊值小于0,可以維護邊值的最小值,然后打打標記

            # re: 【復仇之戰】AHOI2013 Round2 總結  回復  更多評論   

            2013-07-03 20:18 by EZ_lzh
            D2T2貌似可以樹套樹。

            # re: 【復仇之戰】AHOI2013 Round2 總結  回復  更多評論   

            2013-07-16 00:19 by ftiasch
            D2T2有每組詢問2^4的算法
            亚洲国产天堂久久综合网站| 中文字幕乱码人妻无码久久| 久久久久人妻一区精品色| 精品乱码久久久久久久| 精品久久久久久国产三级| 久久亚洲欧洲国产综合| 久久人人爽人人爽人人片av高请| 久久久久亚洲精品男人的天堂| 久久最新免费视频| 久久精品国产亚洲精品2020| 久久久久香蕉视频| 久久久久国产一级毛片高清板| 精品久久久久成人码免费动漫 | 中文字幕久久久久人妻| 91久久国产视频| 一本久久a久久精品vr综合| a级毛片无码兔费真人久久| 久久免费精品视频| 97久久超碰国产精品旧版| aaa级精品久久久国产片| 日韩十八禁一区二区久久| 欧美粉嫩小泬久久久久久久 | 国产午夜精品理论片久久| 亚洲精品tv久久久久久久久| 亚洲中文字幕久久精品无码APP | 久久久久久国产精品美女| 久久精品国产亚洲AV影院| 精品无码人妻久久久久久| 国产精品一区二区久久国产| 亚洲精品国产字幕久久不卡| 日韩电影久久久被窝网| 亚州日韩精品专区久久久| 久久人人爽人人爽人人片AV麻豆| 久久综合狠狠综合久久激情 | 久久影视国产亚洲| 精品久久久久一区二区三区 | 国产精品视频久久久| 久久亚洲私人国产精品vA| 欧美噜噜久久久XXX| 久久婷婷综合中文字幕| 97久久精品人人做人人爽|