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

L2-052 吉利矩阵分

L2-052 吉利矩阵 - 团体程序设计天梯赛-练习集

所有元素为非负整数,且各行各列的元素和都等于 7 的 3×3 方阵称为“吉利矩阵”,因为这样的矩阵一共有 666 种。
本题就请你统计一下,把 7 换成任何一个 [2,9] 区间内的正整数 L,把矩阵阶数换成任何一个 [2,4] 区间内的正整数 N,满足条件“所有元素为非负整数,且各行各列的元素和都等于 L”的 N×N 方阵一共有多少种?

输入格式:

输入在一行中给出 2 个正整数 L 和 N,意义如题面所述。数字间以空格分隔。

输出格式:

在一行中输出满足题目要求条件的方阵的个数。

输入样例:

7 3

输出样例:

666

思路:

剪枝只对完成的行列进行判断,超时两个点
代码:
 

#include <bits/stdc++.h>
using namespace std;
int a[10][10];
int rows[10], ranks[10];
int L, N, ans;void dfs(int x, int y) 
{if (y > N)// 走完一行 { if (rows[x] != L)return;x++;y = 1;}if (x > N) // 填充完整个矩阵 {for (int i = 1; i <= N; i++) {if (ranks[i] != L)return;if(rows[i] != L)return;}ans++;return;}for (int i = 0; i <= L; i++) {a[x][y] = i;rows[x] += i;ranks[y] += i;dfs(x, y + 1);rows[x] -= i;ranks[y] -= i;a[x][y] = 0;}
}int main(void) 
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> L >> N;dfs(1, 1);cout << ans;return 0;
}

思路:
优化剪枝,对于中间过程,凡是超过L的都要回溯,这里利用两个数组,存行和列的值。超时一个点。

代码:
 

#include <bits/stdc++.h>
using namespace std;
int a[10][10];
int rows[10], ranks[10];
int L, N, ans;void dfs(int x, int y) 
{if(rows[x] > L || ranks[y] > L)return; if (y > N)//走完一行 { if (rows[x] != L)return;x++;y = 1;}if (x > N)// 填充完整个矩阵 { for (int i = 1; i <= N; i++) {if (ranks[i] != L)return;}ans++;return;}for (int i = 0; i <= L; i++) {a[x][y] = i;rows[x] += i;ranks[y] += i;dfs(x, y + 1);rows[x] -= i;ranks[y] -= i;a[x][y] = 0;}
}int main(void) {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> L >> N;dfs(1, 1);cout << ans;return 0;
}

思路:
完全优化,对于行最后一个位置,不用进行枚举,直接求L-(N-1)选的数字和。

代码:

#include <bits/stdc++.h>
using namespace std;int rows[10], ranks[10];
int L, N, ans;void dfs(int x, int y) 
{if (x > N)//全部走完 {ans++;return;}if (y > N) //走完一行 {if (rows[x] != L) return;x++;y = 1; }if (rows[x] > L || ranks[y] > L)//剪枝 return;if (y == N)//每行最后一个格子 {int remain = L - rows[x];if (remain < 0 || ranks[y] + remain > L) return;rows[x] += remain;ranks[y] += remain;dfs(x, y + 1);rows[x] -= remain;ranks[y] -= remain;} else {int max_i = min(L - rows[x], L - ranks[y]);//取最小 for (int i = 0; i <= max_i; i++) {rows[x] += i;ranks[y] += i;dfs(x, y + 1);rows[x] -= i;ranks[y] -= i;}}
}
int main() 
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> L >> N;dfs(1, 1);cout << ans;return 0;
}


相关文章:

L2-052 吉利矩阵分

L2-052 吉利矩阵 - 团体程序设计天梯赛-练习集 所有元素为非负整数&#xff0c;且各行各列的元素和都等于 7 的 33 方阵称为“吉利矩阵”&#xff0c;因为这样的矩阵一共有 666 种。 本题就请你统计一下&#xff0c;把 7 换成任何一个 [2,9] 区间内的正整数 L&#xff0c;把矩…...

