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

AtCoder Grand Contest 061(题解)

A - Long Shuffle

这道题本质是一个找规律的题

既然是打表题,我们先暴力把他打出来

(盗一张图.jpg) 

接下来就是在这张图中挖掘答案

我们可以明显的看到偶数行是有一些规律的

要么是相邻对的互换,要么不变

不变和互换的位置也有讲究,在二进制下可以发现这样的规律

这里的n和k代表第n行的第k个数

我们发现偶数行完全满足这个公式

而对于奇数行,看起来没什么规律

我们可以联系n-1行,也就是奇数行对应的上一个偶数行

可以发现对于奇数行A(i,j),满足A(i,j)=A(i-1,A(i-1,j-1)+1) 当j大于1且小于n

代码如下:

#include <bits/stdc++.h>
#define int long long
#define pb push_back
#define fer(i,a,b) for(int i=a;i<=b;++i)
#define der(i,a,b) for(int i=a;i>=b;--i)
#define all(x) (x).begin(),(x).end()
#define pll pair<int,int>
#define et  cout<<'\n'
#define xx first
#define yy second
using namespace std; 
int A[105];
void go(int l, int r) {if (l + 1 == r) {swap(A[l], A[r]);}else {go(l, r - 1);go(l + 1, r);}
}//暴力
int back(int n, int k) {k--;int block = k / 2;int F = n / 2 - 1;if ((F & block) == block) {k ^= 1;}return k + 1;
}
signed main() {ios_base::sync_with_stdio(false);cin.tie(0);int tst;cin >> tst;while (tst--) {int n, k;cin >> n >> k;if (n % 2 == 1) {if (k > 1) {k = back(n - 1, k - 1);k++;}if (k <= n - 1) {k = back(n - 1, k);}cout << k << '\n';}else {int f1 = back(n, k);cout << f1 << '\n';}}return 0;
}

B - Summation By Construction

这道题就很玄学

除了2是NO,其他都是YES

其中一种解决方式是

我们可以用对角线的思路来构建

比如

 代码如下

#include <bits/stdc++.h>
#define int long long
#define pb push_back
#define fer(i,a,b) for(int i=a;i<=b;++i)
#define der(i,a,b) for(int i=a;i>=b;--i)
#define all(x) (x).begin(),(x).end()
#define pll pair<int,int>
#define et  cout<<'\n'
#define xx first
#define yy second
using namespace std; 
constexpr int max_n=100;
int a[max_n+1][max_n+2];
void test(){int n;cin>>n;if(n==2){puts("No");return;}puts("Yes");if((n&1)){int m=n+1;for(int i=1; i<=n; i+=2){int now=i;for(int j=1; j<=n; ++j){int col=j<=i?i:(n-i);a[j][now]=col;++now>m&&(now=1);a[j][now]=col;}}for(int i=1; i<=n; ++i){for(int j=1; j<=n; ++j)cout<<a[i][j]<<" ";cout<<a[i][m]<<'\n';}return;}const int m=n+1;for(int i=1; i<=n; ++i)a[i][i]=a[i][i+1]=n;for(int j=2; j<=n; ++j)a[j%n+1][j]=a[(j+1)%n+1][j]=n-1;a[2][1]=a[n][1]=a[2][m]=a[1][m]=2;a[3][1]=a[3][m]=1;for(int i=3,ed=n-3; i<=ed; i+=2){int now=i+1;for(int j=1; j<=m; ++j){const int col=j<=i?i:(m-i);a[now][j]=col;++now>n&&(now=1);a[now][j]=col;}}for(int i=1; i<=n; ++i){for(int j=1; j<=n; ++j)cout<<a[i][j]<<" ";cout<<a[i][m]<<'\n';}
}
signed main(){int t;cin>>t;while(t--){test();}return 0;
}

相关文章:

AtCoder Grand Contest 061(题解)

A - Long Shuffle 这道题本质是一个找规律的题 既然是打表题&#xff0c;我们先暴力把他打出来 (盗一张图.jpg) 接下来就是在这张图中挖掘答案 我们可以明显的看到偶数行是有一些规律的 要么是相邻对的互换&#xff0c;要么不变 不变和互换的位置也有讲究&#xff0c;在二进制…...

生成系列论文:文本控制的3d点云生成 TextCraft(一):论文概览

