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

O(1) 的小樂

Job Hunting

公告

記錄我的生活和工作。。。
<2011年10月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

統(tǒng)計

  • 隨筆 - 182
  • 文章 - 1
  • 評論 - 41
  • 引用 - 0

留言簿(10)

隨筆分類(70)

隨筆檔案(182)

文章檔案(1)

如影隨形

搜索

  •  

最新隨筆

最新評論

閱讀排行榜

評論排行榜

Timus 1078 SPFA

之前做這個題使用的方法是Floyd其所有點的最長路,但是這個還可以使用SPFA來做,因為這個圖是肯定沒有正環(huán)的圖,然后把所有入讀為0的點,都一次性的加入到SPFA的隊列或者棧中,則可以求解出一個全局最大值。然后用SPFA可以加一個父親域,來回復(fù)我們獲得的路徑。

 

   1:   
   2:  #include <queue>
   3:  #include <iostream>
   4:  #include <string.h>
   5:  #include <stdio.h>
   6:  #include <algorithm>
   7:  #include <vector>
   8:  using namespace std;
   9:  #define V 30010      // vertex
  10:  #define E 150010      // edge
  11:  #define INF 0x3F3F3F3F
  12:   
  13:  struct node
  14:  {
  15:      int v, w, next;
  16:  }pnt[E];
  17:   
  18:  int head[V];
  19:  int  dis[V];
  20:  bool vis[V];
  21:  int  cnt[V];          // the num of the operation of push to Quque. negatvie cycle.
  22:  int e = 0;            // the index of the edge
  23:  int N ;               // the num of the vertex.
  24:  int M ;               // the num of edges
  25:  int src, sink;
  26:  int father[V];
  27:  int ru[V];
  28:  void addedge(int  u, int v, int w)
  29:  {
  30:      pnt[e].v = v; pnt[e].w= w;
  31:      pnt[e].next = head[u]; head[u] = e++;
  32:  }
  33:  void SPFA_init()
  34:  {
  35:      e=0;
  36:      memset(head, -1,sizeof(head));
  37:      memset(vis, 0 ,sizeof(vis));
  38:      memset(cnt, 0 ,sizeof(cnt));
  39:      for(int i=0; i<=N; i++) dis[i] = -1;          // MODIFIED
  40:      memset(father, -1, sizeof(father));
  41:  }
  42:  int SPFA()
  43:  {
  44:      queue<int> Q;
  45:      for(int i=1; i<=N; i++) 
  46:      {
  47:          src = i;
  48:          if(ru[i] == 0)
  49:          {
  50:              Q.push(src); vis[src] = 1; dis[src] = 0; ++cnt[src];
  51:          }
  52:      }
  53:      while(!Q.empty()) 
  54:      {
  55:          int u = Q.front(); Q.pop();  vis[u] = 0;
  56:          for(int i=head[u]; i!=-1; i=pnt[i].next)
  57:          {
  58:              int v = pnt[i].v;
  59:              if( dis[v] < dis[u] + pnt[i].w  )          // MODIFIED
  60:              {
  61:                  dis[v] = dis[u] + pnt[i].w;
  62:                  father[v] = u;
  63:                  if(!vis[v]) { Q.push(v); vis[v] = 1;}
  64:                  if( ++cnt[v] > N) return -1;   // positive  cycle.
  65:              }
  66:          }
  67:      }
  68:      if(dis[sink] == -1 ) return -2;            // can't from src to sink. 
  69:      return dis[sink];
  70:  }
  71:   
  72:  int main()
  73:  {
  74:      //freopen("1078.txt","r",stdin);
  75:      scanf("%d", &N);
  76:      int a, b;
  77:      vector<pair<int, int> > C;
  78:      memset(ru, 0 ,sizeof(ru));
  79:      SPFA_init();
  80:      for(int i=0; i<N; i++)
  81:      {
  82:          int a, b;
  83:          scanf("%d%d", &a, &b);
  84:          C.push_back(make_pair(a,b));
  85:          for(int i=0; i<C.size(); i++)
  86:          {
  87:              if(a<C[i].first && b> C[i].second)
  88:              {
  89:                  ru[C.size()]++;
  90:                  addedge(i+1,C.size() , 1);
  91:              }
  92:              else if(a> C[i].first && b< C[i].second)
  93:              {
  94:                  ru[i+1]++;
  95:                  addedge(C.size(), i+1,1);
  96:              }
  97:          }
  98:      }
  99:      SPFA();
 100:      //for(int i=1; i<=N; i++) cout<<father[i]<<" "; cout<<endl;
 101:      int ret  =0; int idx = -1;
 102:      for(int i=1; i<=N; i++)
 103:      {
 104:          if(dis[i]>ret)
 105:          {
 106:              ret = dis[i];
 107:              idx = i;
 108:          }
 109:      }
 110:      if(ret == 0)
 111:      {
 112:          cout<<1<<endl;
 113:          cout<<1<<endl;
 114:      }
 115:      else
 116:      {
 117:          cout<<ret+1<<endl;
 118:          vector<int> D;
 119:          D.push_back(idx);
 120:          while(father[idx] != -1)
 121:          {
 122:              D.push_back(father[idx]);
 123:              idx = father[idx];
 124:          }
 125:          reverse(D.begin(), D.end());
 126:          for(int i=0; i<D.size(); i++) cout<<D[i]<<" ";
 127:          cout<<endl;
 128:      }
 129:      return 0;
 130:  }

