Codeforces Round 836 (Div. 2) A - C

news2025/7/18 0:06:54

A:SSeeeeiinngg DDoouubbllee

 

题意:给定一个字符串,每个字符串的字符可以出现两次,要求通过重新排列构造一个回文串。

思路:直接暴力可以,每个字符头部一个尾部一个。

#include<cstdio>
#include <iostream>
#include <algorithm>
#include <string.h>
#include <string>
#include <math.h>
#include<vector>
#include<queue>
#include<map>
#define sc_int(x) scanf("%d", &x)
#define sc_ll(x) scanf("%lld", &x)
#define pr_ll(x) printf("%lld", x)
#define pr_ll_n(x) printf("%lld\n", x)
#define pr_int_n(x) printf("%d\n", x)
#define ll long long 
using namespace std;

const int N=1000000+100;
int n ,m,h;
char s[N];



int main()
{
	int t;
	sc_int(t);
	while(t--)
	{
		cin>>s+1;
		int n=strlen(s+1);
		for(int i=1;i<=n;i++)
		{
			s[2*n-i+1]=s[i];
		}
		for(int i =1;i<=2*n;i++)
		cout<<s[i];
		cout<<endl;
	}
	return 0;
}

B:XOR = Average

题意:让你构造一个长度为 n 的数组,使得数组的平均值等于数组的异或和。

思路:由奇数得可以全部都为相同的数,如果是偶数,那么可以数组的平均数都是2,然后第一个2-1放到最后一个2的位置,这样中间的xor都是0,最后的异或的结果也是2,


#include<cstdio>
#include <iostream>
#include <algorithm>
#include <string.h>
#include <string>
#include <math.h>
#include<vector>
#include<queue>
#include<map>
#define sc_int(x) scanf("%d", &x)
#define sc_ll(x) scanf("%lld", &x)
#define pr_ll(x) printf("%lld", x)
#define pr_ll_n(x) printf("%lld\n", x)
#define pr_int_n(x) printf("%d\n", x)
#define ll long long 
using namespace std;

const int N=1000000+100;
int n ,m,h;
ll s[N];



int main()
{
	int t;
	sc_int(t);
	while(t--)
	{
		ll res=0;
		cin>>n;
	 if(n%2!=0)
		{
			for(int i =1;i<=n;i++)
			cout<<n<<" ";
		}
		else 
		{
			cout<<1<<" ";
			for(int i =2;i<n;i++){
			cout<<2<<" ";
			}
			cout<<3<<" ";
		}
		cout<<endl;
	}
	
	return 0;
}

C: Almost All Multiples

题意:给你一个x和n,让你构造一个长度为n的数组并且第一个数是x最后一个是1并且数组的每一位要保证能够取余i。并且构造这个字典序最小的数组,如果没有就输出-1.

思路:首先如果x%n!=0,那么在除了x和1之外的每个元素都不能让位置给n,那么一定就构造不了。

否则可以构造一个数组,就是x和n的位置互换的情况,然后要考虑最小的字典序的情况,即n的位置尽可能的跟后面的数字交换(要换的数能整除当前n的下标并且n能整除要换的数的下标),直接暴力搜一遍就可以了。

#include<cstdio>
#include <iostream>
#include <algorithm>
#include <string.h>
#include <string>
#include <math.h>
#include<vector>
#include<queue>
#include<map>
#define sc_int(x) scanf("%d", &x)
#define sc_ll(x) scanf("%lld", &x)
#define pr_ll(x) printf("%lld", x)
#define pr_ll_n(x) printf("%lld\n", x)
#define pr_int_n(x) printf("%d\n", x)
#define ll long long 
using namespace std;

const int N=1000000+100;
int n ,m,h;
ll s[N];



int main()
{
	int t;
	sc_int(t);
	while(t--)
	{
		sc_int(n),sc_int(m);
		if(n%m!=0){
		cout<<-1<<endl;
		continue;
		}
		else 
		for(int i =1;i<=n;i++)
		{
			if(i==1)s[i]=m;
			else if(i==n)s[i]=1;
			else if(i==m)s[i]=n;
			else s[i]=i;
		}
		int l=m,lx=s[l];
		for(int i =m+1;i<=n;i++)
		{
			if(s[i]%l==0&&lx%i==0)
			{
				swap(s[i],s[l]);
				l=i;
			}
		}
		for(int i =1;i<=n;i++)
		cout<<s[i]<<" ";
		cout<<endl;
	}
	
	return 0;
}

