/*區間修改 區間查詢 可以用線段樹搞
但是一般的標記下放對這個題好像不合適
只能改葉子 然後更新父親(雖然跑的有點慢)
小優化:如果某個點是1 就不用再開方了
所以搞乙個f[i]標記 i 這個點還需不需要處理下去
注意用longlong 還有就是陣列開大
*/#include
#include
#include
#include
#define ll long long
#define maxn 500010
using
namespace
std;
ll n,m,num,x,y,z;
ll a[maxn],f[maxn];
struct
node
t[maxn*2
];ll init()
while(s>='
0'&&s<='9'
)
if(f==0)return
x;
else
return -x;
}void
build(ll ll,ll rr)
else t[k].sum=a[ll];
}void
update(ll k,ll ll,ll rr)
ll mid=(ll+rr)/2
;
if(y2
);
if(z>=mid)update(t[k].rc,(ll+rr)/2
,rr);
t[k].sum=t[t[k].lc].sum+t[t[k].rc].sum;
f[k]=f[t[k].lc]&&f[t[k].rc];//
如果左右兒子都是1 那麼父親點也不用更新了.
}ll find(ll k,ll ll,ll rr)
intmain()
}
CodeVS2492 上帝造題的七分鐘2
題目描述 description xlk覺得 上帝造題的七分鐘 不太過癮,於是有了第二部。第一分鐘,x說,要有數列,於是便給定了乙個正整數數列。第二分鐘,l說,要能修改,於是便有了對一段數中每個數都開平方 下取整 的操作。第三分鐘,k說,要能查詢,於是便有了求一段數的和的操作。第四分鐘,彩虹喵說,要...
2492 上帝造題的七分鐘 2
時間限制 1 s 空間限制 64000 kb 題目等級 大師 master 題解xlk覺得 上帝造題的七分鐘 不太過癮,於是有了第二部。第一分鐘,x說,要有數列,於是便給定了乙個正整數數列。第二分鐘,l說,要能修改,於是便有了對一段數中每個數都開平方 下取整 的操作。第三分鐘,k說,要能查詢,於是便...
藍橋杯 上帝造題5分鐘
問題描述 第一分鐘,上帝說 要有題。於是就有了l,y,m,c 第二分鐘,lyc說 要有向量。於是就有了長度為n寫滿隨機整數的向量 第三分鐘,yuhch說 要有查詢。於是就有了q個查詢,查詢向量的一段區間內元素的最小值 第四分鐘,mzc說 要有限。於是就有了資料範圍 第五分鐘,cs說 要有做題的。說完...