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

心如止水
Je n'ai pas le temps
posts - 400,comments - 130,trackbacks - 0
題目大意:給出了兩個操作:1、C A B D,將區間[A,B]賦值為D;2、P A B,輸出區間[A,B]中有多少個不同的數。
一上午時間,極度郁悶地完成了這道題,原因是看漏了一個條件:At the beginning,the board was painted in color 1.結果我卻認為一開始是沒有顏色的……
數據規模L=100000,肯定需要一個O(nlogn)的算法,于是需要在O(logn)內完成插入和查詢操作,考慮線段樹。
最多只有30種顏色,可以用long整數表示一個區間的顏色:二進制。用按位或運算就可以實現集合的合并。
以下是我的代碼:
#include<stdio.h>
const long maxL=100007;
typedef 
struct
{
    
long a,b;
    unsigned 
long color;
    
long left,right;
}node;
long L,T,O,tot;
node tree[maxL
*7];
void swap(long &a,long &b)
{
    
long t=a;a=b;b=t;
}
long kind(unsigned long color)
{
//  How many colors in Color
    long re=0;
    
for(long i=1;i<=T;i++)
      
if(color&(1<<i))
        re
++;
    
return re;
}
void build(long begin,long end)
{
//  Build A Segment Tree
    long now,mid=(begin+end)>>1;
    tot
++;now=tot;
    tree[now].a
=begin;tree[now].b=end;tree[now].color=2;
    
if(begin<end)
    {
       tree[now].left
=tot+1;build(begin,mid);
       tree[now].right
=tot+1;build(mid+1,end);
    }
}
void insert(long x,long y,long c,long node)
{
//  Insert
    long a=tree[node].a,b=tree[node].b,t=(a+b)>>1;
    
if(x<=a&&b<=y)
      tree[node].color
=(1<<c);
    
else
    {
       
//------
       if(kind(tree[node].color)<=1)
         tree[tree[node].left].color
=tree[tree[node].right].color=tree[node].color;
       
//------
       if(t>=x)
         insert(x,y,c,tree[node].left);
       
if(t+1<=y)
         insert(x,y,c,tree[node].right);
       tree[node].color
=tree[tree[node].left].color|tree[tree[node].right].color;
    }
}
unsigned 
long getcol(long x,long y,long node)
{
//  return color(s) of [x,y]
    long l=0,r=0,a=tree[node].a,b=tree[node].b,t=(a+b)>>1;
    
if(kind(tree[node].color)<=1)
      
return tree[node].color;
    
if(x<=a&&b<=y)
      
return tree[node].color;
    
if(t>=x)
      l
=getcol(x,y,tree[node].left);
    
if(t+1<=y)
      r
=getcol(x,y,tree[node].right);
    
return l|r;
}
int main()
{
    scanf(
"%ld%ld%ld",&L,&T,&O);getchar();
    tot
=0;
    build(
1,L);
    
for(long i=1;i<=O;i++)
    {
       
char cmd;
       
long a,b,c;
       cmd
=getchar();
       
       
switch(cmd)
       {
          
case 'C':
             scanf(
"%ld%ld%ld",&a,&b,&c);getchar();
             
if(a>b) swap(a,b);
             insert(a,b,c,
1);
             
break;
          
case 'P':
             scanf(
"%ld%ld",&a,&b);getchar();
             
if(a>b) swap(a,b);
             printf(
"%ld\n",kind(getcol(a,b,1)));
             
break;
       }
    }
return 0;
}