posted on 2012-11-10 14:39 Sosi 閱讀(415) 評論(0)  編輯 收藏 引用


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


統(tǒng)計系統(tǒng)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            裸体丰满少妇做受久久99精品| 欧美日韩精品一区二区在线播放 | 欧美肥婆bbw| 久久精品一二三区| 久久免费黄色| 欧美成人激情视频免费观看| 欧美成人午夜| 亚洲精品欧美一区二区三区| 一区二区三区精品视频| 亚洲欧美日韩中文在线制服| 久久爱另类一区二区小说| 久久裸体艺术| 欧美经典一区二区| 国产精品任我爽爆在线播放| 国产人成精品一区二区三| 黄色av日韩| 一本色道久久综合亚洲精品婷婷 | 欧美一区二区精品久久911| 欧美一区二区女人| 久久久久久久久伊人| 免费欧美网站| 夜夜嗨一区二区三区| 久久国产欧美| 欧美四级电影网站| 影音先锋国产精品| 亚洲一区三区电影在线观看| 久久人人97超碰精品888| 91久久久精品| 亚洲制服少妇| 欧美区亚洲区| 国内成人精品2018免费看| 99精品久久免费看蜜臀剧情介绍| 久久精品国内一区二区三区| 最新亚洲激情| 篠田优中文在线播放第一区| 欧美精品三级在线观看| 在线观看不卡av| 久久精品久久99精品久久| 亚洲精品午夜精品| 久久亚洲一区二区三区四区| 国产乱码精品一区二区三区忘忧草| 亚洲国产高清aⅴ视频| 欧美中文字幕久久| 亚洲性线免费观看视频成熟| 欧美日本不卡视频| 亚洲精选中文字幕| 亚洲国产mv| 老鸭窝91久久精品色噜噜导演| 国产老女人精品毛片久久| 亚洲一区bb| 日韩视频一区| 欧美成人精品一区| 日韩一级大片在线| 欧美刺激午夜性久久久久久久| 亚洲专区在线视频| 国产精品久久久久久久久久尿 | 久久久伊人欧美| 国产日韩精品久久久| 免费看的黄色欧美网站| 国产精品一区二区三区免费观看| 亚洲精品日韩久久| 亚洲国产精品久久久久| 免费在线成人av| 亚洲福利视频二区| 亚洲高清久久网| 欧美精品色综合| 日韩一区二区精品在线观看| 亚洲精品国产视频| 欧美日韩999| 亚洲欧美成人综合| 亚洲在线播放电影| 国产亚洲一级高清| 麻豆精品91| 欧美成人精品高清在线播放| 亚洲每日在线| 一区二区三区久久网| 国产精品免费一区二区三区在线观看| 亚洲免费视频成人| 久久成人精品视频| 亚洲另类自拍| 亚洲一区二区三区高清| 国产一区二区高清| 亚洲国产精品一区二区第四页av| 欧美精品少妇一区二区三区| 亚洲女人天堂成人av在线| 欧美一二三视频| 亚洲国产一成人久久精品| 亚洲美女毛片| 国产一区二区三区四区老人| 欧美激情中文字幕在线| 欧美日精品一区视频| 久久久av毛片精品| 欧美国产日韩精品| 欧美在线网站| 欧美精品综合| 久久艳片www.17c.com| 欧美日韩国产精品一区| 久久精品99| 欧美日韩1234| 美腿丝袜亚洲色图| 国产精品男女猛烈高潮激情| 毛片精品免费在线观看| 国产精品久久久久av| 免费不卡在线观看av| 国产精品嫩草99av在线| 亚洲国产成人av好男人在线观看| 国产精自产拍久久久久久蜜| 亚洲激情专区| 狠狠入ady亚洲精品| 久久综合国产精品台湾中文娱乐网| 亚洲午夜性刺激影院| 久久精品一区| 亚洲影院一区| 欧美激情视频一区二区三区不卡| 久久久久久久999| 国产精品第一页第二页第三页| 女同性一区二区三区人了人一| 国产精品久久久久秋霞鲁丝| 亚洲国产精品精华液网站| 国产视频在线一区二区 | 亚洲综合欧美日韩| 欧美激情黄色片| 欧美激情四色| 亚洲国产黄色| 久久久人人人| 女仆av观看一区| 狠狠色香婷婷久久亚洲精品| 午夜精品福利一区二区三区av | 亚洲国产一区二区三区a毛片| 欧美一区二区三区的| 亚洲一区二区三区久久| 欧美片在线播放| 国产日韩欧美制服另类| 99人久久精品视频最新地址| 亚洲最黄网站| 欧美日韩精品免费观看视频| 亚洲国产精品va| 亚洲国产精品久久久久秋霞不卡| 久久精品视频一| 久久中文字幕导航| 狠狠久久亚洲欧美专区| 久久米奇亚洲| 欧美激情按摩| 一本色道久久综合亚洲精品婷婷 | 国产有码一区二区| 久久久久久999| 嫩草成人www欧美| 亚洲欧洲一区二区三区在线观看| 久久亚洲欧洲| 亚洲另类自拍| 新67194成人永久网站| 国产农村妇女精品一区二区| 欧美一区二区免费| 欧美第一黄色网| 亚洲视频一区在线| 国产欧美一区二区三区在线老狼| 欧美一区二区在线免费观看| 美女精品一区| 日韩写真在线| 国产精品外国| 久久综合九色欧美综合狠狠| 亚洲欧洲精品一区二区三区不卡| 亚洲视频观看| 狠狠综合久久av一区二区老牛| 嫩草伊人久久精品少妇av杨幂| 亚洲免费电影在线观看| 久久激情网站| 99re国产精品| 好吊妞这里只有精品| 欧美激情国产高清| 亚洲欧美日韩一区在线| 欧美激情视频网站| 欧美一区二区三区四区在线观看| 午夜欧美大片免费观看| 狠狠色噜噜狠狠色综合久| 久久综合国产精品| 99在线精品观看| 久久人人超碰| 亚洲一区黄色| 最新精品在线| 国产精品久久久久毛片大屁完整版| 性色av一区二区三区| 欧美成人乱码一区二区三区| 一区二区三区四区精品| 国内外成人免费激情在线视频| 久久久久久久综合色一本| 99精品欧美| 欧美国产日韩在线观看| 性久久久久久久久久久久| 亚洲精品欧美精品| 国产综合精品一区| 欧美日韩免费在线观看| 性欧美1819性猛交| 在线视频亚洲| 亚洲人成在线观看一区二区| 久久久久久亚洲精品不卡4k岛国| 亚洲一区二区三区涩| 日韩视频在线免费观看| 国产婷婷色综合av蜜臀av| 国产精品初高中精品久久|