zoukankan      html  css  js  c++  java
  • 【HDU】1812 Count the Tetris

    题意:n*n个方块组成的正方形,着k种颜色,旋转翻转视为相同的方案,有多少种方案。

    Burnside定理,一共有8个置换,每个置换统计一下不变的着色数即可。

    import java.util.*;
    import java.math.*;
    
    public class Main {
        static int Count1(int n) {
            int ans;
            if (n % 2 == 0)
                ans = 0;
            else
                ans = 1;
            for (n--; n > 0; n -= 2)
                ans += n;
            return ans;
        }
    
        static int Count2(int n) {
            int ans;
            if (n % 2 == 0)
                ans = 0;
            else
                ans = 1;
            for (n = 2 * n - 2; n > 0; n -= 4)
                ans += n;
            return ans;
        }
    
        public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            int n;
            BigInteger k, ans;
            while (in.hasNext()) {
                n = in.nextInt();
                k = in.nextBigInteger();
                ans = k.pow(n * n);
                ans = ans.add(k.pow(Count1(n)).multiply(BigInteger.valueOf(2)));
                ans = ans.add(k.pow(Count2(n)));
                if (n % 2 == 0)
                    ans = ans.add(k.pow(n * n / 2).multiply(BigInteger.valueOf(2)));
                else
                    ans = ans.add(k.pow((n * n - n) / 2 + n).multiply(
                            BigInteger.valueOf(2)));
                ans = ans.add(k.pow((n * n - n) / 2 + n).multiply(
                        BigInteger.valueOf(2)));
                System.out.println(ans.divide(BigInteger.valueOf(8)));
            }
        }
    }
  • 相关阅读:
    Live2D 看板娘
    Live2D 看板娘
    python框架☞Flask
    Python框架☞Django
    Python ORM框架之SQLALchemy
    HTTP1.0 HTTP 1.1 HTTP 2.0主要区别
    【F12】修改 DevTools的主题
    【F12】网络面板
    【正在等待可用套接字】解决方法
    nginx反向代理压测问题记录
  • 原文地址:https://www.cnblogs.com/DrunBee/p/2682423.html
Copyright © 2011-2022 走看看