posted on 2010-02-18 13:38 lee1r 閱讀(1087) 評論(0)  編輯 收藏 引用 所屬分類: 題目分類:數據結構
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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在线精品| 久久激情五月激情| 国产日韩一区二区三区| 日韩亚洲欧美综合| 亚洲午夜电影在线观看| 99在线精品观看| 欧美午夜不卡视频| 亚洲影院免费观看| 久久亚洲私人国产精品va| 亚洲第一精品影视| 欧美一区二区三区久久精品茉莉花| 亚洲欧美日韩系列| 激情综合电影网| 欧美日韩视频在线观看一区二区三区| 亚洲精品久久| 亚洲精品午夜精品| 国产精品乱子久久久久| 欧美中文字幕在线观看| 亚洲免费观看视频| 久久视频免费观看| 亚洲欧美亚洲| 亚洲国产美女精品久久久久∴| 国产精品久久久久久五月尺| 久久久久久久激情视频| 亚洲影院污污.| 亚洲区一区二| 久久综合婷婷| 欧美一区高清| 欧美一区二区三区四区视频| 日韩午夜电影av| 日韩午夜精品视频| 99爱精品视频| aⅴ色国产欧美| 亚洲中午字幕| 久久国产毛片| 性做久久久久久| 一区二区三区在线不卡| 欧美三级韩国三级日本三斤| 久久亚洲一区二区| 久久久精品一区二区三区| 久久黄色级2电影| 久久久水蜜桃av免费网站| 美女精品国产| 欧美日韩国产a| 国产精品日韩精品欧美精品| 国产精品久久久久永久免费观看 | 久久国产高清| 亚洲男人av电影| 久久久久久久波多野高潮日日| 免费在线播放第一区高清av| 日韩视频在线观看一区二区| 亚洲欧美欧美一区二区三区| 久久视频在线看| 欧美日韩亚洲不卡| 国产亚洲欧洲997久久综合| 亚洲国产欧美一区| 中日韩在线视频| 麻豆成人综合网| 美女福利精品视频| 亚洲一区二区久久| 欧美国产日产韩国视频| 国产视频亚洲精品| 日韩一区二区高清| 久久久久一区二区三区| 日韩亚洲欧美高清| 欧美不卡视频一区| 国产午夜一区二区三区| 亚洲人成在线观看| 欧美激情在线观看| 欧美在线观看www| 国产精品一区在线观看你懂的| 亚洲福利国产精品| 欧美一区二区视频在线| 欧美日韩视频免费播放| 最新国产精品拍自在线播放| 久久久国产精品亚洲一区 | 欧美国产一区二区在线观看| 午夜精品久久久久久| 欧美精品日韩一区| 亚洲国产mv| 美女视频黄a大片欧美| 午夜国产不卡在线观看视频| 欧美日韩大片一区二区三区| 亚洲男女毛片无遮挡| 亚洲黄色大片| 久久久久久久久蜜桃| 国产亚洲综合性久久久影院| 日韩午夜激情av| 国产精品99久久久久久白浆小说 | 久久久久91| 狠狠色香婷婷久久亚洲精品| 久久综合网hezyo| 久久精品国亚洲| 最新中文字幕亚洲| 亚洲国产精品免费| 男人的天堂亚洲在线| 亚洲激情电影在线| 亚洲国产电影| 国产精品色婷婷| 欧美一级播放| 米奇777超碰欧美日韩亚洲| av不卡免费看| 午夜影视日本亚洲欧洲精品| 亚洲精品免费一二三区| 亚洲免费视频一区二区| 亚洲国产精品日韩| 亚洲一区二区三区在线看| 久久九九免费视频| 久久免费国产精品| 亚洲开发第一视频在线播放| 亚洲男女自偷自拍| 日韩视频免费在线观看| 亚洲女与黑人做爰| 一本到高清视频免费精品| 久久九九有精品国产23| 欧美一级大片在线观看| 欧美午夜精品伦理| 亚洲激情av在线| 亚洲午夜羞羞片| 国产精品区一区二区三区| 欧美成人福利视频| 国产精品夜夜夜| 亚洲国产精品一区在线观看不卡| 欧美日韩一区二区三区视频| 蜜臀久久99精品久久久画质超高清| 国产精品www| 日韩午夜一区| 一区二区三区**美女毛片| 蜜桃久久av一区| 久久综合九色综合欧美就去吻| 国产亚洲亚洲| 久久精品亚洲| 久久久久欧美| 亚洲欧洲精品一区二区| 欧美高潮视频| 欧美肥婆bbw| 亚洲精品午夜精品| 欧美日韩免费一区二区三区视频| 久久久久中文| 亚洲国产三级| 欧美凹凸一区二区三区视频| 亚洲精品欧美专区| 亚洲欧美视频在线观看| 国产网站欧美日韩免费精品在线观看| 亚洲欧美日韩精品| 午夜性色一区二区三区免费视频 | 尤物精品在线| 久久亚洲一区二区三区四区| 欧美日韩一区在线观看| 亚洲视频视频在线| 久久精品麻豆| 91久久综合| 国产精品免费在线| 久久九九有精品国产23| 日韩一二三区视频| 久久精品中文| 一区二区三区色| 国产日韩一区欧美| 久久视频一区二区| 99精品热视频只有精品10| 亚洲欧美国产视频| 亚洲国产99| 国产一区二区三区成人欧美日韩在线观看 | 一本久久a久久精品亚洲| 在线亚洲一区二区| 欧美天天视频| 亚洲欧美日本日韩| 欧美aⅴ一区二区三区视频| 在线亚洲+欧美+日本专区| 欧美成人久久| 午夜天堂精品久久久久 | 亚洲国产精品精华液网站| 免费国产一区二区| 久久精品99国产精品酒店日本| 亚洲欧美成人网| 亚洲毛片网站| 欧美成年人在线观看| 久久精品一区中文字幕| 欧美一区二区视频在线观看2020| 国产精品99久久久久久www| 亚洲精品一区久久久久久| 今天的高清视频免费播放成人 | 亚洲一区二区精品在线| 亚洲欧洲精品一区二区三区不卡 | 亚洲高清三级视频| 欧美jizz19性欧美| 久久影视三级福利片| 久久久中精品2020中文| 亚洲综合国产| 亚洲欧美一区二区视频| 亚洲视频电影在线| 亚洲主播在线| 亚洲一区二区在线观看视频| 亚洲视频观看| 在线免费一区三区| 在线成人激情黄色|