bzoj5043 密碼破譯

2021-08-08 19:55:40 字數 803 閱讀 6506

題目

dp神題,公式什麼的我們想出來,看一發題解吧。

但是,這不是重點,重點是get到了乙個新姿勢。。

int型別如果右移超過了32位,前32位是無效的,也就是說移40位和移8位是一樣的233。因為這個,我樣例都沒過,好菜呀。

#include

#define n 100000

using

namespace

std;

long

long n,m,tmp;

long

long a[n+5],x,f[65][n+5],inf;

long

long c[n+5][2];

inline

char nc()

inline

long

long read()

inline

void write(long

long x)

putchar(' ');

}int main()

memset(f,37,sizeof(f)),inf=f[0][0];

f[60][0]=0;

for(long

long i=59;i>=0;i--)

for(long

long j=0;jif(f[i+1][j]!=inf)

for(long

long k=0;k<2;k++)

cout

<<(f[0][0]==inf?-1:f[0][0]);

return

0;}

bzoj 5043 密碼破譯

求乙個最小的數,它和一串數的異或值的和 m。orz claris f i j 表示i位前 後面的先砍掉,不理,方便轉移 j m的i位前。那麼當j 0或j n時是一定無解的,因為後面的位至多補 n 1 2i所以隨便轉移一下就好了。關鍵是狀態表示,還是太菜了。code include include i...

簡單密碼破譯

problem description 密碼是我們生活中非常重要的東東,我們的那麼一點不能說的秘密就全靠它了。哇哈哈.接下來淵子要在密碼之上再加一套密碼,雖然簡單但也安全。假設淵子原來乙個bbs上的密碼為zvbo941987,為了方便記憶,他通過一種演算法把這個密碼變換成yuanzi1987,這個密...

python 破譯密碼

題目內容 a國情報局抓獲敵國間諜一名,從間諜身上搜出了若干密電,在嚴刑逼供之下,間諜說出了密電加密方法 將明文電報 僅由大寫字母構成 中的所有字母均替換為字母表中向後看的第n個字母,如果超過z,則從a繼續數,這樣就得到了密文,比如attack,向後看第2個字母,就加密為cvvcfm。可還沒等到間諜說...