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

vijos1664 真-資源勘探題解

Posted on 2009-10-06 12:28 hyf 閱讀(446) 評論(2)  編輯 收藏 引用 所屬分類: OI
    這是道怨念題,交了5次都等不到puppy,更詭異的是vj上顯示的是ac……
    題目的大意是給出n*m的矩陣,詢問(1,1)->(x,y)的子矩陣中只出現一次的元素個數
    對于第i行來說,記錄1->i行內元素x最小和次小的橫坐標x0、x1,那么在該行內將元素x記錄進去的子矩陣只能是左下坐標在x0到(x1-1)之間的。
    所以按行i掃描,維護(1,1)->(i,x)子矩陣的稀有資源個數,也就是對于在本行內出現的元素算出其新的區間[x0,x1),原區間全部減1,新區間加1,在該行沒有出現的元素不變。
    區間整體修改可以用線段樹來維護,但是此題用線段樹T的可能性相當大,注意到這里是維護區間詢問點,所以可以把樹狀數組逆向運用,這樣常數大大降低。
    最終復雜度是O(n^2logn),C++還要進行輸入優化。

囧代碼:
  1 #include <iostream>
  2 using namespace std;
  3 #define LOWBIT(x) (x&(-x))
  4 
  5 int n,m;
  6 int data[1100][1100];
  7 int r[2000000];
  8 int pre[2000000][2];
  9 int hash[2000000][2= {0};
 10 int ans = 0;
 11 int A[1101= {0};
 12 char s[10000];
 13 
 14 void Modify(int x, int c)
 15 {
 16     while(x)
 17     {
 18         A[x] += c;
 19         x -= LOWBIT(x);
 20     }
 21 }
 22 
 23 int Get(int x)
 24 {
 25     int ans = 0;
 26     while(x<=m)
 27     {
 28         ans += A[x];
 29         x += LOWBIT(x);
 30     }
 31     return ans;
 32 }
 33 
 34 void init()
 35 {
 36     int tmp, p;
 37     char *ptr;
 38     scanf("%d %d\n",&n,&m);
 39     for(int i = 0; i < n; i++)
 40     {
 41         gets(s);
 42         p = tmp = 0;
 43         ptr = s;
 44         while(*ptr)
 45         {
 46             if((*ptr)==' ')
 47                 data[i][p++= tmp, tmp = 0;
 48             else
 49                 tmp *= 10, tmp += (*ptr)-'0';
 50             ptr++;
 51         }
 52         data[i][p] = tmp;
 53     }
 54     for(int i = 0; i <= n*m; i++)
 55         hash[i][0= hash[i][1= m, pre[i][0= pre[i][1= m, r[i] = -1;
 56 }
 57 
 58 void solve()
 59 {
 60     int tmp = 0;
 61     for(int i = 0; i < n; i++)
 62     {
 63         for(int j = 0; j < m; j++)
 64         {
 65             tmp = data[i][j];
 66             pre[tmp][0= hash[tmp][0], pre[tmp][1= hash[tmp][1];
 67         }
 68         for(int j = 0; j < m; j++)
 69         {
 70             tmp = data[i][j];
 71             if(j<pre[tmp][0])
 72                 pre[tmp][1= pre[tmp][0], pre[tmp][0= j;
 73             else if(j<pre[tmp][1])
 74                 pre[tmp][1= j;
 75         }
 76         for(int j = 0; j < m; j++)
 77         {
 78             tmp = data[i][j];
 79             if(r[tmp]!=i)
 80             {
 81                 Modify(hash[tmp][1],-1);
 82                 Modify(hash[tmp][0],1);
 83                 Modify(pre[tmp][1],1);
 84                 Modify(pre[tmp][0],-1);
 85                 hash[tmp][0= pre[tmp][0], hash[tmp][1= pre[tmp][1];
 86                 r[tmp] = i;
 87             }
 88         }
 89         for(int j = 1; j <= m; j++)
 90             tmp = Get(j), ans ^= tmp;
 91     }       
 92 }
 93 
 94 void print()
 95 {
 96     printf("%d\n",ans);
 97 }
 98 
 99 int main(void)
100 {
101     init();
102     solve();
103     print();
104     return 0;
105 }

   

Feedback

# re: vijos1664 真-資源勘探題解[未登錄]  回復  更多評論   

2009-10-06 21:35 by Tim
orz?
ORZ!

# re: vijos1664 真-資源勘探題解[未登錄]  回復  更多評論   

2009-11-27 08:32 by SonicMisora
ORZ!

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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热在这里有精品免费| 亚洲精品黄网在线观看| 欧美ab在线视频| 亚洲国产精品成人综合色在线婷婷| 午夜一级久久| 欧美大片一区二区| 欧美福利小视频| 亚洲欧洲中文日韩久久av乱码| 宅男精品视频| 国产真实久久| 欧美精品一区二区三区很污很色的| 99精品欧美一区二区三区综合在线 | 欧美在线视频一区二区| 欧美a级片网站| 亚洲一区二区视频在线观看| 欧美mv日韩mv国产网站| 欧美成人自拍| 亚洲欧美日韩成人| 久久精品一区二区三区四区| 99爱精品视频| 国产日韩精品一区二区三区| 中国成人黄色视屏| 欧美国产三级| 久久久久久自在自线| 正在播放亚洲一区| 亚洲精品视频啊美女在线直播| 99视频精品免费观看| 亚洲国产综合91精品麻豆| 国产乱码精品一区二区三区不卡| 欧美三区视频| 久久国产精品毛片| 一本色道久久综合| 欧美怡红院视频| 亚洲天堂男人| 亚洲在线观看视频| 亚洲欧洲日本国产| 91久久亚洲| 亚洲欧美日韩高清| 亚洲一品av免费观看| 91久久久一线二线三线品牌| 亚洲一区三区视频在线观看| 亚洲视频导航| 欧美激情片在线观看| 欧美区一区二| 亚洲国产精品成人综合色在线婷婷 | 另类亚洲自拍| 久久三级福利| 美国十次成人| 亚洲一区二区三区乱码aⅴ| 免费不卡欧美自拍视频| 欧美在线观看网址综合| 国产精品qvod| 国产精品免费网站在线观看| 欧美三级视频在线| 99精品免费视频| 亚洲成人在线视频播放| 欧美激情欧美激情在线五月| 欧美一级网站| 欧美国产日产韩国视频| 欧美日韩日本视频| 99国产精品久久久久久久成人热| 亚洲第一色在线| 99精品99| 欧美四级伦理在线| 午夜精品999| 久久久久青草大香线综合精品| 性欧美精品高清| 美女图片一区二区| 欧美午夜剧场| 99精品视频免费观看视频| 91久久中文字幕| 亚洲美女精品成人在线视频| 亚洲综合国产| 亚洲小说欧美另类婷婷| 国产精品一区2区| 久久精品视频在线看| 久久久久一区| 欧美午夜在线一二页| 亚洲午夜一区二区三区| 亚洲在线1234| 国产亚洲精品久久久| 洋洋av久久久久久久一区| 日韩午夜高潮| 西瓜成人精品人成网站| 亚洲青色在线| 快播亚洲色图| 日韩一二三区视频| 欧美在线你懂的| 在线成人免费观看| 夜夜精品视频一区二区| 中国成人黄色视屏| 永久免费毛片在线播放不卡| 亚洲国产人成综合网站| 国产精品久在线观看| 蜜臀久久99精品久久久久久9| 欧美精品一区二区三区久久久竹菊 | 午夜精品视频在线| 亚洲欧洲三级电影| 亚洲人永久免费| 性欧美超级视频| 91久久国产综合久久蜜月精品| 欧美午夜www高清视频| 猛男gaygay欧美视频| 欧美午夜一区二区| 欧美高清自拍一区| 国产免费亚洲高清| 日韩一级免费观看| 亚洲国产免费| 西瓜成人精品人成网站| 日韩亚洲视频| 免费av成人在线| 老司机久久99久久精品播放免费| 欧美日韩一区在线观看| 麻豆久久精品| 国产亚洲一本大道中文在线| 99精品国产热久久91蜜凸| 亚洲国产专区| 久久综合久色欧美综合狠狠| 久久精品国产亚洲高清剧情介绍| 欧美日韩亚洲在线| 日韩视频免费在线| 亚洲精品一区二区在线| 开元免费观看欧美电视剧网站| 久久激情五月丁香伊人| 国产乱码精品一区二区三| 亚洲一区二区在| 亚洲欧美中文字幕| 国产精品高潮呻吟视频| 亚洲综合首页| 欧美日本高清视频| 亚洲人体偷拍| 日韩视频永久免费观看| 欧美成人免费全部观看天天性色| 欧美不卡在线视频| 亚洲国产精品一区二区三区| 久久夜色精品| 亚洲国产婷婷香蕉久久久久久99| 亚洲日本va午夜在线影院| 欧美大片一区二区三区| 91久久精品久久国产性色也91| 国产精品久久久久免费a∨ | 久久综合久久综合久久| 久久综合一区二区三区| 久久女同互慰一区二区三区| 国产一区二区久久久| 久久gogo国模啪啪人体图| 久久久午夜电影| 亚洲国产三级在线| 欧美人成免费网站| 亚洲天天影视| 久久午夜精品一区二区| 亚洲国产欧美一区| 欧美日韩1080p| 免费欧美电影| 亚洲美女免费精品视频在线观看| 欧美精品www| 亚洲一卡二卡三卡四卡五卡| 久久精品国产91精品亚洲| 亚洲丰满少妇videoshd| 欧美精品一区二区在线播放| 亚洲视频在线观看一区| 久久综合中文| 亚洲视频精品在线| 好吊视频一区二区三区四区| 日韩午夜中文字幕| 性视频1819p久久| 尹人成人综合网| 欧美日韩黄色一区二区| 亚洲一区二区免费视频| 蜜桃av一区二区| 亚洲在线不卡| 亚洲高清免费在线| 国产精品免费视频xxxx| 麻豆国产精品va在线观看不卡 | aa日韩免费精品视频一| 久久久噜噜噜久久| 一区二区三区欧美在线| 韩国久久久久| 国产精品久久婷婷六月丁香| 麻豆精品视频| 午夜精品久久久久久久99樱桃| 亚洲二区在线| 久久一区二区三区国产精品| 亚洲午夜女主播在线直播| 亚洲第一久久影院| 久久人人97超碰国产公开结果| 日韩一级不卡| 亚洲福利视频一区二区| 久久久午夜视频| 欧美一区二区三区免费视频| 一本色道**综合亚洲精品蜜桃冫| 黄色一区二区在线| 久久永久免费| 亚洲欧美中文另类| 99热这里只有成人精品国产| 欧美激情一区二区在线 | 欧美日韩国产bt| 久久综合国产精品|