SPOJ VECTAR1 - Matrices with XOR property(统计)

    xiaoxiao2021-03-25  79

    大体题意:

    问你有多少个矩阵满足(i1,j1) and (i2,j2), if (i1^j1) > (i2^j2) then A[i1][j1] > A[i2][j2]

    对1e9+7取模

    思路:

    当i1^j1 == i2^j2 的时候不能比较大小, 全排列就好了。

    因此问题转换为有多少个i1^j1 == i2^j2 的位置,全排列乘起来就好了

    #include <cstdio> #include <cstring> #include <algorithm> #include <vector> #define Siz(x) (int)x.size() using namespace std; typedef long long LL; const int mod = 1e9+7; int n,m,T; int vis[2048]; LL JIE[2048]; void init(){ JIE[0] = 1; for (int i = 1; i < 2048 ;++i){ JIE[i] = (JIE[i-1] * i) % mod; } } int main(){ scanf("%d",&T); init(); while(T--){ scanf("%d %d",&n, &m); memset(vis,0,sizeof vis); for (int i = 1; i <= n; ++i){ for (int j = 1; j <= m; ++j){ vis[i^j]++; } } LL ans = 1LL; for (int i = 0; i < 2048; ++i){ if (vis[i]) ans = (ans*JIE[vis[i]]) % mod; } printf("%lld\n",ans); } return 0; }

    VECTAR1 - Matrices with XOR property

    no tags 

     

    Imagine A is a NxM matrix with two basic properties 1) Each element in the matrix is distinct and lies in the range of 1<=A[i][j]<=(N*M) 2) For any two cells of the matrix, (i1,j1) and (i2,j2), if (i1^j1) > (i2^j2) then A[i1][j1] > A[i2][j2] ,where  1 ≤ i1,i2 ≤ N 1 ≤ j1,j2 ≤ M. Given N and M , you have to calculatethe total number of matrices of size N x M which have both the properties mentioned above.   Input format: First line contains T, the number of test cases. 2*T lines follow with N on the first line and M on the second, representing the number of rows and columns respectively. Output format: Output the total number of such matrices of size N x M. Since, this answer can be large, output it modulo 10^9+7 Constraints: 1 ≤ N,M,T ≤ 1000 SAMPLE INPUT  1 2 2 SAMPLE OUTPUT  4 Explanation The four possible matrices are: [1 3] | [2 3] | [1 4] | [2 4] [4 2] | [4 1] | [3 2] | [3 1]

    Imagine A is a NxM matrix with two basic properties

    1) Each element in the matrix is distinct and lies in the range of 1<=A[i][j]<=(N*M)

    2) For any two cells of the matrix, (i1,j1) and (i2,j2), if (i1^j1) > (i2^j2) then A[i1][j1] > A[i2][j2] ,where 

    1 ≤ i1,i2 ≤ N

    1 ≤ j1,j2 ≤ M.

    ^ is Bitwise XOR

    Given N and M , you have to calculatethe total number of matrices of size N x M which have both the properties

    mentioned above.  

    Input format:

    First line contains T, the number of test cases. 2*T lines follow with N on the first line and M on the second, representing the number of rows and columns respectively.

    Output format:

    Output the total number of such matrices of size N x M. Since, this answer can be large, output it modulo 10^9+7

    Constraints:

    1 ≤ N,M,T ≤ 1000

    SAMPLE INPUT 

    1

    2

    2

    SAMPLE OUTPUT 

    4

    Explanation

    The four possible matrices are:

    [1 3] | [2 3] | [1 4] | [2 4]

    [4 2] | [4 1] | [3 2] | [3 1]

     

    Submit solution!

    转载请注明原文地址: https://ju.6miu.com/read-16435.html

    最新回复(0)