ycw的成績表

2021-09-25 14:54:12 字數 2001 閱讀 2039

題目背景

wwh是蕪湖一中的一名程式設計師,有一天,他有幸被ycw的找去。。。

ycw有n張數學考試卷。

題目描述

ycw的問題是這樣的:

ycw有一大堆的考試卷,一共n張,這些考試卷被他排成一行,每次考試都有乙個預期成績。

ycw一共有m個問題:

1 x k 將第x次考試的預期成績加上為k(比如,ycw重考一遍)

2 x y k 將第x到y次考試的預期成績都加上k(比如,ycw瘋狂刷題)

3 x y 求第x到y次考試的預期成績最大值。

4 x y 求第x到y次考試的預期成績最小值。

ycw不想被老師和家長找,也不想寫線段樹,於是他找到了wwh。

wwh只會暴力,於是找到了ak了noi2017的c國的第一oier,你,來幫他解決這個問題。

輸入輸出格式

輸入格式:

第一行兩個數n,m。

第二行n個數,分別表示原來考試的預期成績

第3~m+2行,表示ycw的問題,格式如題目描述中所述。

輸出格式:

每行乙個數,表示3,4詢問的答案

input

10 7

3 2 5 7 9 8 6 4 8 100

1 2 6

3 1 2

2 3 5 4

4 6 10

3 5 8

2 9 10 3

3 1 10

output84

13103

#include

#include

#include

#include

#include

#define ll long long

using

namespace std;

const

int n=

200002

;ll x,y,mx[n*4]

,mn[n*4]

,add[n*4]

,n,mt,op,z,a[n]

;ll maxx

(ll p,ll q)

ll minn

(ll p,ll q)

inline ll read()

while

(ch>=

'0'&&ch<=

'9')

return s*f;

}void

pushdown

(ll rt)

}void

pushup

(ll rt)

void

build

(ll l,ll r,ll rt)

ll m=

(l+r)/2

;build

(l,m,rt<<1)

;build

(m+1

,r,rt<<1|

1);pushup

(rt)

;}

ll query_min

(ll l,ll r,ll l,ll r,ll rt)

ll query_max

(ll l,ll r,ll l,ll r,ll rt)

void

update

(ll l,ll r,ll c,ll l,ll r,ll rt)

long

long m=

(l+r)/2

;pushdown

(rt);if

(l<=m)

update

(l,r,c,l,m,rt*2)

;if(r>m)

update

(l,r,c,m+

1,r,rt*2+

1);pushup

(rt);}

intmain()

else

if(op==2)

else

if(op==3)

else

if(op==4)

}return0;

}

UOJ 519 ycw的成績表

wwh是蕪湖一中的一名程式設計師,有一天,他有幸被ycw的找去。ycw有n張數學考試卷。ycw的問題是這樣的 ycw有一大堆的考試卷,一共n張,這些考試卷被他排成一行,每次考試都有乙個預期成績。ycw一共有m個問題 1 x k 將第x次考試的預期成績加上為k 比如,ycw重考一遍 2 x y k 將...

06 01 向成績表中插入資料

begin transaction declare errorsum int set errorsum 0 向分數表中插入資料 insert into result studentno,subjectid,examdate,studentresult values 1,1,getdate 90 se...

C語言之學生成績表

練習 班主任需要在計算機中錄入n個同學的成績資訊,資訊包含 學號 姓名 性別 總成績 語文成績 英語成績 數學成績 程式在編寫時有如下要求 1.n由班主任確定,且使用malloc申請記憶體 2.學號以201805xx形式,姓名為英文名,語文成績 英語成績 數學成績由班主任輸入,總成績需要由程式計算 ...