結論 大河的序列

2021-09-28 22:54:51 字數 2554 閱讀 2333

luo

gu

luogu

luogup

4144

p4144

p414

4大河有一些襪子,但經常十分散亂的堆放著。

有一天龍兒忍不住了,於是將襪子放到了乙個序列上(稱作襪子序列)。

在序列裡,找一段連續子串行,使得所有數字的按位與加上按位或最大。

第一行三個整數 n,b

,p

n,b,p

n,b,

p ,分別表示數列長度和輸出相關的東西

第二行有 n

nn 個整數,表示這個數列的初始數值

設答案為 x

xx ,你需要輸出 (x+

233)

b(x+233)^b

(x+233

)bm od

modmodpp

p

10 1 10000000

7 9 9 4 0 0 8 8 4 7

251
1

<=n

,p

<=1

05

1 <= n,p <= 10^5

1<=n

,p<=1

050

<=b

,dir

ty[i

]<=1

07

0 <= b,dirty[i] <= 10^7

0<=b

,dir

ty[i

]<=1

07對於測試點 1

11 和測試點 2

22 的資料,保證 1≤n

≤100

1≤n≤100

1≤n≤10

0其實這道題可以通過推到得出結論:

設x

xx當前已找到最優序列,現在找到乙個新的數y

yy,若將y

yy插入序列,運算到dir

ty[x

]dirty[x]

dirty[

x]的第i

ii位與dir

ty[y

]dirty[y]

dirty[

y]的對應位時,可分以下情況

1.d ir

ty[x

][i]

==

1dirty[x][i] == 1

dirty[

x][i

]==1

,此時,若dir

ty[y

][i]

dirty[y][i]

dirty[

y][i

]為11

1,則沒有變化,若dir

ty[y

][i]

dirty[y][i]

dirty[

y][i

]為00

0,則會更差(與運算變為0,或運算不變)

2.d ir

ty[x

][i]

==

0dirty[x][i] == 0

dirty[

x][i

]==0

,此時,若dir

ty[y

][i]

dirty[y][i]

dirty[

y][i

]為11

1,則會加到1

11,若dir

ty[y

][i]

dirty[y][i]

dirty[

y][i

]為00

0,則不變

四種情況中,只有一種能加到,而且加了之後,只對x

xx有好處,對y

yy則毫無益處(不會使得值更優)

因此,我們只選擇乙個數。

要選擇乙個數,那麼肯定選擇最大的數,進行運算後,就是這個數的2倍,最後再按題意進行處理

所以,題目最終解法就是:

a ns

=max

(dir

ty[i

])∗2

ans = max(dirty[i]) * 2

ans=ma

x(di

rty[

i])∗

2 加上題目要求的輸出處理

#include

#include

using

namespace std;

int n, b, p, maxn;

int a[

100005];

intcounting

(int x,

int y,

int p)

return ans;

}//快速冪

intmain()

maxn *=2

;if(p ==1)

printf

("0");

else

printf

("%d"

,counting

(maxn +

233, b, p));

}

大河的序列

大河有一些襪子,但經常十分散亂的堆放著。有一天龍兒忍不住了,於是將襪子放到了乙個序列上 稱作襪子序列 每個襪子都有乙個dirtydirty值,定義襪子序列的dirtydirty值為max dir tylb itan ddir tyl 1bit and bita nddi rtyr d irty lb...

大河奔流的精神 俞敏洪

大河奔流的精神是什麼 一開始讀這本書的時候,我並沒有留意,沒有思考,思考書名給我什麼提示,只是簡簡單單想讀這本書。把書的第一章讀了,放下了一段時間,後來把書放在教室裡,之後便重新開始一次暢快的讀書之旅,最終終於把書讀完。回到最初的話題,大河奔流的精神是什麼 是堅持,是堅持不懈,是一天又一天的永不停息...

大河奔流的精神 俞敏洪

大河奔流的精神是什麼 一開始讀這本書的時候,我並沒有留意,沒有思考,思考書名給我什麼提示,只是簡簡單單想讀這本書。把書的第一章讀了,放下了一段時間,後來把書放在教室裡,之後便重新開始一次暢快的讀書之旅,最終終於把書讀完。回到最初的話題,大河奔流的精神是什麼 是堅持,是堅持不懈,是一天又一天的永不停息...