408 计算机网络 知识点记忆(9)

前言 本文基于王道考研课程与湖科大计算机网络课程教学内容&#xff0c;系统梳理核心知识记忆点和框架&#xff0c;既为个人复习沉淀思考&#xff0c;亦希望能与同行者互助共进。&#xff08;PS&#xff1a;后续将持续迭代优化细节&#xff09; 往期内容 408 计算机网络 知识…...

矩阵基础+矩阵转置+矩阵乘法+行列式与逆矩阵

GPU渲染过程 矩阵 什么是矩阵&#xff08;Matrix&#xff09; 向量 &#xff08;3&#xff0c;9&#xff0c;88&#xff09; 点乘&#xff1a;计算向量夹角 叉乘&#xff1a;计算两个向量构成平面的法向量。 矩阵 矩阵有3行&#xff0c;2列&#xff0c;所以表示为M32 获取固…...

如何在 .NET 环境中使用 Npgsql 驱动连接 KaiwuDB

在现代软件开发中&#xff0c;数据库连接和操作是任何应用程序的核心部分。本文将介绍如何在 .NET 环境下&#xff0c;使用 Npgsql 驱动连接 KaiwuDB&#xff0c;并执行基本的数据库操作&#xff0c;包括创建表、插入数据和查询操作。我们假设您已经安装并配置好了 KaiwuDB 数据…...

【代理错误 django】Request error: HTTPSConnectionPool(host=‘‘, port=443): 、

❗问题 ❶&#xff1a;仍然是代理错误&#xff08;ProxyError&#xff09; 错误日志&#xff1a; Request error: HTTPSConnectionPool(hostxueshu.baidu.com, port443): Max retries exceeded ... Caused by ProxyError(Unable to connect to proxy, FileNotFoundError(2, N…...

5.9 《GPT-4调试+测试金字塔:构建高可靠系统的5大实战策略》

5.4 测试与调试:构建企业级质量的保障体系 关键词:测试金字塔模型、GPT-4调试助手、LangChain调试模式、异步任务验证 测试策略设计(测试金字塔实践) #mermaid-svg-RblGbJVMnCIShiCW {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill…...

Maven 多仓库和多镜像配置

Maven是一个流行的Java项目构建和管理工具。在Maven中&#xff0c;我们可以配置多个仓库源来下载和管理依赖项。同时&#xff0c;我们还可以使用repositories和mirrors进行配置&#xff0c;以满足特定的需求。 首先&#xff0c;让我们了解一下repositories和mirrors的作用。在M…...

案例驱动的 IT 团队管理:创新与突破之路:第五章 创新管理:从机制设计到文化养成-5.1 创新激励体系-5.1.3失败案例的价值转化机制

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 失败案例的价值转化机制&#xff1a;IT团队创新管理中的"黑天鹅"炼金术1. 认知重构&#xff1a;重新定义失败的价值1.1 传统失败管理的困境1.2 失败价值转化模型 …...

华为纯血 卓易通 使用记录

&#xff08;1&#xff09;我们在测试华为纯血的时候&#xff0c;发现了&#xff0c;使用咱们的基站上的wifi, wifi与手机终端是互相ping 通的&#xff0c; 手机可以发信号到基站&#xff0c;但基站收到信号后&#xff0c;也发出信号 &#xff0c;但信号 不能到达手机。 这个是…...

计算机网络中科大 - 第7章 网络安全(详细解析)-以及案例

目录 &#x1f6e1;️ 第8章&#xff1a;网络安全&#xff08;Network Security&#xff09;优化整合笔记&#x1f4cc; 本章学习目标 一、网络安全概念二、加密技术&#xff08;Encryption&#xff09;1. 对称加密&#xff08;Symmetric Key&#xff09;2. 公钥加密&#xff0…...

初识Redis · set和zset

目录 前言&#xff1a; set 基本命令 交集并集差集 内部编码和应用场景 zset 基本命令 交集并集差集 内部编码和应用场景 应用场景&#xff08;AI生成&#xff09; 排行榜系统 应用背景 设计思路 热榜系统 应用背景 设计思路 热度计算方式 总结对比表 前言&a…...