D题自己写出来了但是思路不好说,因为我自己是打表找出来的规律(欸嘿~),感觉这次的构造题都挺考验打表的,以后还是继续努力吧!

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

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

相关文章

不使用实体类的情况下接收SQL查询结果、@Autowired注入为null解决

目录 一、场景 二、环境 三、使用 1、数据库表以及数据准备 2、项目导入必要依赖 3、添加连接数据库配置文件 4、编写测试方法 5、执行结果 四、将SQL单独提取出来 2.1 定义查询接口方法 2.2 测试 2.3 测试结果 五、问题记录&#xff1a; Autowired注入失败/null的…

b、B、KB、Kib、MB、MiB、GB、GiB、TB、TiB的区别

1024这个数字&#xff0c;想必计算机行业从业人员应该不会陌生&#xff0c;甚至10月24日还被当做程序员日&#xff0c;如果你问一个程序员1GB等于多少MB,他大概率会不假思索回答:1024。 没错&#xff0c;对于稍微对计算机或者网络有了解的人&#xff0c;一般都认为1024是数据容…

最短路算法 - dijkstra

最短路算法 - dijkstra1. 算法介绍2. 实战2.1 Reachable Nodes In Subdivided Graph3 参考1. 算法介绍 算法目的&#xff1a;求图中某点 s 到其余各点的最短距离 算法步骤&#xff1a; 初始化距离数组 dis 和优先级队列&#xff0c;其中 dis[i] 表示 s 点到当前 i 点的最短距…

树莓派上搭建SVN服务器

目录 一、服务端安装步骤 1.安装svn 2.创建目录 3.创建版本仓库 4.修改配置&#xff08;authz,passwd,svnserve.conf&#xff09; 5.启动服务 二、tortoisSVN客户端安装 三、结束 一、服务端安装步骤 1.安装svn sudo apt-get install subversion 2.创建目录 sudo m…

品RocketMQ 源码,学习并发编程三大神器

这篇文章&#xff0c;笔者结合 RocketMQ 源码&#xff0c;分享并发编程三大神器的相关知识点。 1 CountDownLatch 实现网络同步请求 CountDownLatch 是一个同步工具类&#xff0c;用来协调多个线程之间的同步&#xff0c;它能够使一个线程在等待另外一些线程完成各自工作之后&…

selenium--获取页面信息和截图

获取页面信息namecurrent_urltitlecurrent_window_handlewindow_handlespage_source简单用法—— 判断页面截图1.get_screenshot_as_png2.get_screenshot_as_file获取页面信息 主要方法如下图&#xff1a; 介绍一下常用的方法&#xff1a; name 获取浏览器名字 current_u…

Packet Tracer 实验 - 排除多区域 OSPFv3 故障

地址分配表 设备 接口 IPv6 全局单播地址 IPv6 本地链路地址 默认网关 ISP GigabitEthernet0/0 2001:DB8:C1:1::1/64 FE80::C1 不适用 ASBR GigabitEthernet0/0 2001:DB8:C1:1::2/64 FE80::7 不适用 Serial0/0/0 2001:DB8:A8EA:F0A::1 FE80::7 不适用 S…

如何通过 kubectl 进入 node shell

概述 假设这样一个场景&#xff1a; 生产环境中&#xff0c;Node 都需要通过堡垒机登录&#xff0c;但是 kubectl 是可以直接在个人电脑上登录的。 这种场景下&#xff0c;我想要通过 kubectl 登录到 K8S 集群里的 Node&#xff0c;可以实现吗&#xff1f; 可以的&#xff…

LinkedList与链表

目录 1.链表 2.链表的模拟实现 3.LinkedList的模拟实现 4.LinkedList的使用 4.1 什么是LinkedList 4.2 LinkedList的使用 5.ArrayList和LinkedList的区别 我的GitHub&#xff1a;Powerveil GitHub 我的Gitee&#xff1a;Powercs12 (powercs12) - Gitee.com 皮卡丘每天学…

