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

forestkeeper

C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
  3 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks
一道套數(shù)據(jù)結(jié)構(gòu)的題

題意是說,螞蟻有n個等級(level),每個等級初始都有一定量的螞蟻,隨后有一系列操作,p a b操作表示把level  a的螞蟻個數(shù)轉(zhuǎn)換成b,q  x  表示詢問在所有螞蟻里排名第x的螞蟻在哪個等級。

首先一共有的螞蟻數(shù)為所有l(wèi)evel螞蟻數(shù)量總和,不能為每個螞蟻都開一個int數(shù)組去存它的level(如果數(shù)據(jù)量很小則這種方法可以是o(n)的)。對存著每個層的螞蟻可以用求和與x比較來確定它處于哪個level。由于n的數(shù)量級,故希望能采用log n級的方法來處理,恰好由線段樹實現(xiàn)的子段和,其無論是更新(update)還是查詢(query)都是log n級的,同時在查詢時可再加一二分,即sort(0,n)開始,于是查詢的復(fù)雜度為logn*logn,最終280ms AC。附代碼,代碼中未用線段樹,而是使用了樹狀數(shù)組同樣是logn的查找及更新復(fù)雜度,空間復(fù)雜度及編程復(fù)雜度比線段樹低。

#include <cstring> 
#include
<cstdio>
const int MAXN = 100000
 
inline 
int lowbit(int x) 
    
return (x & (x ^ (x - 1))); 
}
 
 
template
<class elemType> 
class Sum
public
    elemType a[MAXN], c[MAXN], ret; 
    
int n; 
 
    
void init(int i) 
        memset(a, 
0sizeof(a)); 
        memset(c, 
0sizeof(c)); 
        n 
= i; 
    }
 
 
    
void update(int i, elemType v) 
        v 
-= a[i]; 
        a[i] 
+= v; 
        
for (i++; i <= n; i += lowbit(i)) 
            c[i 
- 1+= v; 
        }
 
    }
 
     elemType query(
int i) 
        
for (ret = 0; i; i ^= lowbit(i)) 
            ret 
+= c[i-1]; 
        }
 
        
return ret; 
    }
 
}
;
Sum
<int>sum; 

int Sort(int l,int r,int x)
{
    
if(l>=r-1)
       
return l;
    
int pos = (l+r)/2;
    
if (pos==1)
      
return pos;
    
int p1 = sum.query(pos);
    
int p2 = sum.query(pos-1);
    
if(x>p1&&x<=p2)
      
return pos;
    
int ans;
    
if(x>p2)
      ans 
= Sort(pos,r,x);
    
else ans = Sort(l,pos,x);
     
return ans;
}

