第十屆藍橋杯省賽C B組 字尾表示式

2021-10-04 10:15:26 字數 1294 閱讀 9177

題目鏈結-字尾表示式

解題思路

當減號數目小於負數數目時,由於字尾表示式具有隱含的括號,相當於帶括號的中綴表示式,所以只要有乙個減號,既可以衍生出無數的減號,eg:

a−(b

+c+…

+z)=

a−b−

c−…−

zeg:a-(b+c+…+z)=a-b-c-…-z

eg:a−(

b+c+

…+z)

=a−b

−c−…

−z,(n=3,m=1 n個整數分別為4,-1,-2,-3,-4時,可以寫成4-((-1)+(-2)+(-3)+(-4))=14)

當減號數目大於負數數目時,必定要減去乙個數,所以我們減去乙個最小的數就行了eg1

eg1eg

1:n=1,m=1,n個數分別為1,2,3,可以寫成3+2-1=4,eg2

eg2eg

2:n=0,m=2,n個數分別為1,2,3,可以寫成3-(1-2)=3+2-1=4

當減號數目等於負數數目時,顯然,直接全部都加上絕對值就行(n=2,m=2,n個整數分別為2,4,-3,-6,可以寫成2+4-(-3)-(-6)=15)

附上**

#include

#define int long long

#define lowbit(x) (x &(-x))

using

namespace std;

const

int inf=

0x3f3f3f3f

;const

int dir[4]

[2]=

;const

double pi=

acos(-

1.0)

;const

double eps=

1e-10

;const

int m=

1e9+7;

const

int n=

2e5+5;

typedef

long

long ll;

typedef pair<

int,

int> pii;

int a[n]

;signed

main()

else

return0;

}

第十屆藍橋杯省賽C B組 數列求值

試題 c 數列求值 本題總分 10 分 問題描述 給定數列 1,1,1,3,5,9,17,從第 4 項開始,每項都是前 3 項的和。求第 20190324 項的最後 4 位數字。答案提交 答案 4659 思路 因為結果只要最後4位數字,所以每做一次加法就對10000取模即可。include incl...

第十屆藍橋杯省賽C B組 數列求值

試題 c 數列求值 本題總分 10 分 問題描述 給定數列 1,1,1,3,5,9,17,從第 4 項開始,每項都是前 3 項的和。求第 20190324 項的最後 4 位數字。答案提交 答案 4659 思路 因為結果只要最後4位數字,所以每做一次加法就對10000取模即可。感想 這個題我開始以為陣...

第十屆藍橋杯省賽C B組 數列求值

給定數列 1,1,1,3,5,9,17,從第 4 項開始,每項都是前 3 項的和。求第 20190324 項的最後 4 位數字。看題肯定就是遞推沒跑。for int i 4 i 20190324 i a i a i 1 a i 2 a i 3 1.這道題不 10000就會資料過大,且後四位也只受到後...