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

vijos1664 真-資源勘探題解

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

囧代碼:
  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 真-資源勘探題解[未登錄]  回復(fù)  更多評(píng)論   

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

# re: vijos1664 真-資源勘探題解[未登錄]  回復(fù)  更多評(píng)論   

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>
            亚洲美女av黄| 亚洲精品中文字幕女同| 在线视频精品一区| 中文精品在线| 国产精品久久久久久av福利软件| 亚洲国产精品99久久久久久久久| 亚洲免费在线视频| 欧美专区在线观看一区| 国产亚洲一级| 国产亚洲综合性久久久影院| 欧美劲爆第一页| 亚洲免费一级电影| 欧美一级欧美一级在线播放| 狂野欧美激情性xxxx欧美| 亚洲国产精品成人va在线观看| 欧美日韩高清在线观看| 翔田千里一区二区| 久久夜色精品国产欧美乱极品| 狠狠久久婷婷| 国产精品一区免费观看| 久久精品国产久精国产思思| 亚洲精品国精品久久99热| 久久久水蜜桃av免费网站| 在线一区二区三区四区五区| 国产精品亚洲不卡a| 欧美激情精品| 欧美一区影院| 亚洲视频一区二区免费在线观看| 久久精品免费播放| 亚洲伦理一区| 亚洲欧美中文另类| 亚洲国产清纯| 久久综合久久综合九色| 亚洲欧洲中文日韩久久av乱码| 先锋影音一区二区三区| 亚洲新中文字幕| 国产欧美在线视频| 欧美久久久久| 久久五月天婷婷| 午夜精品影院| 亚洲精品一区在线观看| 久久久青草婷婷精品综合日韩| 亚洲日韩成人| 久久久久国产精品午夜一区| 欧美日韩调教| 欧美手机在线视频| 亚洲午夜国产一区99re久久| 欧美激情精品久久久| 久久国产精品72免费观看| 亚洲黄一区二区| 久久亚洲私人国产精品va| 国产精品任我爽爆在线播放 | 欧美激情黄色片| 亚洲日韩欧美视频一区| 久久精品久久99精品久久| 一区电影在线观看| 欧美一区=区| 一区二区高清视频| 欧美成人dvd在线视频| 美女露胸一区二区三区| 国内偷自视频区视频综合| 亚洲精品极品| 免费看黄裸体一级大秀欧美| 欧美视频免费在线| 欧美亚洲日本国产| 另类尿喷潮videofree| 欧美在线视频导航| 亚洲一区日韩在线| 亚洲欧美中文在线视频| 亚洲国产精品久久久久秋霞影院| 国产一区二区三区四区hd| 欧美国产激情二区三区| 亚洲二区视频| 久久视频精品在线| 久久成人一区二区| 亚洲国产片色| 日韩午夜三级在线| 久久精品日产第一区二区三区| 国产一区二区三区四区| 一本久久综合亚洲鲁鲁| 亚洲国产高清一区| 一本一本a久久| 亚洲高清色综合| 亚洲成人自拍视频| 欧美激情按摩在线| 亚洲一区二区三区激情| 亚洲综合激情| 国产精品综合色区在线观看| 久久爱另类一区二区小说| 欧美在线观看一区| 国产一区二区高清| 欧美激情精品久久久| 欧美视频网址| 久久久久久午夜| 欧美xxxx在线观看| 欧美日韩国产成人在线| 在线综合欧美| 午夜一区二区三视频在线观看 | 麻豆精品视频在线观看| 欧美午夜精品理论片a级按摩| 欧美日韩综合精品| 久久国产黑丝| 亚洲一二三四久久| 欧美国产成人精品| 国产精品ⅴa在线观看h| 老司机凹凸av亚洲导航| 欧美日韩国产综合视频在线观看| 香蕉成人啪国产精品视频综合网| 久久久精品国产一区二区三区 | 国产一区香蕉久久| 亚洲国产精品精华液2区45| 欧美激情综合五月色丁香| 久久久国产精品一区| 午夜在线成人av| 亚洲国产视频a| 欧美激情乱人伦| 国产精品欧美日韩一区| 亚洲国产欧美一区二区三区久久| 国产欧美日韩在线观看| 亚洲国产免费看| 国产亚洲精品久久久久久| 正在播放欧美一区| 久久久水蜜桃| 久久激情婷婷| 国产免费成人在线视频| 99在线精品视频| 国产精品国产自产拍高清av王其 | 亚洲国产一区二区三区a毛片| 国产欧美一区二区三区在线老狼 | 久久综合伊人| 国产欧美一区二区视频| 一区二区三区国产| 亚洲午夜一区| 国产精品成人一区二区三区夜夜夜| 91久久极品少妇xxxxⅹ软件| 亚洲风情在线资源站| 久久亚洲精选| 亚洲成色www8888| 欧美日韩国产另类不卡| 亚洲电影在线看| 亚洲国内自拍| 欧美激情第9页| 亚洲精品日韩综合观看成人91| 亚洲精品欧美日韩专区| 欧美伦理视频网站| 欧美二区视频| 伊人色综合久久天天| 永久域名在线精品| 国产精品拍天天在线| 一区二区三区偷拍| 午夜精品久久久久影视 | 亚洲一区二区3| 国产一区二区av| 亚洲免费在线看| 久久久久久久999精品视频| 国产一区二区久久| 久久精品久久综合| 欧美激情按摩在线| 一区二区高清| 国产视频在线观看一区二区| 久久久一区二区| 好吊一区二区三区| 蜜臀a∨国产成人精品| 亚洲国产精品激情在线观看 | 亚洲线精品一区二区三区八戒| 欧美午夜电影在线观看| 一本大道久久a久久精二百| 亚洲素人在线| 国产精品一区视频网站| 久久久精品五月天| 亚洲久久一区| 国产精品国产三级国产普通话蜜臀| 午夜国产精品影院在线观看| 亚洲电影在线播放| 欧美xart系列高清| 亚洲女同在线| 亚洲成色www久久网站| 亚洲剧情一区二区| 国产日韩成人精品| 欧美福利视频| 香蕉久久夜色| 亚洲欧美在线x视频| 女女同性精品视频| 国产视频在线观看一区| 久久五月天婷婷| 一本久久青青| 老**午夜毛片一区二区三区| 亚洲高清影视| 国产美女精品一区二区三区 | 欧美一区视频在线| 狠久久av成人天堂| 欧美日本免费| 久久综合免费视频影院| 亚洲欧美国产77777| 亚洲精品欧美精品| 亚洲第一福利在线观看| 久久久久国内| 亚洲伊人一本大道中文字幕| 亚洲精品乱码久久久久| 伊人久久综合97精品|