• <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, 計(jì)算機(jī)科學(xué), C++, photography, GNU/Linux的討論空間

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

            利用母函數(shù),f(q)就是母函數(shù)
            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項(xiàng)系數(shù)。
            令LCM為a1, a2...an的最小公倍數(shù)。
            則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系數(shù)可以算出來(例如用DP)
            后一項(xiàng)中x^(LCM * k)的系數(shù)是C(n+k-1, n-1) (推一下就知道了)

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



            SPOJ 598, INCR
            求n的排列中,最長上升序列為b的排列個(gè)數(shù)。
            n<=40, b <= 5
            做法是dp, 狀態(tài)記錄n的排列中l(wèi)en = 2的上升序列最后元素的最早位置,len = 3的上升序列最后元素的最早位置...
            每次轉(zhuǎn)移的時(shí)候枚舉n + 1的放置位置,并計(jì)算新的狀態(tài)。
            由于有效狀態(tài)的稀疏性,可以用map / hash來優(yōu)化。。。
            CODE



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

            設(shè)f(n)是要求的函數(shù),則f(n) = sigma(f((n - k) / (k + 1)), (k + 1) | (n + 1) , k>=1
            f(0) = 1
            這樣直接做會(huì)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
            設(shè)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
            注意對(duì)于一個(gè)確定的n,h()中的p1, p2...pr在計(jì)算過程中始終不變。。。所以。。。計(jì)算結(jié)果與pi無關(guān),只與ai有關(guān)
            這樣狀態(tài)數(shù)就大大減少了。。。直接因式分解后dp就行了。。。
            CODE




            Dhaka 2007 You are around me ...
            首先旋轉(zhuǎn)坐標(biāo),變成平行與xy軸的橢圓,然后坐標(biāo)伸縮。。。變成圓。。。最近點(diǎn)對(duì)。。。貼模板。。。
            ZJU2107 Quoit Design 一道測最近點(diǎn)對(duì)的題。




            Dhaka 2007 Magnetic Train Tracks
            給定n個(gè)點(diǎn),求可以構(gòu)成多少個(gè)銳角三角形。
            n <= 1200
            話說求銳角三角形不太好算是吧。。。補(bǔ)集轉(zhuǎn)換,我們來求鈍角/直角三角形 <=> 求鈍角/直角個(gè)數(shù)。。。
            后面的事情就簡單了,是對(duì)每個(gè)點(diǎn),將其他點(diǎn)按照極角排序 + 掃描。
            Dhaka 2005 Counting Triangles 也是一道補(bǔ)集轉(zhuǎn)換的題~(轉(zhuǎn)化成求三點(diǎn)共線的個(gè)數(shù))
            Shanghai 2004 Amphiphilic Carbon Molecules 也是一道極角排序+掃描的題。
            posted on 2008-01-24 15:13 FreePeter 閱讀(641) 評(píng)論(0)  編輯 收藏 引用 所屬分類: ACM/ICPC
            Creative Commons License
            This site is licensed under a Creative Commons Attribution-Share Alike 2.5 China Mainland License. 本站采用創(chuàng)作共用版權(quán)協(xié)議, 要求署名、相同方式共享. 轉(zhuǎn)載本站內(nèi)容必須也遵循“署名-相同方式共享”的創(chuàng)作共用協(xié)議. This site is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
            亚洲国产成人久久一区WWW| 久久香蕉超碰97国产精品| 7国产欧美日韩综合天堂中文久久久久| 蜜臀av性久久久久蜜臀aⅴ麻豆| 东方aⅴ免费观看久久av| 91精品国产高清久久久久久国产嫩草| 久久99国产精品成人欧美| 波多野结衣久久一区二区| 久久国产精品久久精品国产| 久久精品亚洲乱码伦伦中文 | AA级片免费看视频久久| 久久夜色精品国产噜噜亚洲a| 综合久久国产九一剧情麻豆| 久久精品国产91久久综合麻豆自制| 久久久久18| 久久99精品国产麻豆宅宅| 久久久精品国产免大香伊 | 久久精品无码一区二区三区免费| 亚洲国产精品久久久天堂| 亚洲一区中文字幕久久| 97精品伊人久久久大香线蕉| 久久影院亚洲一区| 91精品国产91久久久久久蜜臀| 久久综合狠狠综合久久综合88| 午夜精品久久久久久| 精品久久久久久无码人妻蜜桃| 久久超碰97人人做人人爱| 婷婷久久久亚洲欧洲日产国码AV| 久久夜色精品国产www| 久久精品亚洲乱码伦伦中文| 久久夜色tv网站| 9191精品国产免费久久| 中文字幕成人精品久久不卡| 2021精品国产综合久久| AV狠狠色丁香婷婷综合久久 | 久久综合亚洲鲁鲁五月天| 亚洲一区精品伊人久久伊人| 久久综合一区二区无码| 国产精品成人久久久| 久久久久久久久波多野高潮| 久久婷婷五月综合色奶水99啪|