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

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!
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩一区二区高清| 国产精品一区二区在线观看网站| 久久综合色8888| 国产欧美日韩一区二区三区在线 | 亚洲国产91| 欧美中文字幕在线观看| 亚洲最新在线视频| 欧美日韩精品二区| 宅男66日本亚洲欧美视频| 亚洲国产小视频在线观看| 久久精品国产96久久久香蕉| 国产麻豆一精品一av一免费| 性欧美办公室18xxxxhd| 亚洲一区欧美| 国产精品一区二区男女羞羞无遮挡 | 亚洲福利视频二区| 久久久久一区| 影音先锋日韩资源| 女女同性精品视频| 久久伊人精品天天| 亚洲高清网站| 亚洲国产日韩一区| 欧美日韩成人综合| 亚洲免费影视| 欧美一区二区三区在| 韩国久久久久| 欧美成人午夜剧场免费观看| 欧美sm视频| 亚洲婷婷在线| 午夜精品国产精品大乳美女| 国产一区二区三区的电影| 久久综合五月天婷婷伊人| 男女精品网站| 亚洲免费视频在线观看| 欧美亚洲综合网| 亚洲国产精品传媒在线观看| 亚洲精品免费在线播放| 欧美性jizz18性欧美| 欧美自拍丝袜亚洲| 久热精品在线| 亚洲自拍偷拍一区| 久久天天狠狠| 亚洲性视频网址| 欧美主播一区二区三区| 亚洲精品1区2区| 一本大道久久精品懂色aⅴ| 国产视频综合在线| 欧美激情一区二区三区在线视频观看 | 欧美大片在线看免费观看| 亚洲午夜久久久| 久久国产免费看| 一区二区日韩| 久久国产高清| 亚洲欧美激情视频| 欧美成人精品一区| 久久成人久久爱| 欧美精品二区三区四区免费看视频| 亚洲自拍偷拍福利| 欧美成人免费视频| 久久久久久一区二区| 欧美日韩亚洲一区二区三区| 久久一本综合频道| 国产精品久久久久久久久久ktv| 久久午夜精品一区二区| 国产精品久久久久久久久久免费看| 欧美大片91| 国产一区91| 亚洲欧美电影在线观看| 日韩视频免费观看高清在线视频| 亚洲视频日本| 在线亚洲自拍| 欧美激情综合亚洲一二区| 久久九九免费视频| 国产精品美腿一区在线看| 91久久久在线| 91久久精品日日躁夜夜躁欧美 | 久久精品成人欧美大片古装| 亚洲欧美精品在线观看| 欧美日韩性生活视频| 欧美国产日韩xxxxx| 国产一区二区激情| 亚洲欧美国产77777| 亚洲欧美另类在线| 欧美色大人视频| 亚洲精品久久久久久久久| 亚洲激情午夜| 欧美国产高潮xxxx1819| 女人天堂亚洲aⅴ在线观看| 国产视频一区在线观看一区免费| 亚洲综合色网站| 欧美一区二区播放| 国产精品久久久久久久久久ktv| 亚洲精品看片| 这里只有精品丝袜| 欧美日韩一区二区在线视频| 亚洲精品在线三区| 一区二区欧美激情| 欧美性一区二区| 亚洲视频在线观看视频| 亚洲欧美一级二级三级| 国产精品一区久久久| 欧美一区成人| 美女图片一区二区| 亚洲国产欧美另类丝袜| 欧美国产日本在线| 99精品视频免费观看视频| 亚洲欧美久久久| 韩日欧美一区二区三区| 久久视频一区二区| 亚洲精品黄色| 午夜欧美精品久久久久久久| 国产日韩一级二级三级| 久久午夜视频| 亚洲精品乱码久久久久久蜜桃91| 亚洲一区二区三区国产| 国产日韩精品一区观看| 久久久久久久久岛国免费| 欧美激情五月| 欧美一级片一区| 亚洲第一在线| 欧美日韩在线精品| 欧美中文字幕在线播放| 亚洲激情在线观看| 久久xxxx精品视频| 亚洲国产精品激情在线观看| 欧美日韩国产综合网| 性伦欧美刺激片在线观看| 免费一级欧美片在线观看| 亚洲一区3d动漫同人无遮挡| 国模一区二区三区| 欧美激情亚洲一区| 午夜日韩激情| 91久久久久久| 久久久999| 中国成人亚色综合网站| 国产一区二区精品在线观看| 欧美黄色一区| 欧美一级在线播放| 亚洲日本精品国产第一区| 久久国产黑丝| 在线视频精品| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲黄色免费电影| 国产老女人精品毛片久久| 男女精品网站| 久久国产婷婷国产香蕉| 99视频一区二区| 亚洲大片在线| 久久频这里精品99香蕉| 亚洲自拍偷拍色片视频| 亚洲精品人人| 精品成人一区二区| 国产精品日韩高清| 欧美日韩国产综合网| 久久在线免费| 久久精品久久综合| 在线综合亚洲欧美在线视频| 亚洲国产精品激情在线观看| 久久综合导航| 久久精品一区| 欧美综合激情网| 亚洲免费在线播放| 亚洲一级影院| 国产精品99久久久久久宅男| 亚洲破处大片| 亚洲国产成人精品女人久久久| 国产一区二区三区日韩欧美| 国产视频在线观看一区| 国产欧美精品久久| 国产午夜精品一区二区三区视频| 国产精品色在线| 国产精品一区二区黑丝| 国产精品视频yy9299一区| 国产精品久久久久久久久动漫| 欧美日韩中文另类| 国产精品白丝黑袜喷水久久久| 欧美日韩美女| 欧美亚州在线观看| 国产精品免费一区二区三区在线观看 | 欧美一级在线视频| 亚洲欧美日韩精品一区二区| 亚洲一区观看| 羞羞色国产精品| 欧美综合国产精品久久丁香| 久久精品国产精品亚洲综合| 久久久久免费观看| 狼人社综合社区| 欧美福利视频| 亚洲大胆女人| 可以免费看不卡的av网站| 先锋影音网一区二区| 欧美主播一区二区三区| 久久久亚洲人| 欧美成人精品| 欧美日韩福利视频| 国产精品国产馆在线真实露脸| 国产精品成人久久久久| 国产精品在线看| 激情六月婷婷综合| 91久久精品国产91性色tv|