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

pku1332 Finding Liars DP 經典好題

題意:
i (tester) j (testee)/td> test outcome ai,j
truth-teller truth-teller 0
truth-teller liar 1
liar truth-teller 0 or 1
liar liar 0 or 1


 

不用說了吧

解法:
這題我開始往2-sat的方向去想,搞死了搞不出來,今天洗澡的時候忽然發現。。這題原來是一個水了不能再水的DP
首先,設置DP狀態(pos,left,jud),即決策到第pos個人時還允許有left個人是騙子,并且第pos個人是誠實的/騙子時的狀態。
狀態是一個集合,我用的bitset。
關于狀態轉移就很簡單了
分2種情況:
1、第pos個人是騙子,那么第pos+1個人是誠實的或者騙子都可以
2、第pos個人是誠實的,那么第pos+1個人只能根據第pos個人說的話來決定
第一個人的情況要枚舉,并且最后特別判斷下
還有就是,集合初始化為全1,然后狀態的運算是與運算。注意滾動數組,不然MLE到你哭~

代碼:
 1# include <cstdio>
 2# include <cstring>
 3# include <bitset>
 4using namespace std;
 5# define N 1005
 6bitset<N> dp[2][N][2],one,zero;
 7int data[N],n,maxnum;
 8int main()
 9{
10    int test;
11    scanf("%d",&test);
12    one.set();
13    zero.reset();
14    while(test--)
15    {
16        one.set();
17        zero.reset();
18        scanf("%d%d",&n,&maxnum);
19        for(int i=0;i<n;i++)
20            scanf("%d",data+i);
21        bitset<N> res=one;
22        for(int i=0;i<=maxnum;i++)
23            dp[0][i][0]=zero,dp[0][i][1]=one;
24        for(int i=1;i<=n;i++)
25        {
26            for(int j=0;j<=maxnum;j++)
27                dp[i%2][j][0]=dp[i%2][j][1]=one;
28            for(int j=0;j<=maxnum;j++)
29                dp[i%2][j][0]&=dp[(i-1)%2][j][1];
30            for(int j=0;j<maxnum;j++)
31                dp[i%2][j][1]&=dp[(i-1)%2][j+1][1].set(i);
32            if(!data[i-1])
33                for(int j=0;j<=maxnum;j++)
34                    dp[i%2][j][0]&=dp[(i-1)%2][j][0];
35            else
36                for(int j=0;j<maxnum;j++)
37                    dp[i%2][j][1]&=dp[(i-1)%2][j+1][0].set(i);
38        }

39        for(int i=0;i<=maxnum;i++)
40            res&=dp[n%2][i][0];
41
42        for(int i=0;i<maxnum;i++)
43            dp[0][i][0]=one,dp[0][i][1]=zero.set(0);
44        dp[0][maxnum][0]=dp[0][maxnum][1]=one;
45        for(int i=1;i<=n;i++)
46        {
47            for(int j=0;j<=maxnum;j++)
48                dp[i%2][j][0]=dp[i%2][j][1]=one;
49            for(int j=0;j<=maxnum;j++)
50                dp[i%2][j][0]&=dp[(i-1)%2][j][1];
51            for(int j=0;j<maxnum;j++)
52                dp[i%2][j][1]&=dp[(i-1)%2][j+1][1].set(i);
53            if(!data[i-1])
54                for(int j=0;j<=maxnum;j++)
55                    dp[i%2][j][0]&=dp[(i-1)%2][j][0];
56            else
57                for(int j=0;j<maxnum;j++)
58                    dp[i%2][j][1]&=dp[(i-1)%2][j+1][0].set(i);
59        }

60        for(int i=0;i<maxnum;i++)
61            res&=dp[n%2][i][1];
62
63
64        if(res.count()==0) printf("0 0\n");
65        else
66        {
67            int pos=-1;
68            for(int i=0;i<n&&pos==-1;i++)
69                if(res[i])
70                    pos=i;
71            printf("%d %d\n",res.count(),pos+1);
72        }

73    }

74    return 0;
75}

posted on 2011-01-24 01:01 yzhw 閱讀(456) 評論(0)  編輯 收藏 引用 所屬分類: DP

<2010年10月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

導航

統計

公告

統計系統

留言簿(1)

隨筆分類(227)

文章分類(2)

OJ

