青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C小加

厚德 博學 求真 至善 The bright moon and breeze
posts - 145, comments - 195, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

poj 1185 炮兵陣地 (狀態壓縮DP)

Posted on 2012-03-20 21:11 C小加 閱讀(1815) 評論(1)  編輯 收藏 引用 所屬分類: 解題報告

弱爆了。我調試了一個下午加半個晚上,最后重寫了一遍AC了。2xx ms的時間,在自己oj上排倒數第一。

 

我的第二道狀態壓縮DP,也是周偉論文《狀態壓縮》里的一道例題,核心思想這篇論文分析的很清楚,建議學習狀態壓縮的同學一定要看一下。

 

這道題做的很過癮,收獲很多,各種二進制的解法。還有狀就是態數的求法也很強,剛開始寫的時候還準備DFS呢,后來大牛告訴我直接枚舉所有狀態進行刪除就可以了,好吧,刪除的判斷又是二進制。

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int MAXM=63;
int e[103];
int m,n;
int s[MAXM];
int c[MAXM];
int f[103][MAXM][MAXM];
int cnt;
//輸入數據
void input()
{
    memset(e,0,sizeof(e));
    char str[13];

    for(int i=0;i<m;i++)
    {
        scanf("%s",str);
        for(int j=0;j<n;j++)
        {
            if(str[j]=='H') e[i]=(e[i]<<1)|1;
            else e[i]=e[i]<<1;
        }
    }
}
//比較左右間隔是否為2
bool fit(int x)
{
    if( x & (x<<1) ) return false;
    if( x & (x<<2) ) return false;
    return true;
}
//二進制中1的個數
int num1(int x)
{
    int count=0;
    while(x>0)
    {
        count++;
        x= x & (x-1);
    }
    return count;
}
//尋找狀態數
void DFS()
{
    int total=1<<n;
    for(int i=0;i<total;i++)
    {
        if(fit(i))
        {
            s[++cnt]=i;
            c[cnt]=num1(i);
        }
    }
}
//DP
void DP()
{
    //初始化
    memset(f,-1,sizeof(f));
    for(int i=0;i<=cnt;++i)
    {
        if(s[i]&e[0])continue;
        f[0][i][0]=c[i];
    }

    for(int i=1;i<m;++i)
    {
        for(int j=0;j<=cnt;++j)
        {
            if(s[j]&e[i])continue;
            for(int k=0;k<=cnt;++k)
            {
                if(s[j]&s[k])continue;
                for(int l=0;l<=cnt;++l)
                {
                    if(s[j]&s[l]) continue;
                    if(f[i-1][k][l]==-1) continue;
                    f[i][j][k]=max(f[i][j][k],f[i-1][k][l]+c[j]);
                }
            }
        }
    }
}
//輸出
void print()
{
    int ans=0;
    if(m!=0)
    for(int i=0;i<=cnt;i++)
        for(int j=0;j<=cnt;j++)
            ans=max(ans,f[m-1][i][j]);
    printf("%d\n",ans);
}

int main()
{
    //freopen("in.txt","r",stdin);

    while(scanf("%d %d",&m,&n)!=EOF)
    {
        cnt=-1;
        input();
        DFS();
        DP();
        print();

    }

    return 0;
}

Feedback

# re: poj 1185 炮兵陣地 (狀態壓縮DP)[未登錄]  回復  更多評論   

