当前位置: 首页 > news >正文

CSP201409T5拼图

题意:给出一个 n × m n×m n×m的方格图,现在要用如下L型的占3个的积木拼到这个图中,总共有多少种拼法使图满。

#include<bits/stdc++.h>
using namespace std;
long long n,m,k=1,Now;
int Mod=1000000007;
struct Matrix
{long long a[129][129];Matrix(){for(long long i=0;i<k;i++)a[i][i]=1;}Matrix(int x){memset(a,0,sizeof(a));}Matrix operator*(Matrix& B)//矩阵乘法 {Matrix t(0);for(int i=0;i<k;i++)for(int j=0;j<k;j++)for(int l=0;l<k;l++)t.a[i][j]=(t.a[i][j]+a[i][l]*B.a[l][j])%Mod;return t;}
}; 	
Matrix quickmul(Matrix ans,long long p)//矩阵快速幂 
{Matrix t;	while(p){if(p&1)t=t*ans;ans=ans*ans;p>>=1;}return t;
}
Matrix A(0);
void dfs(int now,int next)
{//cout<<now<<" "<<next<<endl;if(now+1==k){A.a[Now][next]++;return ;}for(int l=0;l<m;l++){if((now>>l)&1)continue;//当前列的位置上有拼图则跳过int temp=1<<l;int now1,next1;//递归,四种拼图 now1=temp|(temp<<1);// 1 1next1=temp;         // 0 1if((l+1<m)&&!(now&now1||next&next1))dfs(now1|now,next1|next);now1=temp|(temp<<1);// 1 1 next1=temp<<1;      // 1 0if((l+1<m)&&!(now&now1||next&next1))dfs(now1|now,next1|next);now1=temp;		    // 0 1 next1=temp|temp<<1; // 1 1if((l+1<m)&&!(now&now1||next&next1))dfs(now1|now,next1|next);now1=temp;	        // 1 0 next1=temp|temp>>1; // 1 1if((l)&&!(now&now1||next&next1))dfs(now1|now,next1|next);return ;}
}
int main()
{cin>>n>>m;for(long long i=0;i<m;i++)k<<=1;for(Now=0;Now<k;Now++)dfs(Now,0);Matrix ANS=quickmul(A,n);	/*for(int i=0;i<k;i++){for(int j=0;j<k;j++)cout<<ANS.a[i][j]<<" ";cout<<endl;	}*/cout<<ANS.a[0][0]<<endl;return 0;
}

相关文章:

CSP201409T5拼图

题意&#xff1a;给出一个 n m nm nm的方格图&#xff0c;现在要用如下L型的占3个的积木拼到这个图中,总共有多少种拼法使图满。 #include<bits/stdc.h> using namespace std; long long n,m,k1,Now; int Mod1000000007; struct Matrix {long long a[129][129];Matrix(…...

mongoDB 优化(2)索引

执行计划 语法&#xff1a;1 db.collection_xxx_t.find({"param":"xxxxxxx"}).explain(executionStats) 感觉这篇文章写得很好&#xff0c;可以参考 MongoDB——索引&#xff08;单索引&#xff0c;复合索引&#xff0c;索引创建、使用&#xff09;_mongo…...

【2024系统架构设计】案例分析- 5 Web应用

目录 一 基础知识 二 真题 一 基础知识 1 Web应用技术分类 大型网站系统架构的演化:高性能、高可用、可维护、应变、安全。 从架构来看:MVC,MVP,MVVM,REST,Webservice,微服务。...

布隆过滤器详解及java实现

什么是布隆过滤器&#xff1f; 布隆过滤器&#xff08;Bloom Filter&#xff09;是一种数据结构&#xff0c;用于判断一个元素是否属于一个集合。它的特点是高效地判断一个元素是否可能存在于集合中&#xff0c;但是存在一定的误判率。 布隆过滤器的基本原理是使用一个位数组…...

CloudCompare 点云工具

CloudCompare 点云工具 1. CloudCompare简介1.1 CloudCompare下载 2. CloudCompare安装 1. CloudCompare简介 CloudCompare 是一款开源的三维点云处理软件&#xff0c;它提供了一系列功能来处理、查看和分析三维点云数据。这个软件可以用于许多不同的应用领域&#xff0c;包括…...

Linux 著名的sudo、su是什么?怎么用?

一、su 什么是su&#xff1f; su命令&#xff08;简称是&#xff1a;substitute 或者 switch user &#xff09;用于切换到另一个用户&#xff0c;没有指定用户名&#xff0c;则默认情况下将以root用户登录。 为了向后兼容&#xff0c;su默认不改变当前目录&#xff0c;只设…...

C语言分支语句

