Nescaf 41 編碼病毒 迴圈卷積

2022-03-27 09:16:33 字數 1991 閱讀 3817

題意看起來好麻煩實際上很簡單,首先4s可以先bitset暴力一下,聽說卡卡就能過:$o(2^+n^2/32)$

1 #include2 #include3 #include4 #include5

#define rep(i,l,r) for (int i=l; i<=r; i++)

6using

namespace

std;78

const

int n=100100,inf=0x3f3f3f3f

;9 bitsetdata,test;

10int n,m,ans,cost[n],cnt[4194314

];11

char

s[n];

1213

intmain()

23 scanf("

%s",s); rep(i,0,n) data[i]=s[i]=='1'

;24 scanf("

%s",s); rep(i,0,n) test[i]=s[i]=='1'

;25for (int i=0; i)

27int j=(data^test).count();

28 ans=min(ans,min(j,n-j+1)+cost[i]);29}

30 printf("

%d\n

",ans);

31return0;

32 }

然後我們觀察一下我們的這個暴力到底在做什麼事情,發現後面的主迴圈實際上就是乙個類似迴圈卷積的問題,我們要把它變成真正的卷積。

觀察異或真值表:

0 0 0

0 1 1

1 0 1

1 1 0

我們變換一下:把a中0位上的值變成-1,1位上的值變成1,b中相反,於是就有:

0 0 1

0 1 -1

1 0 -1

1 1 1

最後我們將所有結果加1,再除以2,就變成上面的那個表了,這就成功將迴圈異或變成了迴圈卷積,直接做即可。

1 #include2 #include3 #include4 #include5 #include6

#define rep(i,l,r) for (int i=l; i<=r; i++)

7using

namespace

std;

8 typedef complexc;

9const

int n=600100,inf=0x3f3f3f3f;10

const

double pi=acos(-1

.);11

char

s[n];

12int n,m,k,ans,cost[n],rev[n],cnt[4194314

],data[n],test[n],c[n];

1314

c a[n],b[n];

1516

void dft(c a,int n,int

f)25}26

}27if (f==-1) for (int i=0; in;28}

2930

void mul(int test,int data,int res,int

m)38

39int

main()

49 scanf("

%s",s); for (int i=0; i'

1')?1:-1

);50 scanf("

%s",s); for (int i=0; i1]=((s[i]=='

1')?1:-1

);51 mul(test,data,c,3*n);

52for (int i=0; i>1,ans=min(ans,cost[i]+min(k+1,n-k));

53 printf("

%d\n

",ans);

54return0;

55 }

Nescaf 2 月之謎 題解

月之謎 mystery.pas c cpp 題目描述 打敗了 lord lsp 之後,由於 lqr 是乙個心地善良的女孩子,她想淨化 lord lsp 黑化的心,使他變回到原來那個天然呆的 lsp 具體地來說是這樣的,定義月之數為能夠被其十進位制表示下各個數字的和整除的數。給定整數 l,r,你需要計...

小公尺電視4a4c4x4s的區別

小公尺電視4a 55英吋延續了小公尺電視以往的簡約時尚風格英吋,採用黑色色彩為主,看起來經典又百搭 搭配64位四核處理器,配置2gb 8gb大儲存 搭載第6代畫質引擎,相比上一代有4處公升級,同步支援hdr10和hybrid log gamma。提供了更多的動態範圍和影象細節,使得暗部更暗,亮部更亮...

SpringMVC4 Hibernate4學習筆記

注 本文是以前幾篇部落格的簡單合併,未做更新 鑑於目前資料大多數都是基於spring3的配置,本人在最初搭建的時候遇到很多問題,由此記錄下來僅供參考 使用的jar檔案springframework4.0.6 為了方便整個先導入 hibernate4.3.6 required 下所有jar 以及 op...