牛客多校第二場 J farm

2021-08-21 15:41:38 字數 1256 閱讀 8521

輸入描述:

the first line of input contains 3 integers n,m,t(n*m<=1000000,t<=1000000)

for the next n lines, each line contains m integers in range[1,n*m] denoting the type of plant in each grid.

for the next t lines, the i-th line contains 5 integers x1,y1,x2,y2,k(1<=x1<=x2<=n,1<=y1<=y2<=m,1<=k<=n*m)

輸出描述:

print an integer, denoting the number of plants which would die.

示例1輸入

複製2 2 2

1 22 3

1 1 2 2 2

2 1 2 1 1

輸出複製

3思路: 對於每乙個田地的數    他的二進位制每一位都是由  0 1 組成,我們在更改的數中 只要能夠找到和當前位不一樣的 0 1 那麼就一定能夠使這個植物死掉。

num 中  s[i] 表示當前位 為 0 或者 1 的總數  t[ i ] 表示 當前位為 1 的總數

**: 

#include#include#include#includeusing namespace std;

typedef long long ll;

const int n =1e6+5;

int s[n],t[n];

int n,m,q;

int x1[n],x2[n],yy1[n],y2[n];

ll num[n];

int id(int x,int y)

void add(int i,int *a)

void work(int *a)

}}ll a[n];

int die[n];

int main()

work(s);

for(int u=0;u<20;u++) // 表示第 u 位

}work(t);

for(int i=1;i<=n*m;i++)

else}}

int cnt=0;

for (int i=1;i<=n*m;i++)

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

return 0;

}

牛客暑假多校第二場J farm

要求使用一種資料結構進行批量染色操作,且要求後面可以檢測是否被 其他顏色汙染 則看了題解很容易想到,使用某種資料結構做批量增加的操作,之後檢測增加後的值是否能夠整除原來的元素。考慮如果直接按照1 2 3 4進行賦值就會有 同樣是染色2次,有3 3 6和2 2 2 6,無法有效判斷整除。考慮加乙個操作...

18牛客第二場 J farm

示例1輸入 2 2 2 1 22 3 1 1 2 2 2 2 1 2 1 1 輸出題意 給出乙個n m的區域,t次操作 每個點都是一種植物 t次操作區域覆蓋肥料,如果區域裡面的植物不等於覆蓋的飛亮那麼就植物死亡,求有多少植物死亡。思路 我們將每種植物的座標存下來,然後我也將每種肥料的覆蓋區域座標存下...

牛客多校第二場Jfarm(隨機化演算法)

牛客多校第二場jfarm 隨機化演算法 題目大意 有一塊大小為n m的農田,每乙個地上都種著種類為a i j 的植物,接下來要進行t次農藥噴灑,每次會對左上角為 x1,y1 右下角為 x2,y2 的矩陣噴灑型別為k的農藥,如果被噴灑的植物的種類和農藥的種類不同 也就是a i j k 這個植物就會死掉...