BZOJ 4499 線性函式

2022-04-30 10:24:12 字數 1123 閱讀 3172

time limit: 20 sec  memory limit: 256 mb

submit: 177  solved: 127

[submit][status][discuss]

小c最近在學習線性函式,線性函式可以表示為:f(x) = kx + b。現在小c面前有n個線性函式fi(x)=kix+bi ,他對這n個線性函式執行m次操作,每次可以:

1.m i k b 代表把第i個線性函式改為:fi(x)=kx+b 。

2.q l r x 返回fr(fr-1(...fl(x)))  mod  10^9+7 。

第一行兩個整數n, m (1 <= n, m <= 200,000)。

接下來n行,每行兩個整數ki, bi。

接下來m行,每行的格式為m i k b或者q l r x。

對於每個q操作,輸出一行答案。

5 54 2

3 65 7

2 67 5

q 1 5 1

q 3 3 2

m 3 10 6

q 1 4 3

q 3 4 4

1825

17978

981 <= n, m <= 200,000,0 <= k, b, x < 1000,000,007

[submit][status][discuss]

莫名其妙,線段樹維護一下區間的函式和就好了,單點修改,區間查詢,比gss還水……

update 感覺這麼水的題,再睏還是可以寫出來的,補**……

1 #include2

#define n 200005

3#define m 800005

4#define p 1000000007

5int

n,m,ki[n],bi[n],k[m],b[m];

6void build(int t,int l,int

r)15}16

void build(int t,int l,int r,int

p)25}26

int query(int t,int l,int r,int x,int y,int

v)33

main()

45 }

@author: yousiki

bzoj4499 線性函式

題目描述 小 c 最近在學習線性函式,線性函式可以表示為 f x kx b 現在小 c 面前有 n 個線性函式 f i x k ix b i 他對這 n 個線性函式執行 m 次操作。每次可以 1.m i k b 代表把第 i 個線性函式改為 f i x kx b 2.q l r x 返回 f r f...

BZOJ4499 線性函式 線段樹

題目大意 小c最近在學習線性函式,線性函式可以表示為 f x kx b。現在小c面前有n個線性函式fi x kix bi 他對這n個線性函式執行m次操作,每次可以 1.m i k b 代表把第i個線性函式改為 fi x kx b 2.q l r x 返回fr fr 1 fl x mod 10 9 7...

bzoj 4499 線性函式 線段樹

題目鏈結 想說的話 沒什麼想說的 題解 我們都知道 f2 f1 x k2 k1 x b1 b2 k1 k2 x k2 b1 b1 然後用線段樹去維護連續的一段最終的f x 是什麼 查詢修改就都很簡單了.include define mod 1000000007 define maxn 200020 ...