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

            The Sun Also Rises

            Algorithm, Mathematica, 計算機科學, C++, photography, GNU/Linux的討論空間

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              73 隨筆 :: 6 文章 :: 169 評論 :: 0 Trackbacks
            Northwestern Europe 2005 Unequalled Consumption
            求最小的q, 使方程a1*x1+a2*x2+...+an*xn=q的整數解大于給定的數。
            n<=5, ai <= 10,q <= 10^15
            設該方程的解數是f(q),則f(q)未必單調,但對確定的q0, f(q0+t*a1)必然關于t單調(因為t小的時候的所有的解都可以平行移動到大的t的解)
            然后枚舉下q0(反正才10個),二分。
            問題的關鍵就是求f(q)

            利用母函數,f(q)就是母函數
            P(x) = (1 + x^a1 + x^(2*a1) + x^(3*a1) +...)(1 + x^a2 + x^(2*a2) + ...)...(1 + x^an + x^(2*an) + ...)
            的x^q項系數。
            令LCM為a1, a2...an的最小公倍數。
            則P(x) =
            (1 + x^a1 + x^(2*a1) + ... + x^(LCM - a1)) * (1 + x^LCM + x^(2 * LCM) + ...)*
            (1 + x^a2 + x^(2*a2) + ... + x^(LCM - a2)) * (1 + x^LCM + x^(2 * LCM) + ...)*
            *...*
            (1 + x^an + x^(2*an) + ... + x^(LCM - an)) * (1 + x^LCM + x^(2 * LCM) + ...)
            =
            (1 + x^a1 + x^(2*a1) + ... + x^(LCM - a1)) * (1 + x^a2 + x^(2*a2) + ... + x^(LCM - a2)) * ... *(1 + x^an + x^(2*an) + ... + x^(LCM - an)) *
            (1 + x^LCM + x^(2 * LCM) + ...)^n

            注意前一部分的x^r系數可以算出來(例如用DP)
            后一項中x^(LCM * k)的系數是C(n+k-1, n-1) (推一下就知道了)

            然后就可以得出結果了是吧~~~
            p.s. 利用推出的結論可以知道對于給定的r, f(q + LCM * t)是一個關于t的n次函數。。。所以其實可以算出所有小于n * LCM的f(q)值然后使用Langrage插值公式,這個是標程的做法。
            (其實我想知道有沒有更簡單的方法證明這是一個關于t的n次函數~)



            SPOJ 598, INCR
            求n的排列中,最長上升序列為b的排列個數。
            n<=40, b <= 5
            做法是dp, 狀態記錄n的排列中len = 2的上升序列最后元素的最早位置,len = 3的上升序列最后元素的最早位置...
            每次轉移的時候枚舉n + 1的放置位置,并計算新的狀態。
            由于有效狀態的稀疏性,可以用map / hash來優化。。。
            CODE



            Dhaka 2007 The Dumb Grocer
            題意懶得說了~
            首先要有1是吧。。。然后我們按照1的個數來分類,我們來計算恰有k個1的方案數。
            我們在k個1的基礎上加入新的數,顯然第一個數只能是k+1
            然后加入的數只能是k + 1 or 2 * (k + 1)
            如法炮制。。。發現非1的數都具有(k + 1) * t的形式。。。設其依次為(k + 1) * ti
            則{ti}這些數也滿足題目的性質。。。共有f((n - k) / (k + 1))種方案。

            設f(n)是要求的函數,則f(n) = sigma(f((n - k) / (k + 1)), (k + 1) | (n + 1) , k>=1
            f(0) = 1
            這樣直接做會T...
            我們令g(n) = f(n - 1)
            則g(n) = f(n - 1) = sigma(f((n - k - 1) / (k + 1))) = sigma(f(n / (k + 1) - 1)) = sigma(g(n / (k + 1)), (k + 1) | n, k >= 1
            設n = p1^a1 * p2^a2 * ... * pr*ar
            令h(p1, p2,.., pr, a1, a2...ar) = g(n)
            = h(p1,p2, ...pr, b1, b2, ...br),
            0<=bi <= ai, bi不全=ai
            注意對于一個確定的n,h()中的p1, p2...pr在計算過程中始終不變。。。所以。。。計算結果與pi無關,只與ai有關
            這樣狀態數就大大減少了。。。直接因式分解后dp就行了。。。
            CODE




            Dhaka 2007 You are around me ...
            首先旋轉坐標,變成平行與xy軸的橢圓,然后坐標伸縮。。。變成圓。。。最近點對。。。貼模板。。。
            ZJU2107 Quoit Design 一道測最近點對的題。




            Dhaka 2007 Magnetic Train Tracks
            給定n個點,求可以構成多少個銳角三角形。
            n <= 1200
            話說求銳角三角形不太好算是吧。。。補集轉換,我們來求鈍角/直角三角形 <=> 求鈍角/直角個數。。。
            后面的事情就簡單了,是對每個點,將其他點按照極角排序 + 掃描。
            Dhaka 2005 Counting Triangles 也是一道補集轉換的題~(轉化成求三點共線的個數)
            Shanghai 2004 Amphiphilic Carbon Molecules 也是一道極角排序+掃描的題。
            posted on 2008-01-24 15:13 FreePeter 閱讀(648) 評論(0)  編輯 收藏 引用 所屬分類: ACM/ICPC
            Creative Commons License
            This site is licensed under a Creative Commons Attribution-Share Alike 2.5 China Mainland License. 本站采用創作共用版權協議, 要求署名、相同方式共享. 轉載本站內容必須也遵循“署名-相同方式共享”的創作共用協議. This site is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
            亚洲国产成人久久综合碰碰动漫3d | 污污内射久久一区二区欧美日韩| 亚洲欧美国产精品专区久久| 东方aⅴ免费观看久久av| 蜜桃麻豆www久久| 亚洲午夜久久久久妓女影院| 国产高潮久久免费观看| 久久综合久久自在自线精品自 | 亚洲国产成人精品久久久国产成人一区二区三区综 | 无码任你躁久久久久久老妇| 成人a毛片久久免费播放| 久久免费的精品国产V∧| 中文字幕亚洲综合久久菠萝蜜| 久久中文娱乐网| AV无码久久久久不卡网站下载| 久久天天躁狠狠躁夜夜躁2014 | 麻豆AV一区二区三区久久| 漂亮人妻被中出中文字幕久久| 久久久WWW成人| 久久国产精品免费一区| yellow中文字幕久久网| 久久久久国产一级毛片高清版| 久久精品中文騷妇女内射| 五月丁香综合激情六月久久 | 91久久精品国产成人久久| 国产成人久久激情91| 男女久久久国产一区二区三区| 亚洲国产精品无码久久久不卡 | 国产精品免费久久| 精品久久久久久无码中文野结衣 | 久久精品国产第一区二区三区| 久久精品国产日本波多野结衣| 久久亚洲精品国产精品婷婷| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 国产ww久久久久久久久久| 99久久99久久精品国产片果冻| 狠狠色婷婷综合天天久久丁香 | 久久精品亚洲男人的天堂| 久久高潮一级毛片免费| 狠狠色丁香婷婷久久综合| 国内精品人妻无码久久久影院导航 |