P4145 上帝造題的七分鐘 2 花神遊歷各國

2022-10-10 08:51:13 字數 861 閱讀 8126

//#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!改成線段樹,本來想著是這一段區間和只要小於等於其長度就可以跳過了,然而仔細想想完...