Orange


私信TA

用户名:uq_30153938431

访问量:8934

签 名:

等  级
排  名 920
经  验 3478
参赛次数 0
文章发表 16
年  龄 23
在职情况 在职
学  校 广西建设职业技术学院
专  业 网络技术

  自我简介:

1. 打表

import java.util.Scanner;

public class Main {
    static int N = 1010, mod = 1000000007;
    static int[][] c = new int[N][N];
    static void init() {
        for (int i = 0; i < N; i++) {
            for (int j = 0; j <= i; j++) {
                if (j == 0) c[i][j] = 1;
                else c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]) % mod;
            }
        }
    }

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        init();
        long res = 0;
        for (int i = 0; i < n; i++) {
            int m = scan.nextInt(), r = 0, l = 0;
            for (int j = 0; j < m; j++) {
                if (scan.nextInt() % 2 == 0) r++;
                else l++;
            }
            if (l % 2 == 0) {
                long rr = 0, ll = 0;
                for (int k = 0; k <= r; k++) rr = (rr + c[r][k]) % mod;
                res = rr;
                if (l != 0) {
                    for (int k = 0; k <= l; k+=2) ll = (ll + c[l][k]) % mod;
                    res = ll % mod * rr % mod;
                }
            }
            System.out.println(res);
            res = 0;
        }
    }
}

2. 快速幂

public class A {
    static int INF = 1000000007;
    static long pim(long b) {
        if (b == -1) return 1;
        long t = 2, res = 1;
        while (b != 0) {
            if ((b & 1) == 1) res = res * t % INF;
            t = t * t % INF;
            b >>= 1;
        }
        return res % INF;
    }
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        long res = 0;
        for (int i = 0; i < n; i++) {
            int m = scan.nextInt(), r = 0, l = 0;
            for (int j = 0; j < m; j++) {
                if (scan.nextInt() % 2 == 0) r++;
                else l++;
            }
            if (l % 2 == 0) {
                res = pim(r) * pim(l == 0 ? 0 : l - 1) % INF;
            }
            System.out.println(res);
            res = 0;
        }
    }
}


 

0.0分

7 人评分

  评论区

好厉害啊
2024-03-29 21:46:30
确实爆了,狠狠地爆了
2024-03-16 11:13:51
  • «
  • 1
  • »