• <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 閱讀(601) 評論(0)  編輯 收藏 引用 所屬分類: ACMAlgorithm課內作業

            999久久久免费精品国产| 99精品国产综合久久久久五月天| 久久久久亚洲AV成人网人人网站| 久久久久久久久久久| 色欲av伊人久久大香线蕉影院| 国产精品免费福利久久| 91麻豆精品国产91久久久久久| 久久精品亚洲欧美日韩久久| 久久久久久亚洲精品影院| 久久精品国产亚洲精品2020| 香港aa三级久久三级| 久久人人爽人人人人爽AV| 91精品国产91久久久久久青草| 亚洲精品综合久久| 久久亚洲欧美日本精品| 久久国产欧美日韩精品免费| 久久免费线看线看| 97久久婷婷五月综合色d啪蜜芽| 91久久国产视频| 国产精品久久久久久久久| 天天影视色香欲综合久久| 国产精品99久久精品| 久久久久人妻一区二区三区| 国产无套内射久久久国产| 综合人妻久久一区二区精品| 久久精品无码一区二区日韩AV| 国产午夜精品理论片久久影视 | 日本道色综合久久影院| 亚洲国产精品综合久久网络| 97超级碰碰碰碰久久久久| 日产精品久久久一区二区| 国产精品乱码久久久久久软件| 久久播电影网| 精品无码久久久久久国产| 国产99久久久久久免费看| 97久久超碰国产精品旧版| 久久精品九九亚洲精品| 久久国产乱子伦免费精品| 久久99精品久久久久子伦| 久久成人国产精品| 久久r热这里有精品视频|