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

O(1) 的小樂

Job Hunting

公告

記錄我的生活和工作。。。
<2012年6月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

統計

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

留言簿(10)

隨筆分類(70)

隨筆檔案(182)

文章檔案(1)

如影隨形

搜索

  •  

最新隨筆

最新評論

閱讀排行榜

評論排行榜

Timus 1078 SPFA

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

 

   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 閱讀(411) 評論(0)  編輯 收藏 引用

統計系統
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美大片在线观看一区| 一区在线视频观看| 欧美在线观看日本一区| 亚洲自拍偷拍福利| 亚洲一级黄色av| 亚洲欧美日韩精品久久亚洲区 | 国产精品美女久久| 国产欧美一区二区精品仙草咪| 国产精品久久久久9999| 国产欧美一区二区三区视频| 国内精品久久久久久久97牛牛| 一区二区在线观看av| 亚洲人成网站影音先锋播放| 亚洲香蕉伊综合在人在线视看| 欧美亚洲日本国产| 欧美成人伊人久久综合网| 亚洲人成高清| 亚洲免费电影在线| 午夜宅男欧美| 欧美成人免费观看| 国产老肥熟一区二区三区| 激情五月综合色婷婷一区二区| 亚洲国产成人精品视频| 亚洲午夜国产成人av电影男同| 欧美一区二区视频免费观看| 亚洲第一成人在线| 午夜精品福利在线| 欧美另类在线观看| 一色屋精品视频免费看| 亚洲一二三四久久| 欧美黄色大片网站| 新67194成人永久网站| 欧美精品入口| 在线看片一区| 欧美在线视频一区| 亚洲最快最全在线视频| 美女成人午夜| 欧美日韩国产综合视频在线| 国产综合香蕉五月婷在线| 一本一本a久久| 美女视频一区免费观看| 亚洲午夜久久久久久久久电影网| 免费在线观看精品| 国产在线视频欧美| 性亚洲最疯狂xxxx高清| 亚洲美女黄网| 欧美高清在线| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产精品毛片| 亚洲国产欧美一区二区三区久久 | 欧美+日本+国产+在线a∨观看| 国产精品xxxxx| 99综合电影在线视频| 欧美福利在线| 久久亚洲私人国产精品va| 国产日韩欧美在线视频观看| 亚洲免费在线视频| 中文亚洲免费| 国产精品久久综合| 亚洲欧美乱综合| 亚洲午夜在线观看| 国产精品欧美在线| 亚洲欧美日韩一区二区三区在线| 亚洲美女黄色| 欧美午夜三级| 午夜欧美精品| 欧美伊人久久久久久久久影院 | 一区二区日韩精品| 日韩视频精品| 国产精品盗摄一区二区三区| 中文在线不卡| 在线亚洲伦理| 国产日韩一区二区三区在线播放| 午夜精品福利一区二区蜜股av| 中文亚洲免费| 国产一区二区久久精品| 久久夜色精品国产欧美乱| 久久久久久噜噜噜久久久精品| 在线观看亚洲视频| 91久久精品国产91性色tv| 欧美日本高清一区| 午夜在线播放视频欧美| 久久成人精品无人区| 亚洲国产精品99久久久久久久久| 亚洲第一久久影院| 欧美午夜精品一区二区三区| 午夜精品福利一区二区三区av| 亚洲字幕一区二区| 在线观看日韩| 日韩一区二区福利| 红桃视频一区| av成人福利| 黄色欧美成人| 夜夜嗨av一区二区三区四季av| 国产亚洲精品久久久久久| 欧美成人一区二区三区在线观看 | 一区二区三区自拍| 最新精品在线| 国产一区二区三区四区在线观看 | 蜜臀va亚洲va欧美va天堂| 欧美国产在线观看| 久久精品日韩| 欧美精品福利| 久久精品国产久精国产爱| 欧美xart系列高清| 久久精品国产久精国产思思| 欧美激情一区三区| 榴莲视频成人在线观看| 欧美四级剧情无删版影片| 乱中年女人伦av一区二区| 国产精品啊啊啊| 亚洲第一在线综合在线| 国产欧美日韩一区二区三区在线观看 | 一区二区三区日韩精品视频| 激情成人av在线| 99精品国产在热久久| 在线看成人片| 欧美伊久线香蕉线新在线| 亚洲欧美国产日韩中文字幕| 欧美gay视频| 快播亚洲色图| 国产有码一区二区| 午夜久久久久| 午夜一区二区三区在线观看 | 激情综合电影网| 亚洲欧美影院| 午夜视频一区二区| 国产精品电影观看| 亚洲理论在线观看| 亚洲久久视频| 欧美国产日韩a欧美在线观看| 美女脱光内衣内裤视频久久网站| 国产欧美在线播放| 午夜精品久久久久久久男人的天堂 | 在线免费观看一区二区三区| 亚洲一区二区三区影院| 亚洲天堂成人在线观看| 欧美伦理在线观看| 亚洲三级网站| 亚洲午夜电影网| 国产精品久久久久aaaa| 亚洲一二三区在线| 欧美中文字幕第一页| 国产欧美日韩专区发布| 欧美在线视频免费| 免费黄网站欧美| 亚洲精品日产精品乱码不卡| 欧美国产日韩一区二区| 亚洲日本电影| 香蕉久久夜色精品| 久久久久一区二区三区| 久久手机免费观看| 91久久一区二区| 欧美激情一区二区三级高清视频| 亚洲激情视频在线| 亚洲欧美激情四射在线日| 国产免费观看久久| 久久手机精品视频| 亚洲精品1234| 午夜精品在线看| 尹人成人综合网| 欧美精品日韩精品| 午夜精品www| 亚洲国产成人porn| 午夜精品短视频| 在线欧美三区| 欧美日韩国产黄| 欧美亚洲色图校园春色| 免费日韩av片| 亚洲私人影院在线观看| 国产在线精品一区二区夜色| 麻豆成人在线播放| 亚洲在线国产日韩欧美| 老妇喷水一区二区三区| 一道本一区二区| 韩国女主播一区| 欧美偷拍一区二区| 久热精品视频在线| 先锋亚洲精品| 亚洲国内在线| 久久久久久久综合日本| av不卡免费看| 亚洲大胆女人| 国产美女搞久久| 欧美欧美在线| 久久男人av资源网站| 中日韩美女免费视频网站在线观看| 久久免费高清视频| 亚洲欧美国产不卡| 日韩视频国产视频| 伊人久久综合| 国产日韩av在线播放| 欧美日韩视频在线| 欧美成人免费播放| 久久久青草青青国产亚洲免观| 亚洲性感激情| 99视频精品免费观看| 亚洲福利视频二区| 欧美成人一区二区三区| 久久精品在线视频|