Codeforces Round 868 (Div. 2)A.B.C

news2024/11/24 7:38:22

A. A-characteristic

题目链接:

Problem - A - Codeforces

题面:

题意:

有一个数组a,里面只存在1和-1,现在可以选择任意两个位置,但是不能重合,如果两个位置的数乘积为1,那么特点数累加,题目给定一个n和k,要求构造一个长度为n的数组,使特点数为k

思路:

一个数组如果有两个1,那么特点数为1;如果有三个1,那么特点数为3,如果有4个1,那么特点数为6;-1也是如此,那么我们可以枚举1的数量,如果1提供的特点数和-1的提供特点数之和为k,那么就是可以构造,同时我们也知道了1和-1的数量

代码:

#include<bits/stdc++.h>
using namespace std;

int arr[105];

int main(){
	int t;
	cin >> t;
	while(t--){
		int n, m;
		cin >> n >> m;
		int a = 1;
		arr[1] = 0;
		arr[0] = 0;
		for(int i = 2; i <= n; i++){
			arr[i] = arr[i - 1] + a;
			a++;
		}
		bool f = 0;
		a = 0;
		int b = 0;
		for(int i = 1; i <= n; i++){
			if(arr[i] + arr[n - i] == m){
				f = 1;
				a = i, b = n - i;
				break;
			}
		}
		if(f){
			cout << "YES" << endl;
			f = 0;
			for(int i = 0; i < a; i++){
				if(f){
					cout << " ";
				}
				f = 1;
				cout << 1;
			}
			for(int i = 0; i < b; i++){
				if(f){
					cout << " ";
				}
				f = 1;
				cout << -1;
			}
			cout << endl;
		}else{
			cout << "NO" << endl;
		}
	}
	return 0;
} 

B. Sort with Step

题目链接:

Problem - B - Codeforces

题面:

题意:

有一个长度为n的数组p,p中的数为1-n且每个只会出现1次。你可以对数组进行无数次的操作:

选择两个位置i,j;如果abs(i-j) == k,那么就可以交换两个位置的值。

你也可以对数组进行一次特殊操作:

任选两个位置交换

先给定n,k和一个长度为n的数组,要求给这个数组排成一个递增的数组,

如果不需要进行特殊操作就输出0,

如果需要进行一次特殊操作就输出1,

如果需要不止一次就输出-1

思路:

因为这个数组每个位置的值是1-n且只会出现一次,那么最后排序结果为

a1 = 1,a2 = 2 .... an = n

那么我们记录每个值的位置,以及通过判断差值的绝对值和k的关系就可以知道是否需要特殊操作以及特殊操作的次数

如果差值的绝对值都是是k的倍数,那么就不需要特殊操作。如果有两个不是,那么就需要一次特殊操作,如果超过两个,那么就需要多次特殊操作

代码:

#include<bits/stdc++.h>
using namespace std;

int arr[200005], num[200005];

int main(){
	int t;
	cin >> t;
	while(t--){
		int n, m;
		cin >> n >> m;
		int a;
		for(int i = 1; i <= n; i++){
			cin >> a;
			arr[a] = abs(a - i);
		}
		int ans = 0;
		for(int i = 1; i <= n; i++){
			if(arr[i] % m == 0){
				num[i] = 1;
			}else{
				ans++;
				num[i] = -1;
			}
		}
		if(ans == 0){
			cout << 0 << endl;
		}else if(ans == 2){
			cout << 1 << endl;
		}else{
			cout << -1 << endl;
		}
	}
	return 0;
} 

C. Strongly Composite

题目链接:

Problem - C - Codeforces

题面:

 

题意:

一个数如果它的质因子的数量小于等于它的非质因子(1除外)的数量,那么这个数是强合性的,

现在给定n个数,问最多能找出几个强合性的数,使乘积相同

思路:

如果一个数有两个相同的质因子,那么这个数就是强合性的,如4,9.如果一个数只有两个不同的质因子,那么就不是,如6,如果有3个质因子,那么就会是,如30.

那么我可以统计出这n个数的所有质因子的数量,因为我们要使强合性的数的数量尽可能的多,那么相同的质因子两两合并,不同的三个合并即可

代码:

#include<bits/stdc++.h>
using namespace std;

int arr[200005], num[200005];

