洛谷 NOIP 2023 模拟赛-汪了个汪-题解
简要题意
棋盘上有 n n n 行,第 i i i 行有 i i i 个格子。你要在格子填 1 ∼ n 1\sim n 1∼n,满足:
- 每行第一个数互不相同
- 所有在行上相邻的两个数所组成的无序对互不相同
- 每行的数互不相同
n ≤ 4000 n\le4000 n≤4000
题解
容易发现棋盘上的无序对与总的无序对数量是相同的,也就是说,要全部填满。可以考虑把它们分类,然后再按规律放数。
我们发现,无序对中两数差为 1 1 1 有 n − 1 n-1 n−1 个,差为 2 2 2 有 n − 2 n-2 n−2 个, … \dots …,差为 n − 1 n-1 n−1 有 1 1 1 个,看上去很巧,如果能把它们按行归类,就好了。但是显然 2 , 5 , 3 , 6 , … 2,5,3,6,\dots 2,5,3,6,… 是放不进的。
考虑能否这样,第 i i i 行有差为 1 ∼ i − 1 1\sim i-1 1∼i−1 的无序对各 1 1 1 个。发现如果这样构造: x , x + 1 , x − 1 , x + 2 , x 2 , … x,x+1,x-1,x+2,x_2,\dots x,x+1,x−1,x+2,x2,…,是符合条件的。于是就做完了。
#include<bits/stdc++.h>
using namespace std;
int n,t;
vector<int> v[4001];
bool cmp(vector<int> v1,vector<int> v2)
{return v1.size()<v2.size();
}
int main()
{cin>>n>>t;for(int i=1;i<=n;i++){int x=0,now=i,y=1;while(now>0&&now<=n){v[i].push_back(now);now=now+(x&1?1:-1)*y;y++;x++;}}sort(v+1,v+1+n,cmp);for(int i=1;i<=n;i++){for(auto j:v[i]){printf("%d ",j);}puts("");}
}
相关文章:
洛谷 NOIP 2023 模拟赛-汪了个汪-题解
简要题意 棋盘上有 n n n 行,第 i i i 行有 i i i 个格子。你要在格子填 1 ∼ n 1\sim n 1∼n,满足: 每行第一个数互不相同所有在行上相邻的两个数所组成的无序对互不相同每行的数互不相同 n ≤ 4000 n\le4000 n≤4000 题解 容易发现…...
洛谷 NOIP 2023 模拟赛 P9836 种树
洛谷 NOIP 2023 模拟赛 P9836 种树 文章目录 洛谷 NOIP 2023 模拟赛 P9836 种树题目大意思路code 题目大意 路边有 n n n 棵树,每棵树的 高度 均为正整数,记作 p 1 , p 2 … p n p_1, p_2 \dots p_n p1,p2…pn。 定义一棵树的 宽度 为它高度的…...
链表经典OJ题(链表回文结构,链表带环,链表的深拷贝)
目录 前言 1.反转一个单链表。 2. 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 3.链表的回文结构。 4.链表带环问题(*****) 4.1是否带环 4.2 入环的节点 5.随机链表的复制(链表的深拷贝) 前言…...
AD教程 (十三)常见CHIP封装的创建
AD教程 (十三)常见CHIP(贴片)封装的创建 PCB封装是电子设计图纸和实物之间的映射体,具有精准数据的要求,在实际设计中需要通过规格书获取创建封装的数据参数。 PCB封装和实物的大小一致。PCB封装是承载实物…...
从0到1实现一个前端监控系统(附源码)
目录 一、从0开始 二、上报数据方法 三、上报时机 四、性能数据收集上报 收集上报FP 收集上报FCP 收集上报LCP 收集上报DOMContentLoaded 收集上报onload数据 收集上报资源加载时间 收集上报接口请求时间 五、错误数据收集上报 收集上报资源加载错误 收集上报js错…...
第7章-使用统计方法进行变量有效性测试-7.2-方差分析
目录 7.2 方差分析 7.2.1 单因素方差分析 组内变异 组间变异 总变异 随机误差...
【MongoDB】索引 – 文本索引(用权重控制搜索结果)
一、准备工作 这里准备一些数据 db.books.drop();db.books.insert({_id: 1, name: "Java", alias: "java 入门", description: "入门图书" }); db.books.insert({_id: 2, name: "C", alias: "c", description: "C 入…...
Git 入门使用
一、Git 入门 1.1 Git简介 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是由Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 Git是目前世界上最先进的分布式版本控制系统,没有之一&a…...
如何写好接口自动化测试脚本
谈到接口测试,大家关注更多的是哪个工具更优秀,更好用。但是很少人关注到接口测试用例的设计问题,也很少人会去写接口用例,都代码化了嘛,还写什么用例,是吧? 这样真的对么?我们是不…...
openEuler编译安装nmon性能监控工具及可视化分析工具
ln 介绍 nmon(short for Nigel’s Monitor)是一个性能分析工具,由蓝色巨人IBM开发,最早用于自家操作系统UNIX,AIX (Advanced Interactive eXecutive)。现在也能用在Linux上。它可以显示系统的…...
96 前缀树Trie
前缀树 题解1 STL题解2 参考官方 Trie(发音类似 “try”)或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。 请你实现 Trie 类: …...
“第六十六天”
这个我记得是有更优解的,不过还是明天发吧,明天想一想,看看能不能想起来 #include<string.h> int main() {char a[201] { 0 };char b[201] { 0 };scanf("%s %s", a, b);int na strlen(a);int nb strlen(b);int i 0, j …...
MYSQL5.7和MYSQL8配置主从
1、创建专门主从的账号 #登录 mysql -u root -p #创建用户 我这里用户名为test5,注意这里的ip是从库服务器的ip CREATE USER test5192.168.1.20 IDENTIFIED WITH mysql_native_password BY xxxxx; #给主从复制账号授权 grant replication slave on *.* to test5192…...
springboot苍穹外卖实战:九、小程序微信登录代码开发+商品浏览
微信登录 application.yml和application-dev.yml application-dev.yml sky:wechat:appid: xxxsecret: xxxapplication.yml sky:wechat:appid: ${sky.wechat.appid}secret: ${sky.wechat.secret}配置为微信用户生成jwt令牌时使用的配置项: application.yml sky…...
【MySQL系列】 第二章 · SQL(下)
写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正࿰…...
SpringBoot_01
Spring https://spring.io/ SpringBoot可以帮助我们非常快速的构建应用程序、简化开发、提高效率。 SpringBootWeb入门 需求:使用SpringBoot开发一个web应用,浏览器发起请求/hello后,给浏览器返回字符串"Hello World~~~"。 步骤…...
【OS】AUTOSAR架构下多核通信
目录 前言 正文 1.多核通信介绍 2.多核间标准通信 2.1 什么是IOC 2.2 IOC的适用范围...
从Docker Hub获取镜像和创建容器
从Docker Hub获取镜像和创建容器 Docker Hub是一个公共的Docker镜像仓库,您可以从中获取各种镜像来构建容器。本文将演示如何从Docker Hub获取镜像,并用这些镜像创建和运行容器。让我们开始吧! 步骤 1:搜索镜像 首先࿰…...
江西开放大学引领学习新时代:电大搜题助力学子迈向成功
江西开放大学(简称江西电大)一直以来致力于为学子提供灵活便捷的学习服务。近年来,携手电大搜题微信公众号,江西开放大学以其卓越的教学质量和创新的教学手段,为广大学子开启了一扇通向成功的大门。 作为一家知名的远…...
入门指南:Docker的基本命令
入门指南:Docker的基本命令 Docker是一个功能强大的容器化平台,可以帮助您轻松构建、打包和部署应用程序。要充分利用Docker,您需要了解一些基本命令。本文将介绍并示范Docker的一些最重要的基本命令,以帮助您快速上手。 1. doc…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
