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

C++分析研究  
C++
日歷
<2010年2月>
31123456
78910111213
14151617181920
21222324252627
28123456
78910111213
統計
  • 隨筆 - 92
  • 文章 - 4
  • 評論 - 4
  • 引用 - 0

導航

常用鏈接

留言簿

隨筆檔案

文章檔案

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

 

  題意:區間交、并、減、補

  思路:用線段樹的葉子節點記錄該點是否被區間覆蓋,因為有開區間的情況,因此考慮離散,將數值乘以2。

  U:把區間[l,r]覆蓋成1

  I:把[-∞,l)(r,∞]覆蓋成0

  D:把區間[l,r]覆蓋成0

  C:把[-∞,l)(r,∞]覆蓋成0 , 且[l,r]區間0/1互換

  S:[l,r]區間0/1互換

  區間修改容易做,但是加上區間異或就難了。

  我們考慮維護這樣一棵線段樹,如果區段的setv不是-1(初始化時候為-1),則說明該節點所對應的區段內全部的值為setv,如果根節點和子節點的setv值都不為-1,我們只認根節點上面的setv值。然后維護一個xorv值,表示該節點對應區段是否被異或奇數次(異或偶數次和沒異或一樣,是0)。這個xorv值一定出現在查找時第一次遇到setv值的前面,也就是說,查找時會先遇到有意義的xorv值,再遇到有意義的setv值(有意義是指,xorv=1,或者setv!=-1)。當要修改某個區段或尋找某個區段的過程中,xorv值和setv值會用pushdown不斷往下壓。明顯我們可以知道這個性質:當一個區間被覆蓋后,不管之前有沒有異或標記都沒有意義了。所以當一個節點得到覆蓋標記時把異或標記清空托福答案

  而當一個節點得到異或標記的時候,先判斷覆蓋標記,如果是0或1,直接改變一下覆蓋標記,不然的話改變異或標記托福改分

  輸出的時候,我們可以用一個hash數組記錄,用一個query將線段樹上的值往下壓到hash數組里面。

  注意幾個問題:1.出現0的情況

  2.(3,3)這種空集的情況

  #include<cstdio>

  #include<cstring>

  #define M ((L+R)>>1)

  #define ls (o<<1)

  #define rs (o<<1|1)

  #define lson ls,L,M

  #define rson rs,M+1,R

  const int maxn=66666*2;

  bool hash[maxn],empty=1,flag=0;

  int n,yl,yr,v,setv[maxn*4],xorv[maxn*4],a,b,low=0,high;

  char op,left,right;

  void fxor(int o) {if(setv[o]>=0) setv[o]^=1; else xorv[o]^=1;}

  void pushdown(int o)

  {

  if(setv[o]>=0) {setv[ls]=setv[rs]=setv[o];xorv[ls]=xorv[rs]=0;setv[o]=-1;}

  if(xorv[o])

  {

  fxor(ls);

  fxor(rs);

  xorv[o]=0;

  }

  }

  void setupdate(int o,int L,int R)

  {

  if(yl<=L && R<=yr) {xorv[o]=0;setv[o]=v;return;}

  pushdown(o);

  if(yl<=M) setupdate(lson);

  if(M<yr) setupdate(rson);

  }

  void xorupdate(int o,int L,int R)

  {

  if(yl<=L && R<=yr){fxor(o);return;}

  pushdown(o);

  if(yl<=M) xorupdate(lson);

  if(M<yr) xorupdate(rson);

  }

  void query(int o,int L,int R)

  {

  if(setv[o]>=0)

  {

  if(setv[o]) for(int i=L;i<=R;++i) hash[i]=1;//將信息壓倒hash里面去

  return;

  }

  pushdown(o);

  if(yl<=M) query(lson);

  if(M<yr) query(rson);

  }

  void init()

  {

  memset(setv,-1,sizeof(setv));

  memset(hash,0,sizeof(hash));

  xorv[1]=setv[1]=0;

  }

  void read()

  {

  while(~scanf("%c %c%d,%d%c ",&op,&left,&a,&b,&right))

  {

  a=(a+1)*2,b=(b+1)*2;

  if(left=='(') ++a; if(right==')') --b;

  if(op=='U')

  {

  v=1,yl=a,yr=b;

  if(yl<=yr) setupdate(1,1,maxn-1);

  }

  else if(op=='I')

  {

  v=0,yl=1,yr=a-1;

  if(yl<=yr) setupdate(1,1,maxn-1);

  yl=b+1,yr=maxn-1;

  if(yl<=yr) setupdate(1,1,maxn-1);

  }

  else if(op=='D')

  {

  v=0,yl=a,yr=b;

  if(yl<=yr) setupdate(1,1,maxn-1);

  }

  else if(op=='C')

  {

  v=0,yl=1,yr=a-1;

  if(yl<=yr) setupdate(1,1,maxn-1);

  yl=b+1,yr=maxn-1;

  if(yl<=yr) setupdate(1,1,maxn-1);

  yl=a,yr=b;

  if(yl<=yr) xorupdate(1,1,maxn-1);

  }

  else if(op=='S')

  {

  yl=a,yr=b;

  if(yl<=yr) xorupdate(1,1,maxn-1);

  }

  }

  }

  void print()

  {

  yl=1,yr=maxn-1;

  query(1,1,maxn-1);

  while(low<maxn)

  {

  while(!hash[low] && low<maxn) ++low;

  high=low+1;

  while(hash[high] && high<maxn) ++high;

  --high;

  if(low>=maxn) break;

  empty=0;

  if(flag) printf(" ");

  flag=1;

  if(low&1) printf("(");

  else printf("[");

  printf("%d,%d",(low/2)-1,(high-1)/2);

  if(high&1) printf(")");

  else printf("]");

  low=high+1;

  }

  if(empty) printf("empty set");

  puts("");

  }

  int main()

  {

  init();

  read();

  print();

  return 0;

  }

 

