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

pku2168 Joke with Turtles 區間DP 注意~

題目大意:

有N只可愛的小海龜在賽跑。詢問每只小海龜它是第幾名,它會回答你兩個數,ai,bi,分別表示在它前面的小海龜數和在它后面的小海龜數。接著你發現其中有些小海龜對你撒了謊,因為根據他們的說法你根本沒法給他們排隊!但是你是善良的,你不希望有很多小海龜在撒謊,想找出最少有哪幾只小海龜在撒謊。(注意:小海龜的名次可能是并列的!)

 

分析:

若一只海龜說了真話,那么該海龜的位置一定是在區間[ai+1,n-bi] 上。若有k只海龜選擇了相同的區間 ,則根據并列關系,該區間最多能同時擁有min{n-ai-bi,k}只海龜(多出來的海龜肯定是說謊的,預先排除掉)。可以計算出每個區間最多能有多少只海龜,把數值看做區間的“權”。則問題轉化為,在一些帶權區間中,選出權和最大的區間,使它們之間不能互相重疊。

 

算法:

算出每個出現過的區間的“權”vi ,接下來的算法就是動態規劃了。先按右端點坐標從小到大排序,令pi 為在區間 i左邊的且與之無公共點的最大區間編號,設狀態f[i] 為在前i 個區間中可選出區間的最大權和,則狀態轉移方程為f(i)=max(f(i-1),f(pi)+vi) ,說真話海龜的最大數量就是最后一個區間的f(i) 值。
論文:/Files/yzhw/range.rar

注意,在區間類問題中,要合理設計狀態,究竟狀態表示的是前i個區間(第i個區間不一定取)還是第i個區間一定要取的前i個區間。

 1# include <iostream>
 2# include <map>
 3# include <vector>
 4# include <cstring>
 5# include <cstdio>
 6using namespace std;
 7vector<int> ans;
 8map<int,vector<int> > refer;
 9# define pos(a,b) (((b)<<10)|(a))
10struct node
11{
12   int s,e,val,per;
13}
ran[1001];
14int dp[1001];
15int path[1001];
16bool used[1001];
17int c=1;
18int searchper(int pos)
19{
20    int s=1,mid,e=c;
21    e--;
22    while(s<=e)
23    {
24       mid=(s+e)/2;
25       if(ran[mid].e>=pos)
26         e=mid-1;
27       else
28         s=mid+1;
29    }

30    return e;
31}

32int main()
33{
34    int n;
35    scanf("%d",&n);
36    for(int i=0;i<n;i++)
37    {
38      int a,b;
39      scanf("%d%d",&a,&b);
40      if(a+b+1>n)
41        ans.push_back(i);
42      else
43      {
44        if(refer[pos(a+1,n-b)].size()<n-b-a)
45         refer[pos(a+1,n-b)].push_back(i);
46        else
47         ans.push_back(i);
48      }

49    }

50    for(map<int,vector<int> >::iterator i=refer.begin();i!=refer.end();i++)
51    {
52       ran[c].s=(i->first)&1023;
53       ran[c].e=((i->first)>>10);
54       ran[c++].val=(i->second).size();
55    }

56    for(int i=1;i<c;i++)
57      ran[i].per=searchper(ran[i].s);
58    dp[0]=0;
59    path[0]=-1;
60    for(int i=1;i<c;i++)
61    {
62       if(dp[i-1]>dp[ran[i].per]+ran[i].val)
63          path[i]=0,dp[i]=dp[i-1];
64       else
65          path[i]=1,dp[i]=dp[ran[i].per]+ran[i].val;
66    }

67    memset(used,false,sizeof(used));
68    int p=c-1;
69    while(p)
70    {
71      if(path[p])
72      {
73         used[p]=true;
74         p=ran[p].per;
75      }

76      else
77         p--;
78    }

79    for(int i=1;i<c;i++)
80      if(!used[i])
81         for(int j=0;j<refer[pos(ran[i].s,ran[i].e)].size();j++)
82            ans.push_back(refer[pos(ran[i].s,ran[i].e)][j]);
83    printf("%d",ans.size());
84      for(int i=0;i<ans.size();i++)
85       printf(" %d",ans[i]+1);
86      printf("\n");
87    return 0;
88}

89
90

