//#include #include #include #include #include #include #include #include #include #include using namespace std;
typedef long long ll;
const int n = 1e6 + 5;
ll a[n];
struct node tr[n << 2];
void pushup(int u)
void build(int u, int l, int r) ;
if (l == r)
int mid = (l + r) >> 1;
build(u << 1, l, mid), build(u << 1 | 1, mid + 1, r);
//更新父節點資訊
pushup(u);
}void modify(int u, int l, int r)
//中點
int mid = (tr[u].l + tr[u].r) >> 1;
//與左兒子有交集,遞迴修改左兒子
if (l <= mid) modify(u << 1, l, r);
//與右兒子有交集,遞迴修改右兒子
if (r > mid) modify(u << 1 | 1, l, r);
//向父節點傳遞統計資訊
pushup(u);
}//非常標準的查詢
ll query(int u, int l, int r)
int main()
printf("\n");
return 0;
}
P4145 上帝造題的七分鐘2 花神遊歷各國
xlk覺得 上帝造題的七分鐘 不太過癮,於是有了第二部。第一分鐘,x說,要有數列,於是便給定了乙個正整數數列。第二分鐘,l說,要能修改,於是便有了對一段數中每個數都開平方 下取整 的操作。第三分鐘,k說,要能查詢,於是便有了求一段數的和的操作。第四分鐘,彩虹喵說,要是noip難度,於是便有了資料範圍...
P4145 上帝造題的七分鐘2 花神遊歷各國
題目背景 xlk覺得 上帝造題的七分鐘 不太過癮,於是有了第二部。題目描述 第一分鐘,x說,要有數列,於是便給定了乙個正整數數列。第二分鐘,l說,要能修改,於是便有了對一段數中每個數都開平方 下取整 的操作。第三分鐘,k說,要能查詢,於是便有了求一段數的和的操作。第四分鐘,彩虹喵說,要是noip難度...
洛谷P4145上帝造題的七分鐘 區間修改
題目 區間開平方,可以發現其實開幾次就變成1,不需要開了,所以標記一下,每次只去開需要開的地方 原來寫的並查集跳過1或0,然而wa.其實是沒有記錄原陣列的值,因為樹狀陣列存的是修改量 如果a陣列 原陣列 開int會re!改成線段樹,本來想著是這一段區間和只要小於等於其長度就可以跳過了,然而仔細想想完...