codevs 3945 完美拓印 KMP

2021-08-24 18:00:24 字數 906 閱讀 4565

題目大意:給你乙個神奇的印章,他左右下三個面都是直的,上面是凸凹不平的面(凸凹都平行於別的面)。然後給你乙個輪廓線,如果乙個面能與輪廓線完全重合,可以把印章的這個沿著輪廓線拓印,求所有的拓印方案。

把輪廓線和印章相鄰兩個高度打個查分,然後kmp匹配一下就行了。

#include #include #include #include #define n 10010

#define mod 1000000007

#define ui unsigned int

#define ll long long

#define dd double

#define idx(x) x-'a'+1

using namespace std;

//re

int t,n,m,cnt;

int nxt[3][n];

ui f[n];

int a[n],b[n],s[n],t[3][n];

void get_kmp(int s1,int p)

else

}}int kmp(int s1,int s2,int p)

else

if(j==m)

}return cnt;

}int main()

for(int i=1;ifor(int i=1;ifor(int i=1;iget_kmp(t[0],0),get_kmp(t[1],1),get_kmp(t[2],2);

int ans=0;

ans+=kmp(s,t[0],0);

ans+=kmp(s,t[1],1);

ans+=2*kmp(s,t[2],2);

printf("%d\n",ans);

return 0;

}

codevs3945 完美拓印

題目鏈結 給出乙個詭異的圖形,再給出乙個歪七扭八的線,問圖形上下兩條邊與線的匹配 前後求差然後kmp,這種數字的匹配還是kmp靠譜,hash太容易衝突了。注意可以上下翻轉有4種匹配方式 codevs3945 include include include include include includ...

debian 安裝 3945無線網絡卡驅動

您的一些硬體需要非自由韌體檔案才能操作。韌體可以從可移動介質載入,比如 usb 棒或者軟盤。缺失的韌體檔案是 iwlwifi 3945 1.ucode 如果現在您有可用的介質,請將其插入,然後繼續。是 否 如果沒有,安完系統後,你就得自己安裝了。只要你的debian源夠新,裡面自然有該驅動。一行 a...

CODEVS 電話連線

題目描述 description 乙個國家有n個城市。若干個城市之間有 線連線,現在要增加m條 線 線當然是雙向的了 使得任意兩個城市之間都直接或間接經過其他城市有 線連線,你的程式應該能夠找出最小費用及其一種連線方案。輸入描述 input description 輸入檔案的第一行是n的值 n 10...