輸入描述:
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 這個植物就會死掉...