Prometheus+Grafana+K8s构建监控告警系统

一、技术介绍 Prometheus、Grafana及K8S服务发现详解 Prometheus简介 Prometheus是一个开源的监控系统和时间序列数据库&#xff0c;最初由SoundCloud开发&#xff0c;现已成为CNCF(云原生计算基金会)的毕业项目‌。它专注于实时监控和告警&#xff0c;特别适合云原生和分布式…...

用 AI + 前端实现一个简易产品图生成器:上传商品标题 → 多场景展示图自动生成

文章目录 一、项目背景与功能概述核心功能&#xff1a; 二、技术选型与环境准备安装依赖与 API Key 配置 三、核心功能模块实现1. 商品图生成器核心逻辑2. 组件模板与 UI 结构 四、功能拓展与优化建议&#xff08;附代码思路&#xff09;✅ 1. 本地历史记录可视化✅ 3. 支持图片…...

实现高效灵活的模糊搜索:JavaScript中的多条件过滤实践

现代Web应用中&#xff0c;数据搜索功能是用户体验的关键部分。本文将深入探讨如何实现一个高效灵活的模糊搜索函数&#xff0c;支持多条件组合查询、精确匹配、模糊匹配以及时间范围筛选。 需求分析 我们需要一个通用的搜索函数&#xff0c;能够处理以下场景&#xff1a; 多…...

ChatterBot的JupyterLab实践指南,从零开始构建AI聊天机器人

从手机上的语音助手到电商平台的客服机器人&#xff0c;这些能理解人类语言的程序背后&#xff0c;都离不开自然语言处理&#xff08;NLP&#xff09;技术的支撑。本文将以JupyterLab为实验平台&#xff0c;带您亲手打造一个会对话的AI机器人。通过这个项目&#xff0c;您不仅能…...

《深度学习》课程之卷积神经网络原理与实践教学设计方案

《深度学习》课程之卷积神经网络原理与实践教学设计方案 一、教学目标设计 &#xff08;一&#xff09;知识目标 学生能够准确描述卷积神经网络&#xff08;CNN&#xff09;的基本定义&#xff0c;包括其核心组成部分&#xff08;如卷积层、池化层、全连接层等&#xff09;及…...

快手OneRec 重构推荐系统:从检索排序到生成统一的跃迁

文章目录 1. 背景2. 方法2.1 OneRec框架2.2 Preliminary2.3 生成会话列表2.4 利用奖励模型进行迭代偏好对齐2.4.1 训练奖励模型2.4.2 迭代偏好对齐 3. 总结 昨天面试的时候聊到了OneRec&#xff0c;但是由于上次看这篇文章已经是一个月之前&#xff0c;忘得差不多了&#xff0c…...

算法——直接插入排序

目录 一、直接插入排序的定义 二、直接插入排序的原理 三、直接插入排序的特点 四、代码实现 一、直接插入排序的定义 直接插入排序是一种简单直观的排序算法&#xff0c;其基本思想是将一个元素插入到已经排好序的部分数组中&#xff0c;使得插入后的数组仍然保持有序。具…...

Linux 软件管理

文章目录 dpkg软件包管理工具APT软件包管理工具apt-get命令apt-cache Linux操作系统主要支持RPM和Deb两种软件包管理工具。 RPM&#xff08;Redhat Package Manager&#xff09;是一种用于互联网下载包的打包及安装工具。 其原始设计理念是开放的&#xff0c;不仅可以在Redhat平…...

电力实训中应注意以下安全事项

电力实训中应注意以下安全事项&#xff1a; 一、环境准备与设备检查 保持实训场地整洁通风&#xff0c;清除易燃物与杂物&#xff0c;确保操作空间充足。 电路容量需匹配设备功率&#xff0c;安装漏电保护器及空气开关。 非带电金属设备外壳应接地&#xff0c;定期检查线路…...

序列化-流量统计