一、什么是语句 C语句可分为以下五类&#xff1a; 表达式语句 函数调用语句 控制语句 复合语句 空语句 本周后面介绍的是控制语句。 控制语句用于控制程序的执行流程&#xff0c;以实现程序的各种结构方式&#xff0c;它们由特定的语句定义符组成&#xff0c;C语 言有…...

android 资源文件混淆

AGP7.0以上引用AndResGuard有坑 记录下 在项目的build.gradle中添加如下 buildscript {ext.kotlin_version "1.4.31"repositories {google()jcenter()maven {url "https://s01.oss.sonatype.org/content/repositories/snapshots/"}}dependencies {class…...

注册接口和前置SQL及数据生成及封装

注册接口 演示注册接口的三步操作&#xff1a;【注册流程逻辑】 第一步&#xff1a;发送注册短信验证码接口请求 请求方法&#xff1a; put 请求地址&#xff1a;http://shop.lemonban.com:8107/user/sendRegisterSms 请求参数&#xff1a;{“mobile”:“13422337766”} 请求头…...

鸿蒙实战开发-通过输入法框架实现自绘编辑框

介绍 本示例通过输入法框架实现自会编辑框&#xff0c;可以绑定输入法应用&#xff0c;从输入法应用输入内容&#xff0c;显示和隐藏输入法。 效果预览 使用说明 1.点击编辑框可以绑定并拉起输入法&#xff0c;可以从输入法键盘输入内容到编辑框。 2.可以点击attach/dettac…...

深度学习中的注意力模块的添加

在深度学习中&#xff0c;骨干网络通常指的是网络的主要结构或主干部分&#xff0c;它负责从原始输入中提取高级特征。骨干网络通常由卷积神经网络&#xff08;CNN&#xff09;或者类似的架构组成&#xff0c;用于对图像、文本或其他类型的数据进行特征提取和表示学习。 注意力…...

Docker 部署开源远程桌面工具 RustDesk

RustDesk是一款远程控制&#xff0c;远程协助的开源软件。完美替代TeamViewer &#xff0c;ToDesk&#xff0c;向日葵等平台。关键支持自建服务器&#xff0c;更安全私密远程控制电脑&#xff01;官网地址&#xff1a;https://rustdesk.com/ 环境准备 1、阿里云服务器一 台&a…...

intellij idea 使用git ,快速合并冲突

可以选择左边的远程分支上的代码&#xff0c;也可以选择右边的代码&#xff0c;而中间是合并的结果。 一个快速合并冲突的小技巧&#xff1a; 如果冲突比较多&#xff0c;想要快速合并冲突。也可以直接点击上图中 Apply non-conflicting changes 旁边的 All 。 这样 Idea 就会…...

AcWing26. 二进制中1的个数。三种解法Java

输入一个 3232 位整数&#xff0c;输出该数二进制表示中 11 的个数。 注意&#xff1a; 负数在计算机中用其绝对值的补码来表示。 数据范围 −100≤ 输入整数 ≤100 样例1 输入&#xff1a;9 输出&#xff1a;2 解释&#xff1a;9的二进制表示是1001&#xff0c;一共有2个…...

【ADB】常见命令汇总(持续更新)

▒ 目录 ▒ &#x1f6eb; 导读开发环境 1️⃣ 设备连接和识别2️⃣ 应用程序管理3️⃣ 文件传输和管理4️⃣ 设备信息和日志5️⃣ 设备操作和控制6️⃣ 截图相关&#x1f6ec; 文章小结&#x1f4d6; 参考资料 &#x1f6eb; 导读 Android调试桥&#xff08;ADB&#xff09;是…...

【递归与递推】数的计算|数的划分|耐摔指数

1.数的计算 - 蓝桥云课 (lanqiao.cn) 思路&#xff1a; 1.dfs的变量>每一次递归什么在变&#xff1f; &#xff08;1&#xff09;当前数的大小一直在变&#xff1a;sum &#xff08;2&#xff09;最高位的数&#xff1a;k 2.递归出口&#xff1a;最高位数字为1 3.注意&#…...

企业案例:金蝶云星空集成钉钉,帆软BI

正文&#xff1a;在数字化转型的大潮中&#xff0c;众多企业开始探索并实践高效的数据流转与集成&#xff0c;以提升内部管理效率和决策质量。本文将以某企业为例&#xff0c;详细介绍如何通过将钉钉审批流程的数据实时同步至金蝶云星空&#xff0c;并进一步在帆软报表平台上实…...

简单设计模式讲解

设计模式是在软件开发中经常使用的最佳实践&#xff0c;用于解决在软件设计中经常遇到的问题。它们提供了可重用的设计&#xff0c;使得代码更加灵活、可维护和可扩展。下面我将为你讲解几种常见的设计模式&#xff0c;并提供相应的C#代码示例。 1. 单例模式&#xff08;Single…...

基于springboot的社区医疗服务系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…...

影院座位选择简易实现(uniapp)

界面展示 主要使用到uniap中的movable-area&#xff0c;和movable-view组件实现。 代码逻辑分析 1、使用movable-area和movea-view组件&#xff0c;用于座位展示 <div class"ui-seat__box"><movable-area class"ui-movableArea"><movab…...

MOSSE算法在无人机视频跟踪中的应用:一个被低估的轻量级选择?

MOSSE算法&#xff1a;无人机视觉跟踪中未被充分利用的高效解决方案 当你在树莓派或Jetson Nano这样的边缘设备上部署无人机视觉系统时&#xff0c;是否经常面临这样的困境&#xff1a;既需要实时性能&#xff0c;又受限于计算资源和功耗&#xff1f;在众多目标跟踪算法中&…...

Comsol光学仿真连续域束缚态BIC,te,tm模式耦合,透射光谱远场偏振矢量(导出数据计算)

Comsol光学仿真连续域束缚态BIC&#xff0c;te&#xff0c;tm模式耦合&#xff0c;透射光谱远场偏振矢量&#xff08;导出数据计算&#xff09;&#xff0c;所见即所得 【手指在键盘上停顿三秒】这周在实验室搞COMSOL光学仿真差点被边界条件逼疯&#xff0c;连续域束缚态(BIC)…...

OpenClaw资源监控方案:Qwen3-32B镜像驱动服务器健康巡检

OpenClaw资源监控方案&#xff1a;Qwen3-32B镜像驱动服务器健康巡检 1. 为什么需要AI驱动的资源监控&#xff1f; 去年我的个人开发服务器连续宕机三次&#xff0c;每次都是因为磁盘写满导致服务崩溃。传统监控工具虽然能发出警报&#xff0c;但往往在问题发生后才会触发&…...

bert-base-chinese新手教程:从零开始学习中文预训练模型部署与使用

bert-base-chinese新手教程&#xff1a;从零开始学习中文预训练模型部署与使用 1. 认识bert-base-chinese模型 1.1 什么是BERT模型 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;是Google在2018年发布的预训练语言模型。它通过大规…...

CTFHub—Web题目解题合集1(超详细)

目录一. HTTP协议&#xff08;web前置技能&#xff09;1. 请求方式题解小知识2. 302跳转3. Cookie题目解法二. 信息泄露2.1 备份文件下载1. 网站源码2. bak文件题目题解小知识3. vim缓存题目小知识题解4. DS_Store题目小知识题解2.2 Git泄露1. Log题目小知识(GitHack与dirsearc…...

OpenClaw语音交互:nanobot对接Whisper实现声控任务触发

OpenClaw语音交互&#xff1a;nanobot对接Whisper实现声控任务触发 1. 为什么需要语音交互能力 作为一个长期使用OpenClaw进行个人工作流自动化的用户&#xff0c;我一直在思考如何让这个工具更加"无感"地融入日常。键盘输入固然高效&#xff0c;但在某些场景下——…...

Nginx反向代理实战:不改代码轻松解决前后端跨域问题(附完整配置模板)

Nginx反向代理实战&#xff1a;不改代码轻松解决前后端跨域问题&#xff08;附完整配置模板&#xff09; 前后端分离架构已成为现代Web开发的主流模式&#xff0c;但随之而来的跨域问题却让不少开发者头疼。想象一下这样的场景&#xff1a;你的前端运行在https://frontend.com&…...

Path of Building完全指南:3步掌握流放之路最强Build规划与天赋计算神器

Path of Building完全指南&#xff1a;3步掌握流放之路最强Build规划与天赋计算神器 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding Path of Building是《流放之路》玩家…...

vLLM-v0.17.1效果展示:vLLM在中文古诗生成任务中的韵律保持能力

vLLM-v0.17.1效果展示&#xff1a;vLLM在中文古诗生成任务中的韵律保持能力 1. vLLM框架简介 vLLM是一个专为大型语言模型(LLM)设计的高性能推理和服务库&#xff0c;以其出色的速度和易用性著称。这个项目最初由加州大学伯克利分校的天空计算实验室开发&#xff0c;现在已经…...

告别“人工智障”!OpenClaw + 大模型:打造真正能“看懂、想通、干成”的机械臂智能体

写在前面 在机器人圈子里&#xff0c;有个心照不宣的痛点&#xff1a;机械臂越来越便宜&#xff0c;但让它“听话”却越来越难。 传统的示教编程&#xff08;Teaching Pendant&#xff09;太慢&#xff0c;改个产品就得重教一遍&#xff1b;视觉定位&#xff08;Vision Guided&…...