机器人十大前沿热点领域(2022-2023)

中国电子学会嵌入式系统与机器人分会主任委员、北京航空航天大学机器人研究所名誉所长、中关村智友研究院院长王田苗博士出席大会闭幕式&#xff0c;并现场发布《机器人十大前沿热点领域(2022-2023)》。归纳出2022-2023年机器人十大前沿技术&#xff1b;并结合我国国情和机器人…

自动化项目倍加福测距仪QSM WCS RS485 与西门子S7 200通信

1、程序流程图 2、WCS位置数据处理流程 第一步&#xff1a;设置S7-200的RS485的通讯波特率19.2kbps&#xff0c;通讯格式&#xff08;8&#xff0c;1&#xff0c;E&#xff09;&#xff1b; 第二步&#xff1a;PLC向WCS发送请求码&#xff1a; A0A1为0&#xff0c;表示读码器地…

现代密码学导论-16-选择明文攻击和CPA安全

目录 PCA不可区分实验 DEFINITION 3.21 PCA安全的加密方案 LR预言机实验 DEFINITION 3.22 多明文PCA安全的加密方案 THEOREM 3.23 定义3.21和定义3.22等价 PCA不可区分实验 通过运行G(1^n)获得密钥k敌手A被给定输入1^n并拥有访问预言机Enck()的权利&#xff0c;敌手A输出一…

想要精通算法和SQL的成长之路 - 无重叠区间

想要精通算法和SQL的成长之路 - 无重叠区间前言一. 无重叠区间前言 想要精通算法和SQL的成长之路 - 系列导航 一. 无重叠区间 原题链接 给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量&#xff0c;使剩余区间互…

神经网络和深度学习-处理多维特征的输入

处理多维特征的输入 前面有两个数据集&#xff0c;一个回归&#xff0c;一个分类。 在回归中输出y属于实数&#xff0c;而在分类中输出y属于一个离散的集合 例如在糖尿病分类的数据集中Diabetes Dataset&#xff0c;每一行作为一个sample&#xff08;样本&#xff09;&#x…

Node.js 入门教程 11 Node.js 从命令行接收参数

Node.js 入门教程 Node.js官方入门教程 Node.js中文网 本文仅用于学习记录&#xff0c;不存在任何商业用途&#xff0c;如侵删 文章目录Node.js 入门教程11 Node.js 从命令行接收参数11 Node.js 从命令行接收参数 当使用以下命令调用 Node.js 应用程序时&#xff0c;可以传入任…

Android -- 每日一问:两个 Activity 之间如何传递参数?

经典回答 使用 Intent 的 Bundle 协带参数&#xff0c;就是我们常用的 Intent.putExtra 方法。 除了传递基本类型外&#xff0c;如何传递自定义的对象呢&#xff1f; 这个问题就是想引出 Android 的 Parcelable 。一般很多面试者都有用过传递实现了Serializable接口的自定义对…

JavaWeb学习-监听器

什么是监听器? 类似于前端的事件绑定,java中的监听器用于监听web应用中某些对象、信息的创建、销毁、增加&#xff0c;修改&#xff0c;删除等动作的发生&#xff0c;然后作出相应的响应处理。当范围对象的状态发生变化的时候&#xff0c;服务器自动调用监听器对象中的方法。…

Flutter高仿微信-第54篇-群聊-邀请好友

Flutter高仿微信系列共59篇&#xff0c;从Flutter客户端、Kotlin客户端、Web服务器、数据库表结构、Xmpp即时通讯服务器、视频通话服务器、腾讯云服务器全面讲解。 详情请查看 效果图&#xff1a; 实现代码&#xff1a; import package:flutter/material.dart; import package…

【JavaEE】HTML

努力经营当下&#xff0c;直至未来明朗&#xff01; 文章目录前言一、HTML概述二、【HTML常见标签】1. 注释标签2. 标题标签&#xff1a;h1-h63. 段落标签&#xff1a;p4.换行标签&#xff1a;br5.【格式化标签】5. 图片标签&#xff1a;img 【单标签&#xff0c;没有结束标签】…

HTML+CSS简单漫画网页设计成品 蜡笔小新3页 大学生个人HTML网页制作作品

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 ⚽精彩专栏推荐&#x1…