• <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.
            久久久精品国产亚洲成人满18免费网站 | 久久无码人妻一区二区三区| 2021久久精品免费观看| 无码人妻久久一区二区三区蜜桃 | 久久久久久久波多野结衣高潮| 伊人久久无码中文字幕| 国产精品美女久久久| 久久久久无码精品国产app| 免费久久人人爽人人爽av| 久久精品国产精品国产精品污| 蜜臀久久99精品久久久久久| 日韩精品久久久久久免费| 久久久久久综合一区中文字幕| 久久人人爽人爽人人爽av| 欧美大香线蕉线伊人久久| 久久露脸国产精品| 国产精品久久久久9999| 97久久国产露脸精品国产| 国产精品免费久久| 精品免费久久久久久久| 久久久黄色大片| 久久九色综合九色99伊人| 久久无码人妻一区二区三区| 亚洲午夜久久久| 久久精品视频网| 久久久久女人精品毛片| 久久青青草视频| 久久亚洲av无码精品浪潮| 99久久国产免费福利| 国产成人久久精品一区二区三区 | 久久精品无码一区二区三区日韩| 久久综合九色综合网站| 亚洲日本va中文字幕久久| 人人妻久久人人澡人人爽人人精品| 丰满少妇人妻久久久久久4| 91精品国产色综久久| 国产精品美女久久久久网| 久久伊人精品青青草原高清| 国产精品一久久香蕉产线看| 国产91色综合久久免费| 精品一区二区久久|