奇数码问题

news2024/11/21 0:33:09

title: 奇数码问题
date: 2024-01-05 11:52:04
tags: 逆序对
cstefories: 算法进阶指南

题目大意

在这里插入图片描述

解题思路

将二维转化为一维,求他的逆序对,如果逆序对的奇偶性相同,则能够实现。

代码实现

#include<iostream>
#include<string.h>
#include<cstring>
#include<unordered_map>
#include<iomanip>
#include<vector>
#include<algorithm>
#include<math.h>
#include<queue>
#define int long long

#define bpt __builtin_popcountll

using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> PII;

const int N = 2E6 + 10, mod = 998244353;

ll gcd(ll a, ll b) { return b ? gcd(b, a % b) : a; }

const int MOD = 998244353;

priority_queue<int, vector<int>>l;//大根堆
priority_queue<int, vector<int>, greater<int>> r;//小根堆

int a[N], b[N],c[N];
int cnt = 0;
int n;

void merge(int l,int r,int *a)
{
	if (l >= r) return;

	int mid = l + r >> 1;
	merge(l, mid, a);
	merge(mid + 1, r, a);

	int i = l, j = mid + 1;
	for (int k = l; k <= r; k++) {
		if (i <= mid && a[i] <= a[j] || j > r) {
			b[k] = a[i++];
		}
		else {
			cnt += mid - i + 1;
			b[k] = a[j++];
		}
	}

	for (int k = l; k <= r; k++) {
		a[k] = b[k];
	}
}
signed main()
{
	int n;
	while (cin >> n) {
		int ok = 0;
		for (int i = 1; i <= n * n; i++) {
			int x; cin >> x;
			if (x == 0) ok = 1;
			else a[i - ok] = x;
		}
		ok = 0;
		for (int i = 1; i <= n * n; i++) {
			int x; cin >> x;
			if (x == 0) ok = 1;
			else c[i - ok] = x;
		}

		cnt = 0;
		merge(1, n * n, a);
		int ans = cnt;
		cnt = 0;
		merge(1, n * n, c);
		if ((ans & 1) == (cnt & 1)) puts("TAK");
		else puts("NIE");
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1358220.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微服务应用可观测性解决方案介绍

目录 一、可观测性出现背景 二、什么是可观测性&#xff08;Observability&#xff09; 2.1 可观测性的不同解析 2.1.1 百度维基解析 2.1.2 IBM解析 2.1.3 CNCF&#xff08;云原生计算机基金会&#xff09;组织解析 2.1.4 我的个人理解 2.2 可观测性和监控的区别与联系 …

产业认可 | 开源网安荣获 CCIA“2023 年度优秀会员单位”

​1月4日&#xff0c;“2023年度中国网络安全产业联盟成员大会暨理事会”在京召开&#xff0c;开源网安作为成员单位受邀出席本次大会。 在会上&#xff0c;联盟发布了关于2023年度表彰先进的决定&#xff0c;作为中国软件安全领域的创领者&#xff0c;开源网安在技术、实践和创…

docker容器化部署及数据持久化

1、加载MySQL 5.7的镜像 docker load -i mysql-5.7.tar.gz 2、执⾏命令启动MySQL容器&#xff1a; sh start-mysql.sh docker run -itd \ --name mysql \ --restart always \ -p 30036:3306 \ -v $PWD/mysql/config-file.cnf:/etc/mysql/conf.d/config-file.cnf \ -v $PWD/m…

初识对抗生成网络(GAN)

在研究语义通信的时候&#xff0c;发现解码端很多都是用GAN或基于GAN来完成的。带着对GAN的好奇&#xff0c;对GAN进行了一个初步学习。这篇文章介绍一下和GAN相关的一些常识吧~   本文围绕以下几个内容展开&#xff1a;     1.什么是GAN&#xff1f;     2.为什么要…

HubSpot集成怎么样?有哪些优势和特点?

HubSpot在集成方面表现出色&#xff0c;并为用户提供了强大的集成能力。以下是HubSpot集成的一些特点和优势&#xff1a; 1.丰富的集成生态系统&#xff1a; HubSpot拥有丰富的应用市场&#xff0c;用户可以轻松访问并集成多种第三方应用。这包括与营销、销售、客户服务等领域…

JavaScript中实现页面跳转的多种方法【通俗易懂】

✨前言✨   本篇文章主要在于如何使用JavaScript中的各种实现页面跳转的方式 &#x1f352;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f352;博主将持续更新学习记录收获&#xff0c;友友们有任何问题可以在评论区留言 在JavaScr…

Image - 体积最小的 base64 encode 1*1透明图片,透明背景图片base64编码

背景 前端开发时&#xff0c;有些<img>标签的src属性的值来源于接口&#xff0c;在接口获取结果之前&#xff0c;这个src应该设置为什么呢&#xff1f; 误区&#xff1a;设置为# 有人把src设置为<img src"#" />。 这是有问题的&#xff0c;浏览器解析…

mybatis-flex与springBoot整合

mybatis-flex基本使用 1.测试sql2.导入坐标3.框架搭建1.pojo层2.mapper层3.service层4.controller层5.启动类6.配置类7.EmpMapper.xml 4.启动测试 本片文章在springBoot3&#xff0c;jdk21下测试通过 注意官方网站为&#xff1a;https://mybatis-flex.com/ 请点击&#xff1a;直…

HashMap最全面试题 连环15问

目录 问1&#xff1a;JDK1.7与1.8中的HashMap底层数据结构有什么不同&#xff1f; 问2&#xff1a;何时会转为红黑树&#xff0c;何时会退化为链表&#xff1f; 问3&#xff1a;HashMap根据key查询的时间复杂度&#xff1f; 问4&#xff1a;为何一上来不树化&#xff1f; …

Android跨进程渲染

文章目录 背景实现步骤服务端客户端参考代码 背景 2024年第一篇博客&#xff0c;希望所有看到这篇博客的同学都能财务自由&#xff0c;早日退休&#xff01; 跨进程渲染就是在服务端进程渲染&#xff0c;在客户端进程显示。在一些 3d 的应用场景&#xff0c;当多个应用需要显…

【揭秘】单例模式DCL导致无法访问对象?

前两天&#xff0c;在审查团队成员的代码时&#xff0c;我发现了一个错误的单例模式写法。 在Java中&#xff0c;单例模式是一种非常常见的设计模式&#xff0c;用于确保一个类只有一个实例&#xff0c;并提供一个全局访问点来获取该实例&#xff0c;但是&#xff0c;如果不正…

微信怎么做小程序店铺?如何制作微信小程序店铺

在这个数字化的时代&#xff0c;拥有一个属于自己的线上店铺已经成为了一种趋势。而微信小程序&#xff0c;作为微信平台上的一种轻应用&#xff0c;无疑成为了许多人开店的首选。那么&#xff0c;如何利用微信小程序开设自己的店铺呢&#xff1f;下面就让我来为大家详细解析一…

盘点2023年12月Sui生态发展,了解Sui近期成长历程!

12月是一年的“收官”月&#xff0c;我们告别了2023&#xff0c;迎来了崭新的2024&#xff0c;而Web3行业多项指标也持续展现增长趋势。Sui紧随行业脚步&#xff0c;开展了一系列生态活动。其中专为圣诞准备的冬季任务送出了50万SUI&#xff0c;与韩国游戏公司NHN合作的NFT限量…

原来圣诞树可以这么做

先看结果 从上到下依次是&#xff1a; 2^0 2^1 2^2 2^3 2^4 2^5 2^6 2^7 ... 依次排下去&#xff0c;最后加4个单位数的数字 原来代码的世界里还有这个美。^V^

软考报名有哪些要求?

报考任何级别不需要学历、资历条件&#xff0c;只要达到相应的专业技术水平就可以报考相应的级别 (一)2024年软考报名入口 2024年软考采用网络报名方式&#xff0c;考生在报名期间进入中国计算机技术职业资格网 (中国计算机技术职业资格网)&#xff0c;点击页面右下角的报名入…

飞凌嵌入式2023年度盘点——步履不停,向上而行

刚刚过去的一年充满了挑战 但飞凌嵌入式始终带着对未来的期许 坚定地向上而行 凡是过往&#xff0c;皆为序章 让我们站在2024年的开端 一起回顾飞凌嵌入式的2023年度大事 1、企业实力&#xff0c;稳步提升 2023年&#xff0c;飞凌嵌入式成为国家级专精特新“小巨人”企业…

ZkSync第一Dex空投交互全教程,Holdstation ZK热点不容错过

2023 年 12 月 8 日&#xff0c;在以太坊基金会的 176 次会议上&#xff0c;开发人员一致同意&#xff0c;如果事情进展顺利&#xff0c;将在 2024 年初定 Goerli 分叉日期&#xff0c;目标是能在 2024 年 1 月激活 Goerli Dencun 测试网&#xff0c;预计能够在 2024 年 3 月~ …

Scikit-Learn线性回归(五)

Scikit-Learn线性回归五&#xff1a;岭回归与Lasso回归 1、误差与模型复杂度2、正则化3、Scikit-Learn岭&#xff08;Ridge&#xff09;回归4、Scikit-Learn Lasso回归 1、误差与模型复杂度 在第二篇文章 Scikit-Learn线性回归(二) 中&#xff0c;我们已经给出了过拟合与模型泛…

CentOS 7 基于官方源码和openssl制作openssh 9.6 rpm包(含ssh-copy-id) —— 筑梦之路

之前写了一篇&#xff1a; CentOS 7 制作openssh 9.6 rpm包更新修复安全漏洞 —— 筑梦之路_升级openssh9.6-CSDN博客 有好几个网友反馈&#xff0c;ssh-keygen生成密钥存在问题&#xff0c;之前的rsa \ dsa加密算法用不了&#xff0c;因此写了一篇&#xff1a; 关于openssh…

mariadb配置慢sql查询

Mariadb和Mysql配置相同 这里配置的事mariadb 修改配置文件 vi /etc/my.cnf.d/server.cnf[mysqld] slow_query_logon slow_query_log_file/data/mysql_data/slow_query_log.log long_query_time2slow_query_logon 开启慢sql查询slow_query_log_file/data/mysql_data/slow_que…