新建文件夹及文件 编写流量统计的Bean对象 package com.root.mapreduce.writable; import org.apache.hadoop.io.Writable; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; //1 继承Writable接口 public class FlowBean implements Writab…...

矩阵游戏--二分图的匈牙利算法

https://www.luogu.com.cn/problem/P1129 学习路线---https://blog.csdn.net/qq_39304630/article/details/108135381 1.二分图就是两个独立的两个集合&#xff0c;如这里是行和列 2.匈牙利匹配就是媒婆拉媒&#xff0c;没伴侣或者伴侣可以换就将当前的塞给她 3.最后true的…...

spring security解析

Spring Security 中文文档 :: Spring Security Reference 1. 密码存储 最早是明文存储&#xff0c;但是攻击者获得数据库的数据后就能得到用户密码。 于是将密码单向hash后存储&#xff0c;然后攻击者利用彩虹表&#xff08;算法高级&#xff08;23&#xff09;-彩虹表&…...

【技巧】chol分解时,矩阵非正定时的临时补救措施,以MATLAB为例

针对非正定矩阵无法进行标准Cholesky分解的解决方案及MATLAB代码实现&#xff0c;结合不同应用场景的需求分层解析 文章目录 数值修正方法修正Cholesky分解LDL分解 矩阵变换与重构特征值修正乘积法构造正定矩阵 替代分解与降维方法QR分解与SVD主成分分析&#xff08;PCA&#x…...

Hi3518E官方录像例程源码流程分析(三)

文章目录 第二阶段&#xff0c;初始化第一阶段计算好的参数SAMPLE_COMM_SYS_Init 第三阶段&#xff0c;启动VI和chn捕获SAMPLE_COMM_VI_StartVi&#xff08;&#xff09;SAMPLE_COMM_VI_StartBT656小阶段1 SAMPLE_COMM_VI_StartMIPI_BT1120&#xff08;&#xff09;小阶段1 SAM…...

37.Java 异步回调(CompletableFuture 概述、CompletableFuture 使用)

一、CompletableFuture 概述 CompletableFuture 在 Java 里面被用于异步编程&#xff0c;异步通常意味着非阻塞&#xff0c;可以使得任务单独运行在与主线程分离的其他线程中&#xff0c;并且通过回调可以在主线程中得到异步任务的执行状态&#xff0c;是否完成&#xff0c;和是…...

数学建模AI智能体(4.16大更新)

别的不说就说下面这几点&#xff0c;年初内卷到现在&#xff0c;就现阶段AI水平&#xff0c;卷出了我比较满意的作品&#xff0c;这里分享给各位同学&#xff0c;让你们少走弯路&#xff1a; 1.轻松辅导学生 2.帮助学习 3.突破知识壁垒&#xff0c;缩短与大佬的差距 4.打破…...

Python 第三节 流程控制

