SCOI2018 pipi醬的日常

2021-09-29 01:53:50 字數 1825 閱讀 2633

無傳送門

又是拆絕對值的套路。

絕對值拆掉後有八種情況,絕對值之和一定是這幾個裡面最大的。

因為∣ a+

b∣⩾a

+b

|a+b| \geqslant a+b

∣a+b∣⩾

a+b,∣a+

b∣⩾−

a−

b|a+b| \geqslant -a-b

∣a+b∣⩾

−a−b

。於是維護乙個全域性和,維護每個位置連續三位的八種和就完了。

p us

hu

ppushup

pushup

寫錯調了1h1h

1h。0皿0

#include

#define mid (t[root].l+t[root].r>>1)

#define rc (root<<1|1)

#define lc (root<<1)

#define ll long long

#define re register

#define cs const

using std::max;

cs int n=

1e5+

10,m=8;

cs ll oo=

1e18

;int n,m,op,pos,l,r;

ll a[n]

,b[n]

,val,ans,sum;

ll k[m][4

]=;inline

void

max(ll &x,ll y)

namespace io

template

<

typename t>

inline t get()

while

(isdigit

(ch)

) x=

((x+

(x<<2)

)<<1)

+(ch^48)

,ch=gc(

);return x*f;

}inline

intgi()

inline

intgl()

}using io::gi;

using io::gl;

namespace sgtt[

::n<<2]

;inline

void

pushup

(int root)

inline

void

build

(int root,

int l,

int r)

build

(lc,l,mid)

,build

(rc,mid+

1,r)

,pushup

(root);}

inline ll query

(int root,

int l,

int r,

int id)

inline

void

update

(int root,

int pos)

(pos<=mid)

?update

(lc,pos)

:update

(rc,pos)

;pushup

(root);}

inline

void

change

(int pos)

}int

main()

if(op==2)

}}

記錄此刻的感受(2023年8月26日19 44)

青年人不能太佛系,不能什麼都看得太淡。什麼都看得比較淡,就沒什麼特別想要的東西,也就沒有特別想要為之奮鬥的目標,那樣平平淡淡的一生我害怕我老了以後會後悔。後悔年輕的時候沒有去經歷,後悔自己在最好的時光裡面一事無成,後悔自己的庸庸碌碌。從現在開始,我要丟掉這個不屬於我自己的淡定。我不要再這樣平淡的過下...

2023年03月08日 吃魚的小臉貓 新浪部落格

一 函式指標 顧名思義 指向函式的指標 int p int,int p max true printf d p 20,10 printf d p 20,10 false printf d p 20,10 補充 arr和 arr的數值相同,但含義不同 arr 陣列名可表示陣列的首位址,1 的是陣列單個...

2023年12月6日 字串拼接 的用法

恢復內容開始 a 1,2,3,4,5,6,a b c 3,2,1,3,4,5 b 2,3,4,a c 7,6,6,5,4 a s set a b s set b print a s,n b s c s a s b s print c s x a s b s 判斷a是否是b的子集 print x a ...