用線段樹維護區間沒有被損壞的路的最小值,最小值對應的下標,區間被損壞的路的個數。。。標記下穿的時候先傳add,再傳mark,傳add的時候minv,add,mark都要加上add[o],傳mark的時候,minv,mark都要取最大。。。
#include #include #include #include #include #include #include #include #include #include #include #include #include #define maxn 200005
#define maxm 20000005
#define eps 1e-10
#define mod 1000000007
#define inf 0x3f3f3f3f
#define lowbit(x) (x&(-x))
#define mp make_pair
#define ls o<<1
#define rs o<<1 | 1
#define lson o<<1, l, mid
#define rson o<<1 | 1, mid+1, r
typedef long long ll;
typedef unsigned long long ull;
//typedef int ll;
using namespace std;
int minv[maxn << 2];
int sum[maxn << 2];
int id[maxn << 2];
int add[maxn << 2];
int mark[maxn << 2];
int n, m, num, mi, idx;
void read(void)
void build(int o, int l, int r)
int query(int o, int l, int r, int ql, int qr)
void pushdown(int o)
if(mark[o] != -inf)
}void pushup(int o, int l, int r)
}void updata(int o, int l, int r, int ql, int qr, int v, int k)
else
return;
} pushdown(o);
int mid = (l + r) >> 1;
if(ql <= mid) updata(lson, ql, qr, v, k);
if(qr > mid) updata(rson, ql, qr, v, k);
pushup(o, l, r);
}void update(int o, int l, int r)
pushdown(o);
int mid = (l + r) >> 1;
if(idx <= mid) update(lson);
else update(rson);
pushup(o, l, r);
}int query_min(int o, int l, int r, int ql, int qr)
pushdown(o);
int mid = (l + r) >> 1, ans = inf;
if(ql <= mid) ans = min(ans, query_min(lson, ql, qr));
if(qr > mid) ans = min(ans, query_min(rson, ql, qr));
pushup(o, l, r);
return ans;
}void work(void)
if(k == 2) updata(1, 1, n, ql, qr, x, 1);
if(k == 3) updata(1, 1, n, ql, qr, x, 2);
} printf("%d\n", ans);
}int main(void)
} return 0;
}
線段樹 維護序列
老師交給小可可乙個維護數列的任務,現在小可可希望你來幫他完成。有長為 n 的數列,不妨設為 a1,a2,an。有如下三種操作形式 把數列中的一段數全部乘乙個值 把數列中的一段數全部加乙個值 詢問數列中的一段數的和,由於答案可能很大,你只需輸出這個數模 p 的值。輸入格式 第一行兩個整數 n 和 p ...
線段樹 I 維護序列
老師交給小可可乙個維護數列的任務,現在小可可希望你來幫他完成。有長為 nn 的數列,不妨設為 a1,a2,ana1,a2,an。有如下三種操作形式 input 第一行兩個整數 nn 和 pp 第二行含有 nn 個非負整數,從左到右依次為 a1,a2,ana1,a2,an 第三行有乙個整數 mm,表示...
線段樹維護區間01
g.小 w 開關燈 problem 4467 discussion description 晚上到家小 w 通過開關燈來保持自己神經的興奮以便清醒地理筆記。n n 2 n 100,000 2 n 100,000 盞燈被連續的編號為 1 n 1 n 剛回到家的時候,所有的燈都是關閉的。小w 通過 n ...