日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > 【BZOJ3038】【Codevs2492】上帝造題的七分鐘2

【BZOJ3038】【Codevs2492】上帝造題的七分鐘2

來源:程序員人生   發布時間:2015-04-29 07:43:56 閱讀次數:3758次

膾炙人口雙倍經驗
2492 上帝造題的7分鐘 2

時間限制: 1 s
空間限制: 64000 KB
題目等級 : 大師 Master

題目描寫 Description

  XLk覺得《上帝造題的7分鐘》不太過癮,因而有了第2部。

  “第1分鐘,X說,要有數列,因而便給定了1個正整數數列。
  第2分鐘,L說,要能修改,因而便有了對1段數中每一個數都開平方(下取整)的操作。
  第3分鐘,k說,要能查詢,因而便有了求1段數的和的操作。
  第4分鐘,彩虹喵說,要是noip難度,因而便有了數據范圍。
  第5分鐘,詩人說,要有韻律,因而便有了時間限制和內存限制。
  第6分鐘,和雪說,要省點事,因而便有了保證運算進程中及終究結果均不超過64位有符號整數類型的表示范圍的限制。
  第7分鐘,這道題終究造完了,但是,造題的神牛們不再想寫這道題的程序了。”
  ――《上帝造題的7分鐘?第2部》
  所以這個神圣的任務就交給你了。
輸入描寫 Input Description

  第1行1個整數n,代表數列中數的個數。
  第2行n個正整數,表示初始狀態下數列中的數。
  第3行1個整數m,表示有m次操作。
  接下來m行每行3個整數k,l,r,k=0表示給[l,r]中的每一個數開平方(下取整),k=1表示詢問[l,r]中各個數的和。
  UPD:注意數據中有可能l>r,所以遇到這類情況請交換l和r。
輸出描寫 Output Description

  對詢問操作,每行輸出1個回答。
樣例輸入 Sample Input

10
1 2 3 4 5 6 7 8 9 10
5
0 1 10
1 1 10
1 1 5
0 5 8
1 4 8
樣例輸出 Sample Output

19
7
6
數據范圍及提示 Data Size & Hint

  對30%的數據,1n,m1000,數列中的數不超過32767。
  對100%的數據,1n,m100000,1l,rn,數列中的數大于0,且不超過1e12。
  注意l有可能大于r,遇到這類情況請交換l,r。

來源:Nescafe 20
和花神游歷各國完全1樣233
直接代碼(其實再發這篇我是為了訪問量和經驗)

#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #define MAXN 100100 #define MAXM 201000 #define lchild rt<<1,l,mid #define rchild rt<<1|1,mid+1,r #define ln rt<<1 #define rn rt<<1|1 using namespace std; struct seg { int l,r; long long sum,maxn; }tree[MAXN<<4]; int n,m; int op,l,r; void push_up(int rt) { tree[rt].sum=tree[ln].sum+tree[rn].sum; tree[rt].maxn=max(tree[ln].maxn,tree[rn].maxn); } void build(int rt=1,int l=1,int r=n) { int mid=(l+r)>>1; tree[rt].l=l;tree[rt].r=r; if (l==r) { scanf("%lld",&tree[rt].sum); tree[rt].maxn=tree[rt].sum; return; } build(lchild);build(rchild); push_up(rt); } void modify(int rt,int l,int r) { if (tree[rt].maxn<=1) return; int L=tree[rt].l,R=tree[rt].r,mid=(L+R)>>1; if (L==R) { tree[rt].sum=floor(sqrt(tree[rt].sum)); tree[rt].maxn=tree[rt].sum; return; } if (l<=mid) modify(ln,l,r); if (r>mid) modify(rn,l,r); push_up(rt); } long long query(int rt,int l,int r) { int L=tree[rt].l,R=tree[rt].r,mid=(L+R)>>1; if (L==l&&R==r) return tree[rt].sum; if (r<=mid) return query(ln,l,r); else if (l>mid) return query(rn,l,r); else return query(ln,l,mid)+query(rn,mid+1,r); } int main() { scanf("%d",&n); build(); scanf("%d",&m); for (int i=1;i<=m;i++) { scanf("%d%d%d",&op,&l,&r); if (l>r) swap(l,r); if (op==1) printf("%lld ",query(1,l,r)); else modify(1,l,r); } }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产一区二区三区视频 | 亚洲欧洲在线观看 | 久久国产综合 | 日韩不卡在线 | 另类在线 | 久久99久久99精品免观看粉嫩 | 亚洲精品在线观看视频 | 欧美一级片 | 亚洲 欧洲 日韩 | 成人午夜免费电影 | 日韩精品电影 | 99精品综合 | 国产精品综合久久 | 久热福利视频 | 国产精品久久一区二区三区 | 精品综合99久久久久久www | 国产精品爱久久久久久久 | 99视频在线免费观看 | 久亚洲| 91精品国产色综合久久 | 99久国产| 国产精品美女一区二区三区 | 国产精品久久久久久久久久久久久久 | 国产成人精品在线 | 国产高清不卡 | 欧美不卡一区二区 | 一区二区三区不卡视频在线观看 | 黄色毛片免费看 | 欧美日韩一区在线观看 | 国产一区二区三区不卡在线观看 | 成人精品一区二区户外勾搭野战 | 日韩中文一区二区三区 | 精品欧美一区二区久久久 | 在线黄色av网站 | 日韩精品欧美 | 亚洲成人麻豆 | 不卡一二三区 | 国产一区二区三区精品在线观看 | 色综合99 | 黄色大片免费观看 | 玖玖精品|