BZOJ 2462 矩陣模板 二維hash

2022-05-26 23:21:11 字數 1491 閱讀 9170

題意:給出乙個n*m的01矩陣,以及k個a*b的01矩陣,問每個是否能匹配原來的01矩陣。

由於k個矩陣的長和寬都是一樣的,所以把原矩陣的所有a*b的子矩陣給hash出來。然後依次查詢是否存在即可。

map被卡,用lower_bound即可。

# include # include 

# include

# include

# include

# include

# include

# include

# include

# include

# include

# include

using

namespace

std;

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

# define pi acos(-1.0

)# define eps 1e-8

# define mod

100000000

# define inf

1000000000

# define mem(a,b) memset(a,b,

sizeof

(a))

# define for(i,a,n)

for(int i=a; i<=n; ++i)

# define fo(i,a,n)

for(int i=a; ii)

# define bug puts("h

");# define lch p

<<1

,l,mid

# define rch p

<<1|1,mid+1

,r# define mp make_pair

# define pb push_back

typedef pair

pii;

typedef vector

vi;# pragma comment(linker,

"/stack:1024000000,1024000000")

typedef

long

long

ll;int

scan()

while(ch>='

0'&&ch<='9')

return x*f;

}const

int n=1005;//

code begin...

char

s[n][n], str[n][n];

int hah[n][n], has[n][n], m1[n], m2[n], key1=1789, key2=131

;vi v;

intmain ()

sort(v.begin(),v.end());

scanf("%d

",&k);

while (k--)

return0;

}

view code

bzoj2462 二維hash 矩陣hash

二維hash 相當於每個位置有兩個權,行乙個,列乙個,然後推的方法和一維一樣 bzoj2462 include include include include include using namespace std define p1 131 define p2 1331 行和列的模數不能相同,否則...

BZOJ2351Matrix (矩陣) 二維雜湊

給定乙個m行n列的01矩陣 只包含數字0或1的矩陣 再執行q次詢問,每次詢問給出乙個a行b列的01矩陣,求該矩陣是否在原矩陣 現過。輸入格式 第一行四個整數m,n,a,b。接下來乙個m行n列的01矩陣,數字之間沒有空格。接下來乙個整數q。接下來q個a行b列的01矩陣,數字之間沒有空格。輸出格式 對於...

二維矩陣與二維矩陣之間的卷積

最近在學習數字影象處理 digital image processing,dip 這門課,感覺有些吃力。由於在數字訊號處理 digital singal processing,dsp 這門課中只學了一維矩陣之間的卷積運算。假設我們的卷積核h為kernel矩陣 33 待處理矩陣f x,y 為 55 h...