• <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>
            隨筆-72  評論-126  文章-0  trackbacks-0
            矩陣運算。。很早的時候就下了一個課件,不過一直沒有看,因為不知道什么地方可以用(沒看當然不知道了)
            前幾天做了FOJ的月賽,有一道遞推的題
            賽后問了紀哥知道是矩陣的題目
            補習了一下,看了那個資料

            發現原來這么簡單,推推題原來都可以這樣做。。
            在HDOJ練習了幾道題目
            http://acm.hdu.edu.cn/showproblem.php?pid=1575
            這道是赤裸裸的矩陣二分
            http://acm.hdu.edu.cn/showproblem.php?pid=2256
            這道要巧妙的轉化后推公式
            再去解決FOJ那題。
            http://acm.fzu.edu.cn/problem.php?pid=1683
            Sn的公式很快就推出來了,用矩陣二分竟然超時。。。
            后來經指點是取模次數太多了,經過多次修改,終于過了。。

            又一想,當年菜鳥杯一道推推題目知道公式但是。怎么也寫不出
            http://acm.hdu.edu.cn/showproblem.php?pid=2604
            現在知道矩陣后回去秒殺了,呵呵,開心。。。
            http://acm.hdu.edu.cn/showproblem.php?pid=1757
            這道也是赤裸裸的矩陣
            http://acm.hdu.edu.cn/showproblem.php?pid=1588
            這題目比較惡心,不經init矩陣要自己推
            連右邊的數字都要自己推。。。推了一個晚上。。。結果效率還不是最高的,15MS
            http://acm.hdu.edu.cn/showproblem.php?pid=2276
            這道比賽時候看不出是矩陣。。。后來知道了很好做,因為上下相差一行,直接n^2的算法可以代替n^3,爽阿
            http://acm.fzu.edu.cn/problem.php?pid=1692
            還有這道,也是n^2的代替n^3防止超時
            //用n^2代替n^3的方法如下:
            //因為是特殊矩陣:初始矩陣上下只相差一列
            //所以可以計算第一行然后通過移位來得到全部矩陣

            Matr Mul(Matr a,Matr b)
            {
                
            int i,j,k;
                Matr c;
                
            for(j=0;j<n;j++)
                {
                    c.num[
            0][j] = 0;
                    
            for(k=0;k<n;k++)
                        c.num[
            0][j] += a.num[0][k]*b.num[k][j];
                    c.num[
            0][j] &= 1;
                }
                
            for(i=1;i<n;i++)
                {
                    c.num[i][
            0= c.num[i-1][n-1];
                    
            for(j=1;j<n;j++)
                        c.num[i][j] 
            = c.num[i-1][j-1];
                }
                
            return c;
            }


            http://acm.hdu.edu.cn/showproblem.php?pid=2294
            這道baidu杯過的最少的竟然也是用到矩陣,賽后看結題報告才知道,神奇

            分享一下我的矩陣模板吧
            struct Mat{
                
            int matrix[4][4];
            }init,unit;
            int mod;
            Mat Mul(Mat a,Mat b)//據說傳結構體比傳數組快
            {
                
            int i,j,k;
                Mat c;
                
            for(i=0;i<4;i++)
                    
            for(j=0;j<4;j++)
                    {
                        c.matrix[i][j] 
            = 0;
                        
            for(k=0;k<4;k++)
                            c.matrix[i][j] 
            += a.matrix[i][k]*b.matrix[k][j];
                        
            if(c.matrix[i][j]>=mod)
                            c.matrix[i][j]
            %=mod;
                    }
                
            return c;
            }
            Mat cal(
            int l)//l代表冪
            {
                Mat p,q;
                p 
            = unit;
                q 
            = init;
                
            while(l!=1)
                {
                    
            if(l&1)
                    {
                        l
            --;
                        p 
            = Mul(p,q);
                    }
                    
            else
                    {
                        l
            >>=1;
                        q 
            = Mul(q,q);
                    }
                }
                p 
            = Mul(p,q);
                
            return p;
            }

                
            for(i=0;i<4;i++)
                    
            for(j=0;j<4;j++)
                        unit.matrix[i][j] 
            = (i==j);
            posted on 2009-03-03 14:17 shǎ崽 閱讀(2293) 評論(8)  編輯 收藏 引用

            評論:
            # re: 神奇的matrix運算 2009-03-20 20:46 | future
            http://acm.fzu.edu.cn/problem.php?pid=1683
            Sn的公式很快就推出來了,。。。。”
            我這題用矩陣冪暴力做就TLE掉了,
            請問你sn公式是怎么推的!能否告知一下!謝謝~~  回復  更多評論
              
            # re: 神奇的matrix運算 2009-03-23 14:00 | shǎ崽
            @future


            A = [1 1 0 0]
            [0 3 2 7]
            [0 1 0 0]
            [0 0 1 0]

            B = [Sn]
            [Fn-1]
            [Fn-2]
            [Fn-3]  回復  更多評論
              
            # re: 神奇的matrix運算 2009-04-12 09:19 | ouye
            大牛
            http://acm.hdu.edu.cn/showproblem.php?pid=2256
            這道要巧妙的轉化后推公式

            后推公式是怎么推得?能否告知,thanks

              回復  更多評論
              
            # re: 神奇的matrix運算 2009-04-12 11:51 | matrix
            http://acm.hdu.edu.cn/showproblem.php?pid=2276
            這道比賽時候看不出是矩陣。。。后來知道了很好做,因為上下相差一行,直接n^2的算法可以代替n^3

            大牛, 可以具體解釋下嗎? 謝  回復  更多評論
              
            # re: 神奇的matrix運算 2009-04-13 00:09 | shǎ崽
            @matrix


            因為上下只相差一位
            所以可以用





            只算出第一行,然后接下來的根據移位得到

            。。。
            算了,這里格式不好,我貼到上邊去

              回復  更多評論
              
            # re: 神奇的matrix運算 2009-04-13 00:12 | shǎ崽
            @ouye


            num[1] = 10;
            num[2] = 98
            num[i] = num[i-1]*10 - num[i-2];

            然后num[i] - 1就是所求的答案  回復  更多評論
              
            # re: 神奇的matrix運算 2009-05-03 14:38 | phoenix
            能否提供下關于矩陣運算的課件給我,謝了~  回復  更多評論
              
            # re: 神奇的matrix運算 2009-05-08 21:39 | Wpl
            牛.......  回復  更多評論
              
            精品久久久一二三区| 久久久艹| 伊人久久大香线焦综合四虎| 亚洲愉拍99热成人精品热久久| 亚洲va中文字幕无码久久不卡| 青青草原综合久久大伊人| 色偷偷88888欧美精品久久久| 久久人人爽人人爽人人AV东京热| 人人狠狠综合久久亚洲88| 国产精品伦理久久久久久| 久久久久久久久66精品片| 久久精品无码午夜福利理论片| 国产精品内射久久久久欢欢| 99久久做夜夜爱天天做精品| 精品久久久久香蕉网| 久久午夜福利电影| 97精品伊人久久大香线蕉app | 精品免费久久久久久久| 久久久青草青青亚洲国产免观| 久久综合色之久久综合| segui久久国产精品| 狠狠狠色丁香婷婷综合久久俺| 国产精品久久久久久久app| 欧美久久综合性欧美| 精品久久无码中文字幕| 99久久99久久精品国产片果冻| 久久精品国产只有精品66| 青青青青久久精品国产| www.久久热.com| 色综合久久精品中文字幕首页| 国产精品岛国久久久久| 久久久久亚洲AV无码永不| 久久国产免费观看精品3| 久久99精品国产麻豆| 91久久精品国产成人久久| 国产一区二区精品久久凹凸| 青青草国产精品久久久久| 久久精品国产精品亚洲下载| 久久免费99精品国产自在现线| 精品久久久久久国产牛牛app| 久久强奷乱码老熟女|