2013-08-17 21:15 by ACE
能否詳細點啊!我不會運用位運算,
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            韩国一区二区在线观看| 亚洲伦理中文字幕| 亚洲精品日韩精品| 亚洲第一福利社区| 国产一区二区三区的电影| 国产欧美精品久久| 国产性猛交xxxx免费看久久| 国产麻豆综合| 国产伦精品一区二区三区照片91| 欧美网站大全在线观看| 国产精品黄色| 一区二区三区在线看| 在线国产亚洲欧美| 日韩亚洲欧美高清| 午夜精品久久久久影视 | 欧美激情第一页xxx| 免费高清在线视频一区·| 欧美风情在线观看| 久久久久久噜噜噜久久久精品| 美女久久一区| 亚洲最黄网站| 久久精品国产综合精品| 欧美经典一区二区三区| 国产精品扒开腿爽爽爽视频 | 亚洲福利在线看| 欧美一区深夜视频| 久久久久国产精品一区| 久久精品日韩一区二区三区| 亚洲激情在线视频| 一本不卡影院| 小嫩嫩精品导航| 开元免费观看欧美电视剧网站| 欧美激情综合五月色丁香| 欧美人与禽性xxxxx杂性| 欧美性大战久久久久| 国产婷婷成人久久av免费高清| 亚洲黄一区二区三区| 午夜国产精品视频| 一道本一区二区| 亚洲破处大片| 亚洲国产精品成人一区二区| 亚洲自拍高清| 亚洲精品欧洲| 欧美sm视频| 亚洲第一中文字幕在线观看| 亚洲欧美日韩国产另类专区| 欧美电影打屁股sp| 久久中文字幕一区| 国产美女一区| 性欧美暴力猛交69hd| 免费成人网www| 久久综合九色综合久99| 国产有码一区二区| 欧美亚洲一区| 性久久久久久久| 国产精品一区二区三区久久久 | 欧美电影免费观看高清| 一区二区三区在线高清| 免费亚洲一区二区| 久久尤物视频| 宅男精品视频| 亚洲午夜久久久久久尤物| 国产精品视频免费在线观看| 亚洲免费视频一区二区| 亚洲午夜精品在线| 国语精品中文字幕| 亚洲国产精品综合| 欧美精品三级日韩久久| 亚洲网站在线播放| 欧美在线视频日韩| 最新高清无码专区| 亚洲午夜国产一区99re久久| 欧美国产一区二区三区激情无套| 欧美亚洲网站| 亚洲免费电影在线| 久久久精品动漫| 91久久久在线| 久久国产精品黑丝| 亚洲视频 欧洲视频| 久久青草欧美一区二区三区| 中日韩在线视频| 玖玖综合伊人| 久久免费视频在线观看| 国产精品久久久久久久电影 | 免费日韩成人| 校园激情久久| 国产精品视频999| 亚洲视频碰碰| 亚洲无毛电影| 久久九九99视频| 国产精品女人久久久久久| 免费在线一区二区| 国产一区二区三区精品久久久 | 欧美日韩一区二区在线观看 | 国产欧美日韩精品一区| 亚洲精品麻豆| 在线精品一区二区| 久久久不卡网国产精品一区| 久久精品一本| 国内揄拍国内精品久久| 久久久久久久性| 欧美激情中文字幕在线| 日韩系列在线| 欧美人体xx| 亚洲精品影视| 性伦欧美刺激片在线观看| 国产精品久久久久久久app| aa级大片欧美| 性色av一区二区怡红| 国产日韩欧美一区在线| 久久精品中文字幕一区| 日韩视频免费在线| 噜噜噜噜噜久久久久久91| 亚洲精品一区二区三区在线观看| 国产精品久久久久aaaa| 欧美成人蜜桃| 欧美亚洲免费电影| 亚洲小视频在线观看| 日韩午夜黄色| 最新成人av在线| 欧美成人精精品一区二区频| 亚洲精品国产精品乱码不99| 国产视频不卡| 一区二区不卡在线视频 午夜欧美不卡'| 欧美一区二区视频网站| 亚洲图片欧洲图片av| 99视频精品免费观看| 日韩午夜av电影| 亚洲免费福利视频| 亚洲国产日韩欧美| 国产亚洲网站| 在线播放亚洲| 亚洲精品久久| 中文久久精品| 久久久精品一区| 欧美大成色www永久网站婷| 免费成人性网站| 亚洲精品美女在线观看| 亚洲经典三级| 日韩一区二区精品在线观看| 亚洲开发第一视频在线播放| 亚洲最新色图| 性欧美大战久久久久久久免费观看| 亚洲人成免费| 亚洲欧美日韩中文视频| 亚洲影院免费观看| 久热综合在线亚洲精品| 欧美日韩一区二区三区在线 | 亚洲女人小视频在线观看| 欧美一区日韩一区| 亚洲欧洲午夜| 久久国产欧美| 欧美视频一区二| 1204国产成人精品视频| 亚洲一二三区在线观看| 欧美v亚洲v综合ⅴ国产v| 国产精品99久久久久久久女警| 久久久久**毛片大全| 国产精品素人视频| 亚洲久久一区| 欧美在线观看天堂一区二区三区| 韩国视频理论视频久久| 欧美大片一区二区| 国产精品久久久久久亚洲毛片| 欧美午夜视频在线观看| 久久精品国产亚洲一区二区三区| 久久野战av| 亚洲欧美电影在线观看| 欧美日本在线| 欧美国产视频在线| 国产色婷婷国产综合在线理论片a| 欧美激情久久久| 国产视频一区二区在线观看| 亚洲欧洲日韩在线| 国内精品久久久久影院优| 这里只有视频精品| 夜夜嗨网站十八久久| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲一区二区四区| 欧美视频二区36p| 日韩午夜电影在线观看| 亚洲专区国产精品| 亚洲欧美欧美一区二区三区| 国产在线不卡视频| 亚洲精品影视| 亚洲人成网站777色婷婷| 欧美亚洲综合久久| 日韩亚洲精品在线| 久久精品日韩欧美| 亚洲免费观看在线观看| 香蕉久久国产| 亚洲另类一区二区| 久久综合国产精品| 欧美一区二区三区免费观看视频 | 国产日韩欧美在线| 日韩香蕉视频| 亚洲精品影院在线观看| 久久狠狠亚洲综合| 欧美一区2区三区4区公司二百 | 一区二区三区www|