posted on 2013-09-03 00:21 HAOSOLA 閱讀(411) 評論(0)  編輯 收藏 引用
 
Copyright © HAOSOLA Powered by: 博客園 模板提供:滬江博客
PK10開獎 PK10開獎
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            午夜一区不卡| 欧美一区视频在线| 欧美激情女人20p| 99re66热这里只有精品3直播| 猫咪成人在线观看| 噜噜噜噜噜久久久久久91 | 国产精品视频一二三| 亚洲人成网站精品片在线观看| 欧美影院视频| 欧美在线观看一区二区| 亚洲图片你懂的| 国产欧美日韩视频一区二区三区| 久久精品30| 嫩草影视亚洲| 亚洲在线视频一区| 欧美在线网站| 一区二区三区福利| 欧美一区日韩一区| 日韩一二三在线视频播| 亚洲影视在线播放| 亚洲国产小视频| 亚洲欧美日韩国产一区二区| 在线精品视频一区二区| 一区二区三区国产| 亚洲高清不卡在线| 一本色道久久88综合亚洲精品ⅰ| 国产精品扒开腿做爽爽爽视频| 亚洲理伦电影| 亚洲一级网站| 久久综合给合久久狠狠色 | 国产精品jizz在线观看美国| 久久九九精品| 欧美日韩综合精品| 欧美成人精品激情在线观看 | 久久综合九色欧美综合狠狠| 亚洲午夜精品久久| 另类av一区二区| 久久精品视频99| 国产精品家教| 亚洲国产一区二区在线| 欧美日韩中文在线观看| 欧美mv日韩mv国产网站| 国产三级精品在线不卡| 欧美日韩激情网| 亚洲精品久久久久久久久久久久久 | 亚洲人久久久| 1204国产成人精品视频| 亚洲女人小视频在线观看| 亚洲欧洲精品一区| 久久av二区| 欧美在线免费视屏| 国产精品久99| 一本色道88久久加勒比精品| 亚洲免费福利视频| 嫩草国产精品入口| 欧美大片在线观看| 伊人成人开心激情综合网| 亚洲欧美日韩在线综合| 亚洲午夜精品一区二区三区他趣 | 亚洲欧美国产视频| 午夜精品福利电影| 国产精品激情av在线播放| 亚洲最新视频在线| 亚洲一级在线| 国产精品男女猛烈高潮激情| 亚洲天堂成人| 在线亚洲精品| 亚洲调教视频在线观看| 亚洲欧洲精品一区二区三区不卡| 久久久久免费视频| 鲁大师成人一区二区三区| 狠狠做深爱婷婷久久综合一区 | 亚洲国产欧美一区二区三区丁香婷| 亚洲国产成人av在线| 免费看的黄色欧美网站| 亚洲国产精品专区久久| 一本大道久久精品懂色aⅴ | 欧美国产1区2区| 日韩一本二本av| 欧美淫片网站| 亚洲国产三级网| 欧美日韩在线播放三区| 中日韩男男gay无套 | 亚洲美女av黄| 国产精品久久国产三级国电话系列| 亚洲免费中文| 牛牛影视久久网| 亚洲网站视频| 韩日欧美一区二区| 欧美精品麻豆| 欧美亚洲尤物久久| 亚洲福利小视频| 亚洲欧美日韩中文播放| 韩国精品一区二区三区| 欧美激情乱人伦| 亚洲自拍偷拍一区| 欧美14一18处毛片| 国产精品黄页免费高清在线观看| 午夜免费久久久久| 狠狠干狠狠久久| 欧美精品偷拍| 久久高清福利视频| 亚洲精品美女在线观看| 久久精品99| 一区二区三区四区国产| 国内精品99| 欧美日韩亚洲视频| 久久精品国产久精国产爱| 亚洲精品久久久久中文字幕欢迎你| 午夜在线一区| 日韩午夜视频在线观看| 国外成人性视频| 国产精品国产馆在线真实露脸| 久久野战av| 性欧美精品高清| 日韩视频一区二区三区在线播放免费观看 | 久久视频国产精品免费视频在线| 日韩视频免费大全中文字幕| 久久人人爽人人爽爽久久| 亚洲图片在线| 一区二区三区免费观看| 亚洲福利视频三区| 国产一区二区欧美日韩| 国产精品福利网站| 欧美日韩黄视频| 欧美激情一区二区| 亚久久调教视频| 欧美激情1区2区| 艳妇臀荡乳欲伦亚洲一区| 国产精品日韩在线观看| 久久久久高清| 亚洲欧洲精品一区二区精品久久久| 亚洲国产99精品国自产| 欧美一区二区三区成人| 国产精品一国产精品k频道56| 欧美人妖另类| 久久久精品视频成人| 午夜伦欧美伦电影理论片| 国产精品99久久久久久久久久久久| 亚洲国产专区| 最近看过的日韩成人| 亚洲国产精品高清久久久| 欧美1级日本1级| 欧美激情精品久久久久久久变态| 久久香蕉国产线看观看av| 久久久免费精品| 美女日韩欧美| 欧美激情精品久久久久久久变态| 牛夜精品久久久久久久99黑人| 美女精品国产| 亚洲电影在线| 99国产欧美久久久精品| 一区二区三区国产盗摄| 亚洲一区二区三区四区中文| 亚洲自啪免费| 久久精品国产免费| 麻豆精品在线视频| 欧美日韩爆操| 国产精品午夜av在线| 国产视频欧美| 亚洲国产婷婷综合在线精品 | 免费不卡亚洲欧美| 欧美精品国产一区| 国产精品成人在线观看| 国产日韩精品综合网站| 精品91久久久久| 亚洲精品一区二区三区99| 亚洲一区二区三区午夜| 久久超碰97中文字幕| 欧美成人精品在线观看| 亚洲国产小视频在线观看| 在线视频你懂得一区| 欧美尤物巨大精品爽| 你懂的成人av| 国产精品久久久久久久久久尿| 国内伊人久久久久久网站视频| 亚洲人体偷拍| 久久成人精品电影| 亚洲国产1区| 亚洲欧美精品| 欧美国产第二页| 国产日韩一区二区| 一本色道久久综合亚洲精品不| 久久激情视频免费观看| 亚洲韩国青草视频| 香蕉乱码成人久久天堂爱免费| 欧美刺激性大交免费视频| 国产精品一页| 99在线热播精品免费99热| 久久精品99| 99精品国产在热久久| 久久久噜噜噜久久中文字幕色伊伊 | 国产精品www色诱视频| 精品动漫一区| 欧美亚洲免费电影| 日韩午夜免费视频| 欧美不卡视频一区发布| 国内外成人免费激情在线视频网站| 亚洲手机视频| 亚洲国产aⅴ天堂久久|