• <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  評(píng)論-126  文章-0  trackbacks-0

            http://acm.hdu.edu.cn/showproblem.php?pid=1693
            昨天做長(zhǎng)亮杯的題目遇到這道,請(qǐng)教了zjfc3大大

            知道是【基于連通性的狀態(tài)壓縮動(dòng)態(tài)規(guī)劃問(wèn)題】
            給了我08國(guó)家集訓(xùn)隊(duì)陳丹琦的論文(cdq竟然是女生。。Orz,無(wú)限崇拜)
            看了知道了插頭和輪廓線的概念
            不過(guò)論文里說(shuō)的是一條回路用三進(jìn)制表示。。。
            這題用二進(jìn)制(有沒(méi)有插頭)表示就可以。。
            畫(huà)了一個(gè)晚上的圖,終于知道怎么處理了。。
            不過(guò)實(shí)現(xiàn)起來(lái)比較反
            參考了zjfc3大大的程序
            終于明白,感慨位運(yùn)算的強(qiáng)大阿~~

            #include<stdio.h>
            #include
            <string>
            #include
            <stdlib.h>

            int map[11][11];
            __int64 dp[
            2][1<<12];
            int main()
            {
                
            int T,n,m,i,j,roll,ROLL,cas;
                scanf(
            "%d",&T);
                
            for(cas=1;cas<=T;cas++)
                {
                    scanf(
            "%d%d",&n,&m);
                    
            for(i=0;i<n;i++)
                        
            for(j=0;j<m;j++)
                            scanf(
            "%d",&map[i][j]);
                    ROLL 
            = 1;
                    memset(dp[ROLL],
            0,sizeof(dp[ROLL]));
                    dp[ROLL][
            0= 1;
                    
            for(i=0;i<n;i++)
                    {
                        
            int len = 1<<m;
                        roll 
            = ROLL ^ 1;
                        memset(dp[roll],
            0,sizeof(dp[roll]));
                        
            for(j=0;j<len;j++)
                            dp[roll][j
            <<1= dp[ROLL][j];
                        ROLL 
            = roll;

                        
            for(j=0;j<m;j++)
                        {
                            roll 
            = ROLL ^ 1;
                            
            int len = 1<<m<<1;
                            
            for(int k=0;k<len;k++)
                            {
                                
            int p = 1<<j<<1;
                                
            int q = 1<<j;

                                
            bool a = p&k;
                                
            bool b = q&k;
                                
            if(map[i][j])
                                {
                                    dp[roll][k] 
            = dp[ROLL][k^p^q];
                                    
            if(a!=b)
                                        dp[roll][k] 
            += dp[ROLL][k];
                                }
                                
            else
                                {
                                    
            if(a==0 && b==0)
                                        dp[roll][k] 
            = dp[ROLL][k];
                                    
            else
                                        dp[roll][k] 
            = 0;
                                }
                            }
                            ROLL 
            = roll;
                        }
                    }
                    printf(
            "Case %d: There are %I64d ways to eat the trees.\n",cas,dp[roll][0]);
                }
                
            return 0;
            }
            posted on 2009-03-24 11:26 shǎ崽 閱讀(1679) 評(píng)論(2)  編輯 收藏 引用

            評(píng)論:
            # re: 基于連通性的狀態(tài)壓縮動(dòng)態(tài)規(guī)劃問(wèn)題。。。。。。囧 2010-04-01 18:28 | NotOnlySuccess
            一年后回來(lái)看看....發(fā)現(xiàn)好菜  回復(fù)  更多評(píng)論
              
            # re: 基于連通性的狀態(tài)壓縮動(dòng)態(tài)規(guī)劃問(wèn)題。。。。。。囧 2010-09-06 19:55 | Prowindy
            @NotOnlySuccess
            哈哈~~贊!  回復(fù)  更多評(píng)論
              

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            精产国品久久一二三产区区别| 久久天天躁狠狠躁夜夜avapp | 热re99久久精品国99热| 三上悠亚久久精品| 久久精品国产亚洲一区二区| 一本久道久久综合狠狠躁AV| 色婷婷综合久久久中文字幕| 久久久久高潮毛片免费全部播放 | 久久99精品久久久久久| 亚洲综合久久久| segui久久国产精品| 99久久精品国产一区二区| 亚洲国产另类久久久精品黑人 | 91久久精品91久久性色| 久久精品国产亚洲αv忘忧草| 久久精品成人免费看| 久久久无码精品亚洲日韩蜜臀浪潮| 久久精品国产影库免费看| 国产精品久久久天天影视| 久久AⅤ人妻少妇嫩草影院| 99久久人人爽亚洲精品美女| 国产成人精品久久二区二区| 狠狠色丁香久久综合五月| 亚洲色大成网站www久久九| 五月丁香综合激情六月久久| 国产婷婷成人久久Av免费高清| 亚洲愉拍99热成人精品热久久| 日韩精品久久久久久久电影蜜臀| 午夜欧美精品久久久久久久| 国产无套内射久久久国产| 久久99国产一区二区三区| 久久久久国产精品嫩草影院| 99久久精品国产一区二区| 亚洲性久久久影院| 成人妇女免费播放久久久| 久久夜色撩人精品国产小说| 久久久久久人妻无码| 亚洲?V乱码久久精品蜜桃| 99久久精品国内| 久久综合狠狠综合久久综合88| 一本综合久久国产二区|