int main()
{
    
int n;
    
while(scanf("%d",&n)!=EOF)
    
{
    sum.init(n);
    
for (int i =0; i<n; i++)
    
{
        
int a;
        scanf(
"%d",&a);
        sum.update(i,a);
    }

    
int m;
    scanf(
"%d",&m);
    
for (int i =0; i<m; i++)
    
{
        
char c[20];
        scanf(
"%s",c);
        
if (c[0]=='p')
        
{
            
int a,b;
            scanf(
"%d%d",&a,&b);
            sum.update(a
-1,b);
        }

        
else
        
{
            
int x;
            scanf(
"%d",&x);
            
int ans = Sort(1,n+1,x);
            printf(
"%d\n",ans);
        }

    }

    }

}
posted on 2010-01-03 11:07 forestkeeper 閱讀(1304) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美人与禽猛交乱配视频| 狠狠色丁香久久婷婷综合丁香| 小黄鸭精品aⅴ导航网站入口| 久久久蜜臀国产一区二区| 一区二区三区欧美成人| 久久免费一区| 久久成人18免费网站| 欧美久久久久久| 欧美h视频在线| 国内外成人在线| 亚洲无限av看| 亚洲色图自拍| 欧美黄色片免费观看| 欧美jjzz| 极品日韩久久| 亚洲一区中文| 欧美在线视频免费| 国产精品每日更新在线播放网址| 亚洲国产一区二区三区青草影视| 国产日韩欧美视频| 亚洲一区二区三区免费视频| 亚洲一区二区免费视频| 欧美日本三级| 亚洲欧洲一区二区在线观看| 亚洲三级电影全部在线观看高清| 久久天堂av综合合色| 欧美96在线丨欧| 亚洲国产精品久久91精品| 久久人人97超碰精品888| 久久男人av资源网站| 国产日韩精品入口| 久久www免费人成看片高清| 久久久噜噜噜久噜久久| 国产一区二区三区的电影| 欧美中文在线观看国产| 久久精品夜夜夜夜久久| 狠狠色狠狠色综合日日tαg| 久久久国产亚洲精品| 久久综合影音| 亚洲欧洲一区二区三区在线观看| 欧美大秀在线观看| 亚洲精品视频免费| 亚洲欧美日韩一区二区| 国产午夜精品麻豆| 久久精品亚洲一区二区三区浴池| 麻豆91精品91久久久的内涵| 亚洲欧洲一级| 欧美午夜理伦三级在线观看| 亚洲视频一二区| 久久综合一区二区三区| 亚洲伦理一区| 国产精品久久网| 久久精品91久久久久久再现| 欧美韩日视频| 亚洲专区一二三| 国语对白精品一区二区| 欧美韩日高清| 亚洲小说区图片区| 免费观看亚洲视频大全| 一区二区高清在线观看| 国产精品日韩一区| 久久夜色精品国产噜噜av| 亚洲欧洲精品一区二区三区| 香蕉乱码成人久久天堂爱免费| 国模精品一区二区三区| 欧美激情综合五月色丁香| 亚洲在线免费视频| 欧美国产日韩二区| 香蕉久久夜色精品国产| 亚洲国产精品一区二区www在线| 欧美日韩在线播放三区| 欧美在线播放一区二区| 99成人在线| 玖玖国产精品视频| 亚洲欧美成人综合| 亚洲观看高清完整版在线观看| 欧美午夜激情在线| 久久亚洲美女| 亚洲欧美日韩一区在线观看| 亚洲电影av在线| 久久久青草婷婷精品综合日韩 | 免费欧美在线视频| 中国av一区| 亚洲黄色小视频| 国产日韩欧美三级| 欧美午夜视频在线| 欧美1区3d| 久久亚洲春色中文字幕| 香蕉免费一区二区三区在线观看| 亚洲国产精品va在线看黑人| 久久久久久国产精品mv| 亚洲影院色在线观看免费| 亚洲精品久久视频| 一区在线免费| 国产日韩欧美在线| 国产精品一区免费观看| 欧美视频精品一区| 欧美日本韩国一区| 欧美激情综合五月色丁香| 久久尤物视频| 久久婷婷麻豆| 久久久久久久综合狠狠综合| 午夜免费日韩视频| 亚洲一区在线观看视频| 一区二区激情视频| 日韩亚洲综合在线| 亚洲三级性片| 99亚洲视频| 99精品国产在热久久婷婷| 亚洲欧洲精品天堂一级| 亚洲激情影院| 亚洲精品少妇| 一区二区动漫| 亚洲图片欧美午夜| 亚洲一区区二区| 亚洲欧美激情视频在线观看一区二区三区| 99这里只有精品| 日韩视频一区二区| 一区二区三区日韩| 亚洲综合色噜噜狠狠| 亚洲永久视频| 久久激情一区| 裸体丰满少妇做受久久99精品| 久久久久久日产精品| 久久综合狠狠综合久久综合88| 久久久一区二区| 欧美91视频| 欧美日韩视频第一区| 欧美性猛交xxxx免费看久久久| 国产精品久久九九| 国产主播一区二区| 亚洲国产日韩在线一区模特| 亚洲剧情一区二区| 亚洲一区二区三区精品在线| 亚洲综合电影| 久久久精品日韩欧美| 欧美激情免费观看| 99成人在线| 久久精品国产91精品亚洲| 欧美成人免费全部观看天天性色| 欧美日韩亚洲免费| 国产一区二区三区免费观看| 91久久精品久久国产性色也91| 亚洲视频在线观看一区| 久久精品一区二区三区中文字幕| 欧美成人午夜| 亚洲免费在线视频一区 二区| 久久久久国产免费免费| 欧美久久影院| 国产亚洲欧美另类中文| 亚洲精品视频在线看| 久久精品免费电影| 91久久在线| 久久岛国电影| 欧美色综合网| 亚洲全部视频| 久久乐国产精品| 99精品国产在热久久婷婷| 欧美一区二区三区婷婷月色 | 欧美日韩国产综合网| 国产精品二区影院| 韩国视频理论视频久久| 国产欧美日韩综合| 亚洲人成高清| 午夜欧美不卡精品aaaaa| 老色鬼久久亚洲一区二区| 亚洲欧洲精品成人久久奇米网| 亚洲一区视频在线| 美乳少妇欧美精品| 国产亚洲精品一区二区| 99精品福利视频| 久久精品三级| 亚洲青色在线| 欧美在线你懂的| 欧美日韩亚洲一区| 亚洲国产成人在线播放| 久久精品国产99| 日韩视频中午一区| 久久噜噜噜精品国产亚洲综合| 欧美激情五月| 亚洲成人在线免费| 亚洲欧美日韩一区二区在线| 欧美成年人视频网站欧美| 亚洲性夜色噜噜噜7777| 欧美电影电视剧在线观看| 国产精品一区一区| 中文亚洲视频在线| 亚洲精品欧美一区二区三区| 久久精品国产欧美亚洲人人爽 | 久久亚洲一区二区| 国产欧美一区二区白浆黑人| 99精品欧美一区二区蜜桃免费| 久久午夜精品一区二区| 亚洲一区欧美二区| 国产精品午夜视频| 亚洲先锋成人| 亚洲人成高清| 欧美日韩国产综合视频在线观看中文| 激情另类综合| 另类激情亚洲|