2024 ccpc 辽宁省赛 E(构造 思维?)L(二分+一点点数论知识?)
E 题意:

可以注意到:
我的两种方格都四个方格的大小。
所以 如果存在一种摆放方式 那么 4|nm。
再考虑一种特殊的情况 22 ,此时虽然我的积是4 但是无法摆放的。
1>对于 4 | n,或者 4 | m.我直接摆放第二种方格就可以了。
如果我n 是4 的倍数,那么竖着摆放。如果m 是4 的倍数,那么横着摆。
2>对于我n m 都不是4 的倍数的情况。(因为4|nm ,并且我n m 都不是4的倍数。所以n m 都是偶数,(因为每一个数都要贡献出一个2 出来)
我们可以构造出来的最小单元是 26
1 2 2 2 2 3
1 1 1 3 3 3
当m>2的时候。我两行两行的考虑
m至少为6
将原矩阵分成2m 个矩形
当m 大于2 并且不是4的倍数。那么m=4k+6
对分割好的矩形 可以分割成k个24 的矩形和一个2 6的矩形。
当我的m==2 的时候
1 1
1 2
1 2
3 2
3 3
那么我n =4*k+6
和上文类似
我的构思代码
#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> PII;void fun1(int x)
{cout << x << " " << x + 1 << " " << x + 1 << " " << x + 1 << " " << x + 1 << " " << x + 2 << " ";return;
}
void fun2(int x)
{cout << x << " " << x << " " << x << " " << x + 2 << " " << x + 2 << " " << x + 2 << " ";return;
}
void fun3(int x)
{cout<<x<<" "<<x<<"\n";cout<<x<<" "<<x+1<<"\n";cout<<x<<" "<<x+1<<"\n";cout<<x+2<<" "<<x+1<<"\n";cout<<x+2<<" "<<x+1<<"\n";cout<<x+2<<" "<<x+2<<"\n";return ;
}
void solve()
{int n, m;cin >> n >> m;if (n == 2 && m == 2){cout << "NO\n";return;}if ((n * m) % 4 != 0){cout << "NO\n";return;}cout << "YES\n";if (n % 4 == 0 || m % 4 == 0){int tot = 0;if (m % 4 == 0){for (int j = 1; j <= n; j++){for (int k = 1; k <= m; k++){if (k % 4 == 1)tot++;cout << tot << " ";}cout << "\n";}}else{int tot = 1;for (int k = 1; k <= n / 4; k++){for (int jj = 1; jj <= 4; jj++){for (int i = tot; i <= tot + m - 1; i++){cout << i << " ";}cout << "\n";}tot += m;}}return;}int tot = 1;if (m==2){int k=(n-6)/4;fun3(tot);tot+=3;for (int i=1;i<=k;i++){for (int k=1;k<=4;k++){cout<<tot<<" "<<tot+1<<"\n";}tot+=2;}return ;}int k = (m - 6) / 4;for (int i = 1; i <= n; i += 2){int t = tot;// 两行 两行处理fun1(t);tot += 3;// 多少个四for (int j = 1; j <= k; j++){for (int kk = 1; kk <= 4; kk++)cout << tot << " ";tot++;}cout << "\n";fun2(t);for (int j = 1; j <= k; j++){for (int kk = 1; kk <= 4; kk++)cout << tot << " ";tot++;}cout << "\n";}
}
int main()
{std::cin.tie(nullptr)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}
L题意:

一直以为这是什么数论的题。
说到底还是不会枚举啊。读不懂题。真可恶 真可恶!!
1-x 中 是a 的倍数的数字有 x/a 个。(这里我其实是算的 我的x是a 的多少倍。若x/a=k。那么从1-x 中 存在着 a 2a …ka 一共k 个数)
(主要是对这 一句的理解)
n 是4*100^p 的倍数 但是我n 不是 100^{p+1} 的倍数
如果我确定了p.那么我可以用 mid/a-mid/b;
同时要减去1-2024 年的影响。
我的平年 和我的年份 具有单调性。(不降的)
所以我二分年份
因为我的平年至多是1e18 。所以我的p 取到 8 就可以了。4100^p 已经到达了41e16
当我的p 取9 的时候,是 4*1e18,那必然不会出现倍数了
void solve()
{int k;cin >> k;auto check = [&](int mid) -> bool{int ans = 0;for (int i = 0; i <= 8; i++){ans += mid / (4 * qpow(100, i)) - mid / (qpow(100, i + 1));}return (mid - 2024 - (ans - 491)) >= k;};int l = 2025;int r = 2e18;while (l <= r){int mid = l + r >> 1;if (check(mid))r = mid - 1;elsel = mid + 1;}cout << r + 1 << "\n";
}
相关文章:
2024 ccpc 辽宁省赛 E(构造 思维?)L(二分+一点点数论知识?)
E 题意: 可以注意到: 我的两种方格都四个方格的大小。 所以 如果存在一种摆放方式 那么 4|nm。 再考虑一种特殊的情况 22 ,此时虽然我的积是4 但是无法摆放的。 1>对于 4 | n,或者 4 | m.我直接摆放第二种方格就可以了。 如果我n 是4 的…...
【iOS】设计模式的六大原则
【iOS】设计模式的六大原则 文章目录 【iOS】设计模式的六大原则前言开闭原则——OCP单一职能原则——SRP里氏替换原则——LSP依赖倒置原则——DLP接口隔离原则——ISP迪米特法则——LoD小结 前言 笔者这段时间看了一下有关于设计模式的七大原则,下面代码示例均为OC…...
网络安全:攻防技术-Google Hacking的实现及应用
前言 google hacking其实并算不上什么新东西,在早几年我在一些国外站点上就看见过相关的介绍,但是由于当时并没有重视这种技术,认为最多就只是用来找找未改名的mdb或者别人留下的webshell什么的,并无太大实际用途。但是前段时间仔…...
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。-多语言
目录 C 语言实现 Python 实现 Java 实现 Js 实现 Ts 实现 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 程序分析:利用while语句,条件为输入的字符不为\n。 C 语言实现 #include <stdio.h>int mai…...
2-2-18-9 QNX系统架构之文件系统(三)
阅读前言 本文以QNX系统官方的文档英文原版资料为参考,翻译和逐句校对后,对QNX操作系统的相关概念进行了深度整理,旨在帮助想要了解QNX的读者及开发者可以快速阅读,而不必查看晦涩难懂的英文原文,这些文章将会作为一个…...
各大浏览器(如Chrome、Firefox、Edge、Safari)的对比
浏览器如Chrome、Firefox、Edge等在功能、性能、隐私保护等方面各有特点。以下是对这些浏览器的详细对比,帮助你选择合适的浏览器。 1. Google Chrome 市场份额:Chrome是目前市场上最流行的浏览器,约占全球浏览器市场的65%以上。 性能&#…...
nginx搭建直播推流服务
文章目录 学习链接步骤使用nginx搭建直播推流服务安装依赖库下载nginx-http-flv-module模块下载nginx解压nginx,进入nginx目录设置nginx编译配置编译并安装配置nginx rtmp服务启动nginx 准备另外一台电脑下载OBS下载OBS windows | linux 安装vlc观看直播flv协议hls协…...
单片机-- 松瀚sonix学习过程
硬件:松瀚sn8f5701sg、SN-LINK 3 Adapter模拟器、sn-link转接板 软件: keil-c51(v9.60):建立工程,编辑,烧录程序 SN-Link_Driver for Keil C51_V3.00.005:安装sonix设备包和snlin…...
循环神经网络:从基础到应用的深度解析
🍛循环神经网络(RNN)概述 循环神经网络(Recurrent Neural Network, RNN)是一种能够处理时序数据或序列数据的深度学习模型。不同于传统的前馈神经网络,RNN具有内存单元,能够捕捉序列中前后信息…...
从扩散模型开始的生成模型范式演变--SDE
SDE是在分数生成模型的基础上,将加噪过程扩展时连续、无限状态,使得扩散模型的正向、逆向过程通过SDE表示。在前文讲解DDPM后,本文主要讲解SDE扩散模型原理。本文内容主要来自B站Up主deep_thoughts分享视频Score Diffusion Model分数扩散模型…...
【python使用kazoo连ZooKeeper基础使用】
from kazoo.client import KazooClient, KazooState from kazoo.exceptions import NoNodeError,NodeExistsError,NotEmptyError import json# 创建 KazooClient 实例,连接到 ZooKeeper 服务器 zk KazooClient(hosts127.0.0.1:2181) zk.start()# 定义节点路径 path…...
【设计模式系列】解释器模式(十七)
一、什么是解释器模式 解释器模式(Interpreter Pattern)是一种行为型设计模式,它的核心思想是分离实现与解释执行。它用于定义语言的文法规则,并解释执行语言中的表达式。这种模式通常是将每个表达式抽象成一个类,并通…...
只出现一次的数字
只出现一次的数字 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例 1 ÿ…...
SpringMVC-08-json
8. Json 8.1. 什么是Json JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写…...
技术文档的语言表达
技术文档的语言表达 在这个瞬息万变的技术世界中,了解如何撰写有效的技术文档显得尤为重要。无论是开发团队还是最终用户,清晰、简洁且有条理的文档都是连接各方的桥梁。本文将深入探讨技术文档的语言表达,从其重要性、写作原则到各种类型&a…...
UEFI 事件
UEFI 不再支持中断(准确地说,UEFI 不再为开发者提供中断支持,但在UEFI内部还是使用了时钟中断),所有的异步操作都要通过事件(Event)来完成。 启动服务为开发者提供了用于操作事件、定时器及TPL…...
大师开讲-图形学领域顶级专家王锐开讲Vulkan、VSG开源引擎
王锐,毕业于清华大学,图形学领域顶级专家,开源技术社区的贡献者与推广者。三维引擎OpenSceneGraph的核心基石开发者与维护者,倾斜摄影数据格式osgb的发明人。著有《OpenSceneGraph 3 Cookbook》,《OpenSceneGraph 3 Beginers Guid…...
小F的矩阵值调整
问题描述 小F得到了一个矩阵。如果矩阵中某一个格子的值是偶数,则该值变为它的三倍;如果是奇数,则保持不变。小F想知道调整后的矩阵是什么样子的。 测试样例 样例1: 输入:a [[1, 2, 3], [4, 5, 6]] 输出:…...
ORB-SLAM2 ----- LocalMapping::SearchInNeighbors()
文章目录 一、函数意义二、函数讲解三、函数代码四、本函数使用的匹配方法ORBmatcher::Fuse()1. 函数讲解2. 函数代码 四、总结 一、函数意义 本函数是用于地图点融合的函数,前面的函数生成了新的地图点,但这些地图点可能在前面的关键帧中已经生成过了&a…...
给UE5优化一丢丢编辑器性能
背后的原理 先看FActorIterator的定义 /*** Actor iterator* Note that when Playing In Editor, this will find actors only in CurrentWorld*/ class FActorIterator : public TActorIteratorBase<FActorIterator> {//..... }找到基类TActorIteratorBase /*** Temp…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...
sshd代码修改banner
sshd服务连接之后会收到字符串: SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢? 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头,…...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...
