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

            coreBugZJ

            此 blog 已棄。

            EOJ 1851. Summing Sums 的三種巧妙解法

            Summing Sums

            Time Limit:1000MSMemory Limit:30000KB
            Total Submit:408Accepted:86

            Description

            The N (1 <= N <= 50,000) cows, conveniently numbered 1..N, are trying to learn some encryption algorithms. After studying a few examples, they have decided to make one of their own! However, they are not very experienced at this, so their algorithm is very simple:
            Each cow i is given a starting number C_i (0 <= C_i < 90,000,000),and then all the cows perform the following process in parallel:
            * First, each cow finds the sum of the numbers of the other N-1 cows.
            * After all cows are finished, each cow replaces her number with the sum she computed. To avoid very large numbers, the cows will keep track of their numbers modulo 98,765,431.

            They told Canmuu the moose about it in November; he was quite impressed.

            Then one foggy Christmas Eve, Canmuu came to say:
            "Your algorithm is too easy to break! You should repeat it T(1 <= T <= 1,414,213,562) times instead."

            Obviously, the cows were very frustrated with having to perform so many repetitions of the same boring algorithm, so after many hours of arguing, Canmuu and the cows reached a compromise: You are to calculate the numbers after the encryption is performed!

            *Some extra feedback will be provided for the first 10 submissions to this problem.

            Input

            * Line 1: Two space-separated integers: N and T
            * Lines 2..N+1: Line i+1 contains a single integer: C_i

            Output

            * Lines 1..N: Line i contains a single integer representing the number of cow i (modulo 98,765,431) at the end of the encryption.

            Sample Input

            3 4
            1
            0
            4

            INPUT DETAILS:
            Three cows, with starting numbers 1, 0, and 4; four repetitions of the encryption algorithm.

            Sample Output

            26
            25
            29

            OUTPUT DETAILS:
            The following is a table of the cows' numbers for each turn:Cows' numbers


            Turn Cow1 Cow2 Cow3
            0 1 0 4
            1 4 5 1
            2 6 5 9
            3 14 15 11
            4 26 25 29

             

            Source

            usaco 07CHN



            ----------------------------------------------------------------------------------------
            解法一:

            令 cs = c[1] + c[2] + ... + c[n-1] + c[n];
            令 a[t][i] = 處理 t 次后的c[i];
            令 s[t] = a[t][1]+a[t][2]+a[t][3] + … + a[t][n]


            t = 0 時,
            s[0] = cs = (n-1)^0 * cs
            a[0][i] = c[i]


            t = 1 時,
            s[1] = (n-1)*s[0] = (n-1)^1  * cs
            a[1][i] = s[0] – a[0][i] = (n-1)^0 * cs – c[i]


            t = 2 時,
            s[2] = (n-1)*s[1] = (n-1)^2  * cs
            a[2][i] = s[1] – a[1][i] = ((n-1)^1-(n-1)^0)*cs + c[i]

            t = 3 時,
            s[3] = (n-1)*s[2] = (n-1)^3  * cs
            a[3][i] = s[2] – a[2][i] = ((n-1)^2 – (n-1)^1 + (n-1)^0) * cs – c[i]


            結論:

            a[t][i] = [ (n-1)^(t-1) – (n-1)^(t-2) + (n-1)^(t-3) - … (n-1) ^ 0 ] * cs  +  (-1)^t * c[i]


            令 ns = (n-1)^(t-1) - (n-1)^(t-2) + (n-1)^(t-3) - (n-1)^(t-4) ... (n-1)^(0)


            則 a[t][i] = ns * cs + (-1)^t * c[i]



            求 ns 時,使用二分法,求等比數列的和。


            解法一代碼




            ----------------------------------------------------------------------------------------
            解法二:

            分析同上,只是
            求 ns 時,使用等比數列求和公式。

            對于除法之后再取余的問題,zyd 教了我一個技巧。

            解法二代碼




            ----------------------------------------------------------------------------------------
            解法三:

            模擬實際的變換過程,但是通過二分法加速。

            構造矩陣


            A =

            [ -1   1  ]
            |         |
            [ 0   n-1 ]

             

            [ Ci ]          [ Ci ]
            |    | = A^t  * |    |
            [ CS ]          [ CS ]


            其中,A^t 可以二分。


             

            posted on 2012-02-29 16:46 coreBugZJ 閱讀(602) 評論(0)  編輯 收藏 引用 所屬分類: ACMAlgorithm課內作業

            人妻精品久久无码区| 伊色综合久久之综合久久| 精品久久久久久国产潘金莲| 久久精品国产99久久无毒不卡| 精品国产VA久久久久久久冰 | 国产精品欧美久久久久无广告| 99久久免费国产精品热| 日韩欧美亚洲综合久久影院Ds| 亚洲精品国精品久久99热一| 亚洲一本综合久久| 伊人久久综合精品无码AV专区| 91精品国产91久久久久久| 国内高清久久久久久| 人妻无码精品久久亚瑟影视| 国内精品伊人久久久久av一坑| 99久久香蕉国产线看观香| 97精品伊人久久久大香线蕉| 亚洲中文字幕久久精品无码APP| 久久久久久亚洲精品无码| 国产精品对白刺激久久久| 一本久久知道综合久久| 亚洲AⅤ优女AV综合久久久| 国产V综合V亚洲欧美久久| 久久精品一区二区三区AV| 亚洲人成无码www久久久| 国产精品狼人久久久久影院| 久久美女人爽女人爽| 久久久一本精品99久久精品66| 97久久国产综合精品女不卡| 久久婷婷色综合一区二区| 91精品国产91久久久久久青草| 国产精品久久久久…| 国产亚洲精品美女久久久| 色狠狠久久AV五月综合| 欧美噜噜久久久XXX| 久久久久亚洲AV无码专区体验| 亚洲AV无码1区2区久久 | 亚洲精品乱码久久久久久久久久久久| 日韩久久无码免费毛片软件| 亚洲国产香蕉人人爽成AV片久久 | 色婷婷狠狠久久综合五月|