int main(){
	int t;
	cin >> t;
	while(t--){
		int n, m;
		cin >> n >> m;
		int a;
		for(int i = 1; i <= n; i++){
			cin >> a;
			arr[a] = abs(a - i);
		}
		int ans = 0;
		for(int i = 1; i <= n; i++){
			if(arr[i] % m == 0){
				num[i] = 1;
			}else{
				ans++;
				num[i] = -1;
			}
		}
		if(ans == 0){
			cout << 0 << endl;
		}else if(ans == 2){
			cout << 1 << endl;
		}else{
			cout << -1 << endl;
		}
	}
	return 0;
} 

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

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

相关文章

学生台灯什么牌子好对眼睛好?专业护眼灯的学生台灯分享

据报告统计&#xff0c;2022年我国儿童青少年总体近视率为52.7%&#xff0c;其中6岁儿童为14.3%&#xff0c;小学生为35.6%&#xff0c;初中生为71.1%&#xff0c;高中生为80.5%&#xff0c;这些数据让人不寒而栗&#xff01; 专家表示&#xff0c;导致儿童青少年近视的因素&am…

Shell脚本2

自定义局部变量 :定义在一个脚本文件中的变量 只能在这个脚本文件中使用的变量&#xff0c;局部变量 语法&#xff1a; var_namevalue 变量定义规则 变量名称可以有字母,数字和下划线组成, 但是不能以数字开头 等号两侧不能有空格 在bash环境中, 变量的默认类型都是字符串…

thinkphp+vue+html基于web的旅游景点酒店线路管理系统6722q