目录 1.分支结构 条件控制 2.循环语句 3.循环控制语句 4.嵌套循环 控制代码执行的顺序 顺序结构分支结构循环结构 1.分支结构 条件控制 让代码有自主选择的能力, 当满足某个条件的时候执行对应的操作 1.1 if语句 语法格式 if 判断条件:执行语句(当判断条件为真的时候执…...

深入探究Linux编译器gcc/g++:从基础到进阶

目录 一、编译的幕后流程 &#xff08;一&#xff09;预处理&#xff1a;宏与文件的魔法融合 &#xff08;二&#xff09;编译&#xff1a;代码规范性的严格审视 &#xff08;三&#xff09;汇编&#xff1a;迈向机器语言的关键一步 &#xff08;四&#xff09;连接&a…...

用户态网络缓冲区

用户态网络缓冲区 缓冲区作用 用于临时存储数据以便高效地进行读写操作。用户态缓冲区位于用户空间中&#xff0c;与内核空间中的缓冲区&#xff08;内核缓冲区&#xff09;相对。 用户态接受缓存区 粘包问题&#xff0c;缓存非完整数据包 生产者的速度 > 消费者的速…...

解决Flutter 2.10.5在升级Xcode 16后的各种报错

Flutter 环境 Flutter version 2.10.5Dart version 2.16.2DevTools version 2.9.2CocoaPods version 1.16.2Xcode 16.3 问题一&#xff1a;XCResult parsing error: Error: This command is deprecated and will be removed in a future release, --legacy flag is required t…...

【学习笔记】计算机网络(八)—— 音频/视频服务

第8章 互联网上的音频/视频服务 文章目录 第8章 互联网上的音频/视频服务8.1概述8.2 流式存储音频/视频8.2.1 具有元文件的万维网服务器8.2.2 媒体服务器8.2.3 实时流式协议 RTSP 8.3 交互式音频/视频8.3.1 IP 电话概述8.3.2 IP电话所需要的几种应用协议8.3.3 实时运输协议 RTP…...

OpenCv高阶(三)——图像的直方图、图像直方图的均衡化

目录 一、直方图 1、计算并显示直方图 2、使用matplotlib方法绘制直方图&#xff08;不划分小的子区间&#xff09; 3、使用opencv的方法绘制直方图 &#xff08;划分16个小的子亮度区间&#xff09; 4、绘制彩色图像的直方图&#xff0c;将各个通道的直方图值都画出来 二、…...

OpenCV 图形API(39)图像滤波----同时计算图像在 X 和 Y 方向上的一阶导数函数SobelXY()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::gapi::SobelXY 函数是 OpenCV 的 G-API 模块中用于同时计算图像在 X 和 Y 方向上的一阶导数&#xff08;即 Sobel 边缘检测&#xff09;的一…...

领麦微:电炖锅红外测温传感器应用,告别糊锅干烧

领麦微红外测温传感器在电炖锅中的应用&#xff0c;特别是在应对高温环境、实现精准测温以保留食材营养、有效防止干烧与糊锅现象&#xff0c;以及提供安全烹饪新保障等方面&#xff0c;展现出了其独特的技术优势和应用价值。以下是对这些应用特点的深入剖析&#xff1a; 一、高…...

(Linux操作系统)自定义shell的实现

讲自定义shell之前我们先看一个东西&#xff0c;那就是进程替换&#xff0c;我们想要父进程fork之后的子进程之后运行一个全新的程序那该怎么办呢&#xff1f; 这里就要用一个叫做进程替换的一个东西了&#xff0c;程序替换是通过特定的接⼝&#xff0c;加载磁盘上的⼀个全新的…...

安卓jks提取pem和pk8文件

你需要安装&#xff1a; Java Keytool OpenSSL 系统要求&#xff1a;Mac/Linux/Windows 都可以。 keytool -importkeystore -srckeystore holder-keystore.jks -destkeystore holder-keystore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass yzhafzKPj4 -dest…...

人脸检测-人脸关键点-人脸识别-人脸打卡-haar-hog-cnn-ssd-mtcnn-lbph-eigenface-resnet

链接&#xff1a;https://pan.baidu.com/s/1VhGdyIW5GWuTNkfbCEc5eA?pwdz0eo 提取码&#xff1a;z0eo --来自百度网盘超级会员V2的分享 创建环境 conda create -n 环境名称python3.8 conda activate 环境名称 然后配置环境 pip install requirements.txt 运行程序&…...

Gobuster :dir、dns、vhost

Gobuster 及其相关技术知识​​必须​​用于法律明确允许的场景&#xff01;&#xff01;&#xff01; 1. dir 模式&#xff1a;目录/文件枚举 用途&#xff1a;扫描目标网站的目录和文件&#xff0c;常用于发现隐藏资源或敏感文件。 ​​关键参数​​&#xff1a; -u URL&am…...

Vue+Threejs项目性能优化

使用Vue和Three.js开发的项目&#xff0c;但运行一段时间后电脑内存就满了&#xff0c;导致性能下降甚至崩溃&#xff0c;分析内存泄漏的原因优化如下&#xff1a; 资源释放管理 手动释放Three.js资源&#xff1a; 在Vue组件的beforeDestroy或destroyed生命周期中&#xff0…...

Leetcode - 双周赛135

目录 一、3512. 使数组和能被 K 整除的最少操作次数二、3513. 不同 XOR 三元组的数目 I三、3514. 不同 XOR 三元组的数目 II四、3515. 带权树中的最短路径 一、3512. 使数组和能被 K 整除的最少操作次数 题目链接 本题实际上求的就是数组 nums 和的余数&#xff0c;代码如下&…...

[特殊字符] PostgreSQL MCP 开发指南

简介 &#x1f680; PostgreSQL MCP 是一个基于 FastMCP 框架的 PostgreSQL 数据库交互服务。它提供了一套简单易用的工具函数&#xff0c;让你能够通过 API 方式与 PostgreSQL 数据库进行交互。 功能特点 ✨ &#x1f504; 数据库连接管理与重试机制&#x1f50d; 执行 SQL…...

等离子体浸没离子注入(PIII)

一、PIII 是什么&#xff1f;基本原理和工艺 想象一下&#xff0c;你有一块金属或者硅片&#xff08;就是做芯片的那种材料&#xff09;&#xff0c;你想给它的表面“升级”&#xff0c;让它变得更硬、更耐磨&#xff0c;或者有其他特殊功能。怎么做呢&#xff1f;PIII 就像是用…...

TinyEngine 2.4版本正式发布:文档全面开源,实现主题自定义,体验焕新升级!

本文由体验技术团队李璇原创。 前言 TinyEngine低代码引擎使开发者能够定制低代码平台。它是低代码平台的底座&#xff0c;提供可视化搭建页面等基础能力&#xff0c;既可以通过线上搭配组合&#xff0c;也可以通过cli创建个人工程进行二次开发&#xff0c;实时定制出自己的低…...

gemini讲USRP

您好&#xff01;USRP (Universal Software Radio Peripheral) 是一种软件无线电 (SDR) 设备系列&#xff0c;由 Ettus Research (现为 National Instruments 旗下公司) 开发和销售。USRP 提供了一个灵活且可配置的平台&#xff0c;用于设计、原型开发和部署各种无线通信系统。…...

智能超表面通信控制板--通道电压并行控制版

可重构智能超表面&#xff08;Reconfigurable Intelligent Surface, RIS&#xff09;技术是一种新兴的人工电磁表面技术&#xff0c;它通过可编程的方式对电磁波进行智能调控&#xff0c;从而在多个领域展现出巨大的应用潜力。超表面具有低成本、低能耗、可编程、易部署等特点&…...

Spring Task(笔记)

介绍&#xff1a; 应用场景&#xff1a; cron表达式&#xff1a; cron表达式在线生成器&#xff1a; 入门案例&#xff1a;...

YOLOv3的改进思路与方法:解析技术难点与创新突破

YOLOv3作为目标检测领域的经典算法&#xff0c;凭借其出色的速度和性能平衡获得了广泛应用。然而&#xff0c;随着计算机视觉技术的不断发展&#xff0c;YOLOv3在某些场景下的局限性也逐渐显现。本文将深入分析YOLOv3的不足之处&#xff0c;并系统介绍常见的改进策略和方法&…...

【解锁元生代】ComfyUI工作流与云原生后端的深度融合:下一代AIGC开发范式革命

## 从单机到云原生的认知跃迁 当2023年Stable Diffusion WebUI还在争夺本地显卡性能时&#xff0c;ComfyUI已悄然开启工作流模块化革命&#xff1b;当2024年AI绘画工具陷入"参数调优内卷"&#xff0c;云原生技术正重塑AI开发的基础设施层。二者的深度融合&#xff0…...

shell 编程之正则表达式与文本处理器

目录 一、正则表达式 1. 概念 2. 作用 3. 分类 二、基础正则表达式&#xff08;BRE&#xff09; grep 命令选项 三、扩展正则表达式&#xff08;ERE&#xff09; 与 BRE 的区别 四、文本处理器 1. sed 工具 2. awk 工具 五、总结 总结对比 元字符总结 工具对比与…...