posted on 2010-11-02 02:37 yzhw 閱讀(358) 評論(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>
            欧美一级视频| 久久狠狠亚洲综合| 夜夜精品视频| 一本色道久久加勒比88综合| 浪潮色综合久久天堂| 欧美成人免费小视频| 在线成人h网| 欧美电影免费观看高清完整版| 久久中文欧美| 激情小说另类小说亚洲欧美| 欧美影院一区| 欧美高清视频一区| 亚洲精品免费观看| 国产精品你懂的在线欣赏| 性欧美暴力猛交另类hd| 国产日韩欧美自拍| 欧美一区二区在线| 欧美激情亚洲| 在线视频欧美日韩| 国产午夜精品美女视频明星a级| 久久人人爽国产| 亚洲人成小说网站色在线| 国内一区二区三区| 免费不卡在线视频| 亚洲国产人成综合网站| 亚洲蜜桃精久久久久久久| 欧美激情一区二区在线| 欧美在线观看网站| 亚洲精选成人| 久久久久国产精品www| 亚洲精品在线电影| 激情自拍一区| 国产精自产拍久久久久久| 欧美护士18xxxxhd| 老色批av在线精品| 亚洲午夜激情免费视频| 久久久久久网址| 亚洲日本va午夜在线影院| 欧美性做爰毛片| 久久精品盗摄| 亚洲韩国一区二区三区| 久久人人97超碰精品888| 午夜亚洲福利| 亚洲欧美日韩区| 亚洲少妇最新在线视频| 国产精品国产馆在线真实露脸| 久久亚洲影音av资源网| 久久国内精品视频| 亚洲欧美日韩国产中文| 一区二区三区欧美| 免费看黄裸体一级大秀欧美| 国产精品99久久久久久白浆小说 | 国产乱子伦一区二区三区国色天香| 亚洲一区二区三区四区在线观看 | 激情欧美一区二区| 国内揄拍国内精品久久 | 国产精品jvid在线观看蜜臀| 久久亚洲高清| 免费不卡在线视频| 久久久久综合网| 先锋影音一区二区三区| 午夜精品影院| 欧美一区国产在线| 午夜久久美女| 欧美一区二区三区电影在线观看| 一区二区三区产品免费精品久久75 | 91久久精品一区| 欧美大片91| 亚洲福利视频二区| 欧美高清在线观看| 猛男gaygay欧美视频| 欧美专区日韩专区| 亚洲午夜久久久久久久久电影网| 亚洲人成免费| 亚洲国产精品毛片| av成人免费在线观看| 亚洲一区在线观看免费观看电影高清| 一区二区三区免费观看| 先锋影音久久| 欧美成人午夜激情在线| 亚洲人成在线影院| 亚洲综合色丁香婷婷六月图片| 久久高清国产| 欧美1区2区3区| 欧美性生交xxxxx久久久| 国产在线高清精品| 亚洲国产成人久久综合| 亚洲一区二区三区在线播放| 久久久久久久综合| 亚洲福利精品| 亚洲午夜一区| 看片网站欧美日韩| 欧美日韩一区国产| 国外视频精品毛片| 亚洲国产婷婷香蕉久久久久久99 | 欧美母乳在线| 国产亚洲精品久久久久动| 亚洲国产精品久久久久久女王 | 久久天天综合| 亚洲精一区二区三区| 亚洲欧美国产精品桃花| 美女国产精品| 国产日韩欧美视频在线| 日韩视频免费大全中文字幕| 亚洲欧美综合一区| 亚洲精品欧美| 欧美亚洲在线| 欧美色大人视频| 欧美激情bt| 国产午夜精品一区二区三区视频| 亚洲片在线观看| 久久夜色精品国产| 亚洲欧美不卡| 欧美日韩黄色一区二区| 亚洲国产欧美一区二区三区丁香婷| 欧美一区二区网站| 亚洲一二三区精品| 欧美日韩视频不卡| 亚洲高清在线视频| 麻豆视频一区二区| 性欧美超级视频| 国产精品高清在线观看| 一本色道久久综合亚洲精品婷婷 | 亚洲一区二区三区三| 欧美高清视频| 欧美成人高清| 亚洲免费激情| 亚洲精一区二区三区| 欧美人交a欧美精品| 亚洲免费观看在线观看| 亚洲国产一区二区三区在线播| 美国十次了思思久久精品导航| 国产精品人人做人人爽人人添| 亚洲视频导航| 亚洲视频免费在线| 欧美午夜宅男影院在线观看| 99视频精品在线| 亚洲视频在线免费观看| 欧美区在线播放| 一道本一区二区| 亚洲视频在线免费观看| 欧美性大战久久久久久久蜜臀 | 午夜精品婷婷| 亚洲欧美大片| 在线观看日韩www视频免费 | 亚洲国产精品久久久久婷婷884| 欧美国产精品v| 一区二区三区国产| 亚洲一级网站| 国产日韩综合| 久久精品一区二区国产| 久久精品人人爽| 亚洲免费av观看| 亚洲综合国产| 国产又爽又黄的激情精品视频 | 亚洲激情av| 亚洲高清视频一区二区| 欧美美女日韩| 香蕉久久夜色| 狂野欧美一区| 亚洲免费在线电影| 欧美在线国产| 亚洲高清不卡一区| 亚洲在线视频免费观看| 欧美一区成人| 国外成人性视频| 在线亚洲欧美| 亚洲国产婷婷香蕉久久久久久| 夜夜爽夜夜爽精品视频| 好看不卡的中文字幕| 日韩午夜精品| 狠狠网亚洲精品| 亚洲精品久久视频| 国产精品入口麻豆原神| 久久久久久久高潮| 欧美三区视频| 欧美国产一区二区三区激情无套| 欧美日韩亚洲视频一区| 久久综合色综合88| 国产精品久久久一区二区| 午夜精品一区二区三区在线| 欧美xx视频| 久久在线视频在线| 欧美日韩一区高清| 麻豆九一精品爱看视频在线观看免费| 性欧美大战久久久久久久免费观看 | 亚洲一区三区视频在线观看| 欧美亚洲综合网| 亚洲先锋成人| 欧美精品色网| 欧美成人免费网站| 国产一区二区三区黄视频| 亚洲国产成人porn| 国产精品久久久久久户外露出| 欧美风情在线观看| 国产午夜精品久久久久久久| 一区二区三区精品国产| 亚洲欧洲日本一区二区三区| 午夜精品久久久| aa日韩免费精品视频一|