TextCraft: Zero-Shot Generation of High-Fidelity and Diverse Shapes from Text 论文原文&#xff1a; https://arxiv.org/abs/2211.01427 论文的研究动机 DALL2已经在文本控制的图像生成上取得很好的效果&#xff0c;但是基于文本控制的3d点云生成的研究还不太成熟&#…...

IDEA常用插件

常用IDEA插件 Codota 插件下载地址&#xff1a;Codota AI Autocomplete for Java and JavaScript - IntelliJ IDEs Plugin | Marketplace IDEA的自动补全功能已经很强大了&#xff0c;但是这个插件的自动补全功能更加强大&#xff0c;这是一个基于AI技术&#xff0c;学习了大量…...

Spring的事务传播机制

多个事务方法相互调用时&#xff0c;事务如何在这些方法之间进行传播&#xff0c;Spring中提供了七种不同的传播机制&#xff0c;来保证事务的正常执行&#xff1a; REQUIRED&#xff1a;默认的传播机制&#xff0c;如果存在事务&#xff0c;则支持/加入当前事务&#xff0c;如…...

Python:路径之谜(DFS剪枝)

题目描述 小张冒充 X 星球的骑士&#xff0c;进入了一个奇怪的城堡。 城堡里边什么都没有&#xff0c;只有方形石头铺成的地面。 假设城堡地面是 nn 个方格。如下图所示。 按习俗&#xff0c;骑士要从西北角走到东南角。可以横向或纵向移动&#xff0c;但不能斜着走&#xf…...

阿里巴巴在开源压测工具 JMeter 上的实践和优化

Apache JMeter [1] 是 Apach 旗下的开源压测工具&#xff0c;创建于 1999 年初&#xff0c;迄今已有超过 20 年历史。JMeter 功能丰富&#xff0c;社区&#xff08;用户群体&#xff09;庞大&#xff0c;是主流开源压测工具之一。 性能测试通常集中在新系统上线或大型活动前&…...

React Draggable插件实现拖拽功能

React Draggable插件实现拖拽功能1.下载Draggable插件2.引入Draggable插件3.设置一个div&#xff0c;并设置样式&#xff0c;并用Draggable包裹起来4.设置拖拽的范围5.Draggable常用props1.下载Draggable插件 npm install react-draggable2.引入Draggable插件 // 引入拖拽插件…...

MySQL-运算符

算术运算符: 加法运算-: 减法运算*: 乘法运算/: 除法运算&#xff0c;返回商%: 求余运算&#xff0c;返回余数例&#xff1a;创建n5表&#xff0c;插入数字100&#xff0c;查看数据表分别查看、-、*、/、%mysql> create table n5(-> num int); Query OK, 0 rows affected…...

Hudi-基本概念(时间轴、文件布局、索引、表类型、查询类型、数据写、数据读、Compaction)

文章目录基本概念时间轴(TimeLine)文件布局&#xff08;File Layout&#xff09;Hudi表的文件结构Hudi存储的两个部分Hudi的具体文件说明索引&#xff08;Index&#xff09;原理索引选项全局索引与非全局索引索引的选择策略对事实表的延迟更新对事件表的去重对维度表的随机更删…...

数据分享|中国各省、各市、各区县分年、分月、逐日平均气温数据(2000年~2019年)

今天分享给大家的是 2000 年~2019 年中国各省、各市、各县的分年、分月、逐日的平均气温数据(单位:摄氏度) 原始数据来源于国家气象科学数据共享服务平台-中国地面气候资料日值数据集(V3.0),原始数据是各个观测站点的日度数据,为了方便大家使用,我使用 Barnes 方法(…...

steam/csgo搬砖,2023年最暴利的项目

这个项目赚钱主要来源于两个地方&#xff1a; 1.比如说今天美元的汇率是1美元6.8人民币&#xff0c;那我们有特定的渠道能拿到1美元5.0-5.5左右人民币的价格&#xff0c;100美元的汇率差利润就有180元左右的利润&#xff0c;当然这个价格是根据国际的汇率上下会有浮动的。 2.…...

RDSDRDSPolarDBPolarDB-X的区别

RDS 阿里云关系型数据库&#xff08;Relational Database Service&#xff0c;简称RDS&#xff09;&#xff0c;是一种稳定可靠、可弹性伸缩的在线数据库服务。 基于阿里云分布式文件系统和高性能存储&#xff0c;RDS支持MySQL、SQL Server、PostgreSQL和PPAS&#xff08;Post…...

【Python学习笔记】30.Python3 命名空间和作用域

前言 本章介绍Python的命名空间和作用域。 命名空间 先看看官方文档的一段话&#xff1a; A namespace is a mapping from names to objects.Most namespaces are currently implemented as Python dictionaries。 命名空间(Namespace)是从名称到对象的映射&#xff0c;大…...

后量子 KEM 方案:Kyber

参考文献&#xff1a; Bos J, Ducas L, Kiltz E, et al. CRYSTALS-Kyber: a CCA-secure module-lattice-based KEM[C]//2018 IEEE European Symposium on Security and Privacy (EuroS&P). IEEE, 2018: 353-367.Avanzi R, Bos J, Ducas L, et al. Crystals-kyber[J]. NIST…...

2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)

