Count the Tetris HDU - 1812

本文探讨了一个涉及计数问题的算法题,通过分析不同情况下的操作数量,并利用大数进行精确计算。针对给定的矩阵,文章讨论了如何在允许旋转、翻转等操作下,计算不同的染色方案数目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题意:

给出n,c,给N*N方格,涂色,方格可以旋转,反转,对角线反转

思路:

要分奇偶讨论:

应为奇偶的指环群是不一样的

最后千万不要忘记对折

n,c过大要开java大数

import java.io.*;
import java.util.*;
import java.math.*;

public class Main {
	 public static void main(String args[]) throws Exception
	    {
	        Scanner cin=new Scanner(System.in);
	        BigInteger c,i4=BigInteger.valueOf(4),i2=BigInteger.valueOf(2);
	        int a1,a2,a3,a4,a5;
	        int n;
	          
	        
	        
	        while(cin.hasNext())
	        {
	        	 n=cin.nextInt();
	        	 c=cin.nextBigInteger();
	        	
	        	 if(n%2==1)
	        	 {
	        		a1=(n*n);
	        		a2=1+(n/2)*(n/2)+(n/2);
	        		a3=2*a2-1;
	        		a4=(n/2+1)*n;
	        	 }
	        	 else
	        	 {
	        		 a1=n*n;
	        		 a2=(n/2)*(n/2);
	        		 a3=2*a2;
		        	 a4=(n/2)*n;
	        	 }
	        	 a5=n+(n*n-n)/2;
	             
	             BigInteger ans= (c.pow(a5).multiply(i2).add(c.pow(a4).multiply(i2).add(c.pow(a1).add(c.pow(a2).add(c.pow(a3).add(c.pow(a2))))))).divide(i4.add(i4));
	             System.out.println(ans);
	             
	        }
	    }
}


资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在本文中,我们将探讨如何通过 Vue.js 实现一个带有动画效果的“回到顶部”功能。Vue.js 是一款用于构建用户界面的流行 JavaScript 框架,其组件化和响应式设计让实现这种交互功能变得十分便捷。 首先,我们来分析 HTML 代码。在这个示例中,存在一个 ID 为 back-to-top 的 div 元素,其中包含两个 span 标签,分别显示“回到”和“顶部”文字。该 div 元素绑定了 Vue.js 的 @click 事件处理器 backToTop,用于处理点击事件,同时还绑定了 v-show 指令来控制按钮的显示与隐藏。v-cloak 指令的作用是在 Vue 实例渲染完成之前隐藏该元素,避免出现闪烁现象。 CSS 部分(backTop.css)主要负责样式设计。它首先清除了一些默认的边距和填充,对 html 和 body 进行了全屏布局,并设置了相对定位。.back-to-top 类则定义了“回到顶部”按钮的样式,包括其位置、圆角、阴影、填充以及悬停时背景颜色的变化。此外,与 v-cloak 相关的 CSS 确保在 Vue 实例加载过程中隐藏该元素。每个 .page 类代表一个页面,每个页面的高度设置为 400px,用于模拟多页面的滚动效果。 接下来是 JavaScript 部分(backTop.js)。在这里,我们创建了一个 Vue 实例。实例的 el 属性指定 Vue 将挂载到的 DOM 元素(#back-to-top)。data 对象中包含三个属性:backTopShow 用于控制按钮的显示状态;backTopAllow 用于防止用户快速连续点击;backSeconds 定义了回到顶部所需的时间;showPx 则规定了滚动多少像素后显示“回到顶部”按钮。 在 V
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值