数据库分析 整个系统所包括的信息有景点信息、用户信息、酒店信息、旅行社信息、留言信息等。可将这些信息抽象为下列系统所需要的数据项和数据结构: 1.景点管理(编号&#xff0c;景点名称&#xff0c;景点等级&#xff0c;天气情况&#xff0c;位置&#xff0c;住宿&#xff0…

真无线耳机哪款性价比高?高性价比无线耳机排行榜

近几年&#xff0c;蓝牙耳机凭借使用便捷而受到广大用户的欢迎&#xff0c;逐渐取代有线耳机成为人们生活中必不可少的存在。下面&#xff0c;我来给大家推荐几款性价比高的蓝牙耳机&#xff0c;一起来看看吧。 一、南卡小音舱Lite2蓝牙耳机 参考价&#xff1a;299 蓝牙版本…

初识C++之特殊类设计与类型转换

目录 一、特殊类设计 1. 设计一个对象不能被拷贝的类 2. 设计一个只能在堆上创建对象的类 2.1 禁止构造函数 2.2 禁止析构函数 3. 设计一个只能在栈上创建对象的类 4. 设计一个不能被继承的类 5. 设计一个只能创建出一个对象的类&#xff08;单例模式&#xff09; 5.1…

开源世界的尴尬时刻

作者按&#xff1a;开源世界里全都是一片祥和、欣欣向荣吗&#xff1f;全都是热情开放、无私奉献吗&#xff1f;那当然不是。本文罗列几起尴尬世界&#xff0c;目的是让大家对开源世界有一个更全面更具体的认识&#xff0c;让大家对底层开源人的生活的心态有一个更切实际的了解…

ORBBEC(奥比中光)AstraPro相机在ROS2下的标定与D2C(标定与配准)

文章目录 1.rgb、depth相机标定矫正1.1.标定rgb相机1.2.标定depth相机1.3.rgb、depth相机一起标定&#xff08;效果重复了&#xff0c;但是推荐使用&#xff09;1.4.取得标定结果1.4.1.得到的标定结果的意义 1.5.IR、RGB相机分别应用标定结果1.5.1.openCV应用标定结果1.5.2.ros…

mac m1安装V2rayU

我原先window上使用的是V2rayN。mac系统使用的是V2rayU。 1.首先下载V2rayU 下载地址&#xff1a;https://github.com/yanue/V2rayU/releases 2.将下载的文件拉到application 安装后&#xff0c;点击运行&#xff0c;此时会弹出安全警告&#xff0c;需要在「系统偏好设置-安…

第4章-动态规划

第4章-动态规划 总分&#xff1a;100分 得分&#xff1a;100.0分 10.0 分 1 . 多选题 中等 10分 有关0-1背包问题,用c[i][j]描述子问题:1...i共i个物品,背包容量为j的最优值(装入背包的最大价值),则其子问题为:1...i-1共i-1个物品,背包容量为j-w ix i,以下说法正确的是( AB…

TypeScript教程(N)

弱类型和强类型 编程语言&#xff0c;按照数据类型是否固定可分为 强类型语言 和 弱类型语言。 弱类型语言 弱类型语言&#xff1a;变量、函数参数和函数的返回值&#xff0c;是没有类型的&#xff0c;一个变量可以接收任何类型的数据&#xff0c;一个函数也可以返回任何类型…

大学生所面临的网络安全问题有哪些?

网络安全从本质上来讲就是网络上的信息安全&#xff0c;就是指网络系统中流动和保存的数据&#xff0c;不受到偶然的或者恶意的破坏、泄露、更改&#xff0c;系统连续正常的工作&#xff0c;网络服务不中断。从广义上来说&#xff0c;凡是涉及网络信息的保密性、完整性、可用性…

登顶Nature 正刊!百度生物计算用AI首次实现mRNA领域重大进展

1985年11月21日的《自然》封面&#xff0c;是一张来自中国的“地图”。这张地图是清代总兵陈伦炯所编撰《海国闻见录》中的插图&#xff0c;是中国人开始认知与探索世界的见证&#xff0c;而选用这张封面&#xff0c;是为了配合当期的特别文章《科技在中国》。 那时候&#xff…

4 ROS2节点参数基础

4 ROS2节点参数基础 4.1 ROS2节点参数介绍4.2 使用C/C实现对节点参数的增删改查4.2.1 创建C/C节点参数的服务端4.2.2 创建C/C节点参数客户端 4.3 使用Python实现对节点参数的增删改查4.3.1 创建Python节点参数的服务端4.3.2 创建Python节点参数客户端 4.4 ROS2节点参数小结 其他…

2008-2020年上市公司能源消耗数据

2008-2020年上市公司能耗数据/上市公司能源消耗数据 1、时间&#xff1a;2008-2020年 2、指标包括&#xff1a;上市公司ID、证券代码、证券简称、资源名称、消耗量、单位 EndDate [统计截止日期] - YYYY-12-31 InstitutionID [上市公司ID] - null Symbol [证券代码] - 交易所…

[架构之路-187]-《软考-系统分析师》-5-数据库系统 - 操作型数据库OLTP与分析型数据库OLAP比较

OLAP与OLTP的区别&#xff1f; OLTP(Online transaction processing) 在线/联机事务处理。典型的OLTP类操作都比较简单&#xff0c;主要是对数据库中的数据进行增删改查&#xff0c;操作主体一般是产品的用户。 OLAP(Online analytical processing): 指联机分析处理。通过分…

Linux网络编程:三次握手 四次挥手

1. 三次握手 建立TCP可靠连接&#xff0c;只能是客户端先发起。 &#xff08;1&#xff09;SYN标志位为1&#xff0c;表示请求建立连接&#xff1b;ACK标志位为1&#xff0c;表示确认收到对方报文。 &#xff08;2&#xff09;seq为数据包序列号&#xff0c;ack为确认序列号。…

计算机视觉的应用4-目标检测任务:利用Faster R-cnn+Resnet50+FPN模型对目标进行预测

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用4-目标检测任务&#xff0c;利用Faster RcnnResnet50FPN模型对目标进行预测&#xff0c;目标检测是计算机视觉三大任务中应用较为广泛的&#xff0c;Faster R-CNN 是一个著名的目标检测网络&#x…

or-tools 应用案例分析:复杂作业车间调度问题

作业调度问题是常见的线性规划(整数规划)问题&#xff0c;其中多个作业在多台机器上处理。每个作业由一系列任务组成&#xff0c;这些任务必须按给定的顺序执行&#xff0c;并且每个任务都必须在特定的机器上处理。如何有效的利用所有的机器在最短的时间内完成所有的作业任务&a…

神经形态处理和自搜索存储如何降低联邦机构的网络风险

组织在边缘处理的信息量呈爆炸式增长。对于联邦机构和军队来说尤其如此&#xff0c;它们从设备、建筑物、船舶、飞机等中的移动设备和传感器生成大量数据。 寻找有效的方法来管理、使用和保护这些数据具有挑战性。但是有一个有效且具有成本效益的解决方案。神经形态处理和自搜…

c#笔记-数组

数组 声明数组 数组是一种可以声明多个同类型变量的数据结构&#xff0c;能替你声明多个变量。 并且其中的值可以通过索引动态访问&#xff0c;可以搭配循环批量处理这些值。 数组类型的写法是&#xff0c;在目标类型后加上一对中括号。 数组值没有字面量&#xff0c;需要构…