同步赛链接 A-原初的信纸(最值&#xff0c;STL&#xff09; 题意&#xff1a; 找 n 个数的最大值. 参考代码&#xff1a; void solve() {int n;std::cin >> n;std::vector<int> a(n);for (auto &c : a)std::cin >> c;std::cout << *max_element…...

生产Nginx现大量TIME-WAIT,连接耗尽,该如何处理?

背景说明&#xff1a; 在尼恩读者50交流群中&#xff0c;是不是有小伙伴问&#xff1a; 尼恩&#xff0c;生产环境 Nginx 后端服务大量 TIME-WAIT &#xff0c; 该怎么办&#xff1f; 除了Nginx进程之外&#xff0c;还有其他的后端服务如&#xff1a; 尼恩&#xff0c;生产环境…...

Linux服务器clang-13安装(环境变量配置)

1.从llvm的github网址选择合适的release合适的运行平台进行下载&#xff0c;下载官方预编译的二进制压缩包。 2.将下载好的压缩包进行本地上传。 使用scp命令进行上传 scp -r -P 端口号 本地文件路径 服务器ID等:服务器上目标地址 3.解压(tar命令&#xff09; 4.环境变量配…...

【C++】C/C++内存管理模板初阶

文章目录一、 C/C内存管理1. C/C内存分布2. C内存管理方式3. operator new与operator delete函数4. new和delete的实现原理5. 定位new表达式6. 常见面试题malloc/free和new/delete的区别内存泄漏二、模板初阶1. 泛型编程2. 函数模板3. 类模板一、 C/C内存管理 1. C/C内存分布 …...

笙默考试管理系统-index展示

public class PageList<T> : List<T> { public int PageIndex { get; private set; } //页索引 public int PageSize { get; private set; }//页大小 public int TotalPage { get; private set; }//总页数 public int TotalCo…...

前端基础知识6

谈谈你对语义化标签的理解语义化标签就是具有语义的标签&#xff0c;它可以清晰地向我们展示它的作用和用途。 清晰的代码结构&#xff1a;在页面没有css的情况下&#xff0c;也能够呈现出清晰的代码内容 有利于SEO: 爬虫依赖标签来确定关键字的权重&#xff0c;因此可以和搜索…...

【项目精选】智慧物业管理系统

点击下载源码 1、 选题的背景、研究目的和意义 1&#xff09;选题的背景 智慧物业是物业发展的必然趋势&#xff0c;是物业管理的一种新理念&#xff0c;是 新形势下社会管理创新的一种新模式。 随着人工智能、大数据、互联网等高新技术的发展&#xff0c;物业管理企 业先后试…...

解决HC-05/HC06等蓝牙模块的调试问题

解决HC-05/HC06等蓝牙模块的调试问题问题&#xff1a;1.无法使用USB转串口工具设置HC-05等蓝牙模块&#xff0c;具体问题是&#xff1a;发送AT指令&#xff0c;无回复&#xff1b;2.电脑如何连接HC-05模块&#xff0c;与模块通信&#xff08;具体场景&#xff1a;HC-05模块的串…...

dfs(八)数字的全排列 (含有重复项与非重复项)

如果每个数字任意取的话。就不需要加book标志位 没有重复项数字的全排列_牛客题霸_牛客网 描述 给出一组数字&#xff0c;返回该组数字的所有排列 例如&#xff1a; [1,2,3]的所有排列如下 [1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2], [3,2,1]. &#xff08;以数字在数组中的位…...

基于微信小程序的医院挂号系统小程序

文末联系获取源码 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏览器…...

工程经验:残差连接对网络训练的巨大影响

文章目录1、没有使用残差连接的网络难以训练2、loss 不下降的原因3、使用了残差连接的网络可以高效训练1、没有使用残差连接的网络难以训练 经典的 SegNet 网络结构如下&#xff1a; 在使用上图所示的 SegNet 作为噪声预测网络训练扩散模型&#xff08;DDPM&#xff09;时&…...

靓号管理-搜索

搜索手机号&#xff1a; 最后一条就是使用的关键mobile__contains 使用字典&#xff1a; 后端的逻辑&#xff1a; """靓号列表"""data_dict {}search_data request.GET.get(q, "")# 根据关键字进行搜索&#xff0c;如果关键字存在&…...

B站发帖软件哪个好用?好用的哔哩哔哩发帖工具

B站发帖软件哪个好用?好用的哔哩哔哩发帖工具#发帖软件#哔哩哔哩发帖#视频发布软件 登录成功之后&#xff0c;进入到这样一个界面&#xff0c;默认情况下是这个样子的&#xff0c;我们在这里输入一下我们的一个文件夹的路径&#xff0c;输入到这里&#xff0c;点击添加账号&a…...

docker

docker ps docker images 拉取ubuntu镜像 docker pull ubuntu 启动 docker start podid 进入bash界面 docker exec -it podid /bin/bash 安装sudo apt-get install sudo 更新使配置生效 sudo apt update 安装vim apt-get install vim 安装中文包 sudo apt-get i…...

Django by Example·第三章|Extending Your Blog Application@笔记

Django by Example第三章|Extending Your Blog Application笔记 之前已经写过两章内容了&#xff0c;继续第三章。第三章继续对博客系统的功能进行拓展&#xff0c;其中将会穿插一些重要的技术要点。 部分内容引用自原书&#xff0c;如果大家对这本书感兴趣 请支持原版Django …...

23.2.13 Drive development 设备树信息解析相关代码

1.练习课上代码 2.把设备树信息解析相关函数按照自己的理解发布CSDN 3.复习中断相关内核 IO多路复用---epoll 核心内容&#xff1a;一棵树一个链表三个方法 epoll会将要监听的事件文件描述符添加到内核里一颗红黑树上&#xff0c;当有事件发生&#xff0c;epoll会调用回调函数…...

手机微网站开发书籍/免费服务器

详细请点击&#xff1a;http://www.verydemo.com/demo_c89_i7965.html 利用Java 事件处理机制实现录制、回放 功能 目前在一些java应用程序的GUI 测试工具&#xff0c;可以提供捕获用户操作的能力并在代码被修改之后能够自动回放用户的操作。文章将分析Java的 事件处理模型及其…...

网站开发怎么报价单/考研培训

Unix/Linux中dup和dup2两个函数都用于复制一个现存的文件描述符。 它们是实现“重定向”功能的关键函数&#xff0c;地位很重要。 原型如下&#xff1a; #include <unistd.h> int dup(int filedes); int dup2(int filedes, int filedes2); 说明&#xff1a; 1. dup 返回…...

wordpress 主题结构/seo优化网络

package mainimport "fmt"/** 切片的操作*/ func main() {func4() }/** 数组切片可以基于一个已存在的数组创建&#xff0c;数组切片可以值使用数组的一部分元素或者整个数组来创建&#xff0c;甚至可以创建一个比所基于的数组还要打的数组切片*/ func func1() {arra…...

郑州网站模板建设/东莞做网页建站公司

你可能还记得使用vue-cli 创建vue项目。当创建项目完成后&#xff0c;我们进入到项目目录&#xff0c;启动cmd命令窗口&#xff0c;输入npm install&#xff0c;它就会安装一堆东西(依赖)&#xff0c;然后再输入npm run dev, 我们就可以看到网页了&#xff0c;整个项目启动成功…...

如何创建网站挣钱/百度app手机版

2019独角兽企业重金招聘Python工程师标准>>> 1、复制的完整流程 &#xff08;1&#xff09;slave node启动&#xff0c;仅仅保存master node的信息&#xff0c;包括master node的host和ip&#xff0c;但是复制流程没开始 master host和ip是从哪儿来的&#xff0c;re…...

网站有什么功能/今日腾讯新闻最新消息

时间不等人&#xff0c;2020年转眼就要过去大半了&#xff0c;春招在疫情中度过&#xff0c;不知有多少人还在惋惜... 马上又是春招的高峰“金三银四”&#xff0c;估计现在就已经有不少的程序猿&#xff08;媛&#xff09;朋友早就踏上提前批之路了吧&#xff0c;机会来临&am…...