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

vijos1664 真-資源勘探題解

Posted on 2009-10-06 12:28 hyf 閱讀(436) 評論(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!
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲一级在线| 亚洲开发第一视频在线播放| 1024欧美极品| 精品福利免费观看| 伊人成人网在线看| 亚洲精品综合在线| 亚洲性色视频| 久久精品一区二区国产| 免费在线国产精品| 亚洲乱码国产乱码精品精可以看 | 亚洲午夜久久久久久尤物 | 久久电影一区| 亚洲色图综合久久| 欧美日本亚洲| 国产精品一级二级三级| 国产亚洲午夜| 99v久久综合狠狠综合久久| 亚洲欧美日韩国产成人| 蜜桃精品久久久久久久免费影院| 欧美凹凸一区二区三区视频| 一本到12不卡视频在线dvd| 欧美一区激情| 欧美日韩不卡视频| 黄色av成人| 亚洲欧美日韩一区二区在线| 欧美国产乱视频| 亚洲视频1区| 欧美承认网站| 在线观看一区视频| 羞羞答答国产精品www一本 | 怡红院精品视频| 这里是久久伊人| 久久综合99re88久久爱| 夜夜嗨av一区二区三区中文字幕 | 久久夜色精品| 国产酒店精品激情| 9l国产精品久久久久麻豆| 美女999久久久精品视频| 亚洲小视频在线观看| 欧美不卡福利| 在线看无码的免费网站| 久久国产一区二区| 亚洲视频欧洲视频| 欧美日韩综合在线免费观看| 亚洲精品美女在线| 欧美福利影院| 美女性感视频久久久| 在线激情影院一区| 久久久久久久波多野高潮日日| 一区二区毛片| 欧美日韩国产一区二区三区| 亚洲美女福利视频网站| 欧美激情久久久| 久久免费国产精品| 一区二区三区自拍| 麻豆精品精华液| 久久蜜桃精品| 亚洲精品久久久蜜桃| 亚洲国产精品传媒在线观看| 亚洲欧美在线另类| 国产欧美精品在线播放| 亚久久调教视频| 性久久久久久| 国内在线观看一区二区三区 | 久久精品亚洲一区| 亚洲欧美日韩精品久久亚洲区 | 国产日韩精品一区观看| 亚洲成人资源| 免费观看日韩| 另类综合日韩欧美亚洲| 亚洲激情欧美激情| 亚洲日本中文字幕| 欧美三级午夜理伦三级中视频| 亚洲一区二区三区四区中文 | 久久久水蜜桃av免费网站| 亚洲性夜色噜噜噜7777| 国产亚洲欧美一区| 久久影音先锋| 欧美精品久久久久久久久老牛影院 | 亚洲黄一区二区| 欧美日韩色婷婷| 亚洲欧美福利一区二区| 夜夜嗨一区二区三区| 国产视频亚洲精品| 免费短视频成人日韩| 欧美精品久久久久久久| 欧美在线视频导航| 欧美电影免费观看大全| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲午夜影视影院在线观看| 国产综合久久久久影院| 亚洲国产片色| 国产精品自拍在线| 欧美激情免费观看| 国产精品久久久久毛片大屁完整版 | 欧美日韩精品久久久| 欧美一二三区精品| 欧美v国产在线一区二区三区| 亚洲一区二区三区免费在线观看| 欧美一区二视频在线免费观看| 亚洲电影一级黄| 一本高清dvd不卡在线观看| 尤妮丝一区二区裸体视频| 99在线热播精品免费99热| 伊人久久亚洲热| av成人免费| 亚洲经典三级| 久久精品免费播放| 午夜在线成人av| 欧美日本精品一区二区三区| 久久亚洲美女| 国产欧美在线观看| 一区二区日韩| 夜夜嗨av一区二区三区四区| 久久激情中文| 欧美综合二区| 国产精品一卡| 在线综合+亚洲+欧美中文字幕| 亚洲日本在线视频观看| 亚洲精品久久久久久一区二区| 一区二区日韩伦理片| 亚洲日本成人网| 久久婷婷国产综合精品青草| 久久激情久久| 国产欧美日韩免费| 亚洲一级网站| 亚洲女性喷水在线观看一区| 欧美伦理在线观看| 亚洲精品久久久久久久久久久久| 亚洲欧洲一区二区天堂久久| 久久综合福利| 欧美电影在线观看完整版| 在线观看欧美精品| 久久亚洲美女| 欧美国产日韩a欧美在线观看| 亚洲大胆人体视频| 蜜桃av久久久亚洲精品| 亚洲第一在线| 日韩一级黄色片| 欧美日产一区二区三区在线观看 | 亚洲欧美日本日韩| 欧美在线播放高清精品| 国产精品一区二区久久久久 | 欧美电影美腿模特1979在线看 | 欧美不卡一卡二卡免费版| 怡红院av一区二区三区| 噜噜噜久久亚洲精品国产品小说| 欧美超级免费视 在线| 亚洲国产一区二区三区在线播| 欧美大片一区| 中文欧美日韩| 久久精品首页| 91久久精品国产91久久| 欧美日韩亚洲高清| 午夜精品一区二区三区四区| 久久亚洲国产精品一区二区| 亚洲黄色高清| 欧美婷婷六月丁香综合色| 亚洲一区二区三区中文字幕在线| 久久不射网站| 亚洲国产精品女人久久久| 欧美精品18+| 亚洲欧美一级二级三级| 免费久久99精品国产自| 在线亚洲伦理| 国产综合香蕉五月婷在线| 欧美成年人网站| 亚洲天堂激情| 另类成人小视频在线| 一本综合久久| 伊人伊人伊人久久| 欧美天天影院| 久热精品视频在线| 亚洲午夜一二三区视频| 欧美高清视频一二三区| 午夜精品福利一区二区三区av | 一区二区三区免费观看| 久久久青草婷婷精品综合日韩| 日韩视频中文| 韩国精品主播一区二区在线观看| 欧美日产一区二区三区在线观看| 久久av在线| 亚洲一区在线观看免费观看电影高清| 久久久久久亚洲精品杨幂换脸| 一区二区三区四区五区精品| 久久九九免费视频| 一区二区高清| 亚洲国产一区二区三区高清 | 欧美精品一区视频| 久久国产精品久久久久久| 99精品视频免费| 亚洲第一网站| 久久综合给合久久狠狠色| 午夜精彩国产免费不卡不顿大片| 亚洲伦伦在线| 亚洲国产欧美一区二区三区久久| 国产婷婷成人久久av免费高清 | 国产精品福利在线| 欧美精品日韩一区| 久久综合狠狠综合久久综青草|