• <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>
            Tim's Programming Space  
            Tim's Programming Space
            日歷
            <2010年4月>
            28293031123
            45678910
            11121314151617
            18192021222324
            2526272829301
            2345678
            統計
            • 隨筆 - 20
            • 文章 - 1
            • 評論 - 40
            • 引用 - 0

            導航

            常用鏈接

            留言簿(3)

            隨筆檔案

            文章檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

             

            字符串

             

            【題目描述】

            lxhgww最近接到了一個生成字符串的任務,任務需要他把n1m0組成字符串,但是任務還要求在組成的字符串中,在任意的前k個字符中,1的個數不能少于0的個數。現在lxhgww想要知道滿足要求的字符串共有多少個,聰明的程序員們,你們能幫助他嗎?

            【輸入】

            輸入數據是一行,包括2個數字nm

            【輸出】

            輸出數據是一行,包括1個數字,表示滿足要求的字符串數目,這個數可能會很大,只需輸出這個數除以20100403的余數

            【樣例輸入】

            2 2

            【樣例輸出】

            2

            【數據范圍】

            對于30%的數據,保證1<=m<=n<=1000

            對于100%的數據,保證1<=m<=n<=1000000

            =================================================================
            。。。這題是最悲劇的一題。。。以前做過原題。。。然后考試的時候緊張的啥都不知道了。。。數學不過關啊!!T_T
            一種推導是這樣的:
            總的01串的數量為C(n+m,n),考慮除去不符合條件的。
            對于一個不符合條件的01串,一定有某個位置使得0的個數第一次超過1的個數,比如:
            1010011010
                  |
            設該位置是p,在1~p中1的個數為a,0的個數為a+1
            則在p~n+m中,1的個數為n-a,0的個數為m-a-1
            如果對p~n+m中的0和1取反,則在p~n+m中,1的個數為m-a-1,0的個數為n-a
            對于這樣一個變換后的串,共有m-1個1,n+1個0。
            由于每一個不符合條件的有n個1,m個0的01串都可以唯一確定對應一個有m-1個1,n+1個0的01串,
            并且每一個有m-1個1,n+1個0的01串一定有一個位置開始0的個數第一次多于1的個數,把這個位置之后的串取反后得到的01串可以唯一確定對應一個有n個1,m個0的不符合條件的01串,所以這兩種串是一一對應的。
            所以不符合條件的串的個數為C(n+m,n+1)
            所以最后的答案為C(n+m,n) - C(n+m,n+1)
            PS:算這個的時候可以分解質因數(hyf神牛神做法),也可以用逆元解決除法的問題。因為20100403是質數,所以逆元就可以不用解方程算了,直接取a^(p-2)次方即可。

            #include <iostream>
            #define ll long long
            #define MOD 20100403
            #define MAXN 2100000
             
            using namespace std;

            /*
               C(n+m,n) - C(n+m,n+1)
             
            */

            ll n, m;
            ll fact[MAXN
            +1];

            ll PowerMod(ll a, 
            int b){
               
            if (b == 0return 1;
               ll t 
            = PowerMod(a, b>>1);
               t 
            = (t * t) % MOD;
               
            if (b&1) t = (t * a) % MOD;
               
            return t;
            }

            ll Rev(ll a)
            {
               
            return PowerMod(a, MOD-2);
            }

            void Init(){
                 cin 
            >> n >> m;
            }


            ll C(
            int n, int m){
               
            return fact[n] * Rev(fact[m]) % MOD * Rev(fact[n-m]) % MOD;
            }

            void Solve(){
                 fact[
            0= 1;
                 
            for (ll i = 1; i<=n+m; i++)
                     fact[i] 
            = (fact[i-1* i) % MOD;
                 cout 
            << ((C(n+m,n) - C(n+m,n+1)) % MOD + MOD) % MOD;
            }


            int main(){
                freopen(
            "string.in","r",stdin);
                freopen(
            "string.out","w",stdout);
                Init();
                Solve();
                
            return 0;
            }

            posted on 2010-04-08 09:54 TimTopCoder 閱讀(744) 評論(0)  編輯 收藏 引用
             
            Copyright © TimTopCoder Powered by: 博客園 模板提供:滬江博客
            国产精品一久久香蕉国产线看| 久久精品国产清高在天天线| 国产精品久久久久jk制服| 一本一本久久A久久综合精品 | 久久99精品九九九久久婷婷| 狠狠干狠狠久久| 日本久久久久久久久久| 亚洲综合伊人久久综合| 99久久精品国产一区二区三区| 精品久久久久中文字幕一区| 久久久久无码中| 久久久久久人妻无码| 国内精品久久久久久久coent| 久久精品一区二区三区AV| 国产成人久久AV免费| 99久久精品无码一区二区毛片| 一本久道久久综合狠狠躁AV| 久久www免费人成看片| 久久精品国产一区二区| 久久精品国产色蜜蜜麻豆| 大香网伊人久久综合网2020| 午夜欧美精品久久久久久久| 青青久久精品国产免费看| 久久精品国内一区二区三区| 亚洲午夜久久久久久久久久| 久久无码国产| 精品久久久久久无码国产| 精品久久久久久久| 久久精品国产亚洲av高清漫画| 亚洲伊人久久综合影院| 99久久精品日本一区二区免费 | 国产精品久久午夜夜伦鲁鲁| 久久午夜福利电影| 久久99久久99小草精品免视看| 伊人久久大香线蕉综合Av | 亚洲精品国精品久久99热一| 欧美午夜精品久久久久久浪潮| 国产亚洲色婷婷久久99精品91| 久久er热视频在这里精品| 久久久精品人妻一区二区三区四| 亚洲午夜久久久久妓女影院 |