最新隨筆

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            狠狠入ady亚洲精品经典电影| 欧美成人亚洲| 国产欧美视频一区二区| 欧美特黄一级大片| 国产精品电影在线观看| 国产精品伦一区| 国产欧美一区二区三区在线看蜜臀 | 在线视频一区二区| 一区二区久久久久久| 亚洲综合色视频| 香蕉久久夜色精品国产| 久久国产精品久久久| 老司机成人网| 欧美日韩激情网| 国产欧美一区二区精品秋霞影院 | 亚洲私人影吧| 久久成人一区二区| 亚洲电影在线| 最新日韩在线| 亚洲欧美制服另类日韩| 免费h精品视频在线播放| 欧美三日本三级三级在线播放| 国产欧美日韩视频在线观看| 亚洲国产二区| 久久aⅴ国产紧身牛仔裤| 亚洲国产精品va| 亚洲自拍偷拍网址| 欧美成人蜜桃| 国产专区一区| 午夜精品久久一牛影视| 亚洲国产婷婷香蕉久久久久久99 | 欧美一级夜夜爽| 欧美日韩国产高清| 欧美精品一区二区三| 国产欧美欧美| 亚洲精品一区二| 久热re这里精品视频在线6| 99国产精品久久| 乱人伦精品视频在线观看| 欧美午夜不卡视频| 欧美夫妇交换俱乐部在线观看| 久久综合九色综合欧美就去吻| 伊人久久婷婷色综合98网| 99视频精品| 久久国产天堂福利天堂| 亚洲国产精品电影| 亚洲一级片在线观看| 久久久爽爽爽美女图片| 久久精品在线观看| 久久久久久久97| 麻豆精品国产91久久久久久| 亚洲激情图片小说视频| 久久aⅴ国产欧美74aaa| 欧美日韩国内| 精品粉嫩aⅴ一区二区三区四区| 中文一区二区| 欧美成人精精品一区二区频| 亚洲午夜在线视频| 欧美精品久久天天躁| 一区二区在线观看视频| 亚洲国产mv| 国产曰批免费观看久久久| 久久久av毛片精品| 日韩一本二本av| 久久这里有精品15一区二区三区 | 欧美国产日韩视频| 久久精品国产综合精品| 国产精品高清网站| 亚洲国产精品成人| 香蕉成人啪国产精品视频综合网| 亚洲欧洲一区二区三区在线观看 | 久久精品国产成人| 国产精品一二三四区| 亚洲桃花岛网站| 亚洲国产精品第一区二区| 久久综合婷婷| 亚洲第一成人在线| 老**午夜毛片一区二区三区| 欧美一级理论性理论a| 欧美电影免费观看高清完整版| 国产精品看片你懂得| 亚洲自拍偷拍麻豆| 亚洲视频视频在线| 国产精品久久综合| 午夜精品国产精品大乳美女| 亚洲麻豆国产自偷在线| 久久久久国产精品一区| 亚洲性视频网站| 99精品热视频只有精品10| 欧美另类一区| 性色av一区二区三区| 久久爱www| 亚洲欧美日韩爽爽影院| 亚洲视频国产视频| 洋洋av久久久久久久一区| 一区二区三区视频免费在线观看| 亚洲国产精品久久久久婷婷884| 久久国产精品久久精品国产| 欧美亚洲视频在线观看| 国产日韩一区二区三区在线播放| 久久国产精品99精品国产| 欧美一区二区三区免费视频| 欧美区在线播放| 亚洲黄色在线| 亚洲国产高清aⅴ视频| 欧美精品一区二区三区蜜臀| 亚洲一区二区三区四区五区午夜| 在线视频免费在线观看一区二区| 国产精品欧美久久| 久久亚洲欧美| 欧美大片第1页| 亚洲一区二区不卡免费| 香蕉乱码成人久久天堂爱免费| 在线观看视频日韩| 99re6这里只有精品视频在线观看| 国产精品久久看| 欧美激情中文字幕乱码免费| 久久久久国产精品麻豆ai换脸| 永久免费精品影视网站| 亚洲黄色在线视频| 国产欧美日韩视频| 亚洲国产高清一区二区三区| 国产精品美女黄网| 欧美成人亚洲成人| 国产乱子伦一区二区三区国色天香| 牛夜精品久久久久久久99黑人| 欧美日韩综合另类| 欧美1区2区| 国产一区视频在线看| 久久免费国产精品1| 欧美极品欧美精品欧美视频| 久久综合久久久| 国产精品久久久一本精品| 欧美高清视频一区二区三区在线观看| 国产精品久久久久久久久久久久久 | 欧美va亚洲va香蕉在线| 亚洲国产岛国毛片在线| 在线亚洲一区二区| 亚洲国产一区二区三区a毛片| 一区二区三区欧美亚洲| 亚洲激情一区二区三区| 欧美亚洲系列| 亚洲婷婷综合久久一本伊一区| 狼人天天伊人久久| 久久婷婷色综合| 国产欧美日韩三区| 亚洲婷婷综合久久一本伊一区| 亚洲精品视频在线看| 亚洲视频久久| 夜夜爽99久久国产综合精品女不卡| 久久久国产精品一区| 久久一区中文字幕| 国内视频精品| 欧美在线视频不卡| 久久xxxx精品视频| 国产精品午夜在线观看| 亚洲一区二区三区精品在线| 亚洲视频一区二区| 欧美日韩一区不卡| 夜久久久久久| 亚洲乱亚洲高清| 欧美插天视频在线播放| 亚洲国产乱码最新视频| 亚洲国产二区| 欧美一区二区三区免费观看视频| 午夜精品婷婷| 国产日韩在线视频| 欧美一区二区三区日韩视频| 欧美中文字幕第一页| 国产日产精品一区二区三区四区的观看方式 | 亚洲免费精彩视频| 欧美激情影院| 宅男噜噜噜66一区二区| 亚洲欧美日韩精品久久亚洲区| 欧美性猛交99久久久久99按摩 | 亚洲另类一区二区| 亚洲影视九九影院在线观看| 国产精品女人久久久久久| 午夜精品福利电影| 亚洲伊人观看| 国产欧美日韩专区发布| 久久久99免费视频| 91久久国产综合久久91精品网站| 亚洲老板91色精品久久| 欧美性色视频在线| 欧美亚洲一区二区在线观看| 蜜桃av噜噜一区| 一本色道久久综合亚洲精品按摩| 亚洲国产精品t66y| 国产在线精品二区| 亚洲国产精品女人久久久| 亚洲欧洲一区二区在线观看| 午夜欧美理论片| 一区二区av| 欧美性猛交99久久久久99按摩 | 国产自产精品| 日韩亚洲视频| 在线亚洲+欧美+日本专区| 亚洲人成小说网站色在线| 国内在线观看一区二区三区 |