L國的戰鬥續之多路出擊

2021-10-06 05:43:41 字數 1203 閱讀 6498

顯然,x和y可以分開維護。

假設先維護x,我們可以發現操作是不具有結合律的,所以不能用乙個數字維護差值。所以我們就可以想到利用矩陣乘法去維護,因為矩陣乘法是具有結合律的。

我們對操作維護乙個矩陣,答案矩陣為[x,1]去乘m個矩陣,然後因為是具有結合律,所以我們可以先把後面的m個矩陣算出來,然後再算x。

ac**:

#pragma gcc optimize("-ofast","-funroll-all-loops")

#include

#define int long long

using namespace std;

const

int n=

5e5+10;

int n,m,x[n]

,y[n]

,p[n]

,q[n]

,tmp[2]

[2],s[2]

[2],t[2]

[2];

char op[n][2

];void

mul(

int a[

2],int b[

2])signed

main()

tmp[0]

[0]=tmp[1]

[1]=

1;for(

int i=m;i>=

1;i--

)for

(int i=

1;i<=n;i++

) x[i]

=x[i]

*tmp[0]

[0]+tmp[1]

[0];

tmp[0]

[0]=tmp[1]

[1]=

1,tmp[0]

[1]=tmp[1]

[0]=

0;for(

int i=m;i>=

1;i--

)for

(int i=

1;i<=n;i++

) y[i]

=y[i]

*tmp[0]

[0]+tmp[1]

[0];

for(

int i=

1;i<=n;i++

)printf

("%lld %lld\n"

,x[i]

,y[i]);

return0;

}

洛谷P2129 L國的戰鬥續之多路出擊

這一次,l國決定軍隊分成n組,分布在各地,若以l國為原點,可以看作在乙個直角座標系內。但是他們都受統一的指揮,指令部共發出m個命令。命令有移動 上下轉移和左右轉移 瞬移?但是由於某些奇奇怪怪的原因,軍隊收到命令總是有延遲,為了方便,軍方已經寫好乙個棧 那還要我幹嘛,自己都寫好不就行了?所以你要處理的...

L國的戰鬥之間諜(洛谷)

題目背景 l國即將與i國發動戰爭!題目描述 俗話說的好 知己知彼,百戰不殆 l國的指揮官想派出間諜前往i國,於是,選人工作就落到了你身上。你現在有n個人選,每個人都有這樣一些資料 a 能得到多少資料 b 偽裝能力有多差 c 要多少工資 已知敵人的探查間諜能力為 m 即去的所有人b的和要小於等於m 和...

P1910 L國的戰鬥之間諜 By C

l國即將與i國發動戰爭!俗話說的好 知己知彼,百戰不殆 l國的指揮官想派出間諜前往i國,於是,選人工作就落到了你身上。你現在有n個人選,每個人都有這樣一些資料 a 能得到多少資料 b 偽裝能力有多差 c 要多少工資 已知敵人的探查間諜能力為m 即去的所有人b的和要小於等於m 和手頭有x元錢,請問能拿...