Codeforces Round #851 (Div. 2) A — C

news2024/12/25 0:03:49
Codeforces Round #851

A. One and Two

题目描述

给定一个序列a中的每个元素都是1或2。找出整数k是否存在,以满足以题目所给条件。

题目分析

1对乘积没有贡献,只需要注意2的个数即可,偶数个2即可满足条件,记录第cnt/22的位置输出即可。

code
#include<bits/stdc++.h>

using namespace std;

const int N = 1e3 + 10;
typedef long long ll;

int n, m, k, t;
ll a[N], s[N];

void solve()
{
    cin >> n;
    for(int i = 1; i <= n; i ++) cin >> a[i];

    int cnt = 0, k = 0, tem = 0;
    for(int i = 1; i <= n; i ++)
        if(a[i] == 2) cnt ++;
     for(int i = 1; i <= n; i ++)
    {
        if(a[i] == 2) tem ++;
        if(tem == cnt / 2)
        {
            k = i;
            break;
        }
    }

    if(cnt % 2) puts("-1");
    else cout << k << "\n";
}

int main()
{
    cin >> t;
    while(t --) solve();
    return 0;
}

B. Sum of Two Numbers

题目描述

非负整数a的数字和是其每一位数字数字加起来的结果。找出两个数满足:x+ y = n,且x和y的数字和最多相差1。可以证明,这样和y总是存在的。

题目分析

对于偶数 n 来说,除以2一定可以得到两个相同数字n/2,则一定满足题意。

对于奇数 n 来说,由于c 语言向下取整得特性,除以二我们可以得到(n-1)/2,则剩下一部分为(n+1)/2。正好相差一也可以满足题意。特别的,当个位数数为9时会有特殊的情况,如79,按照以上所说得到的两个数为4039,不满足要求。

对于上述特殊情况,我们可以采用递归进行处理。我么可以把这一位的9拆分为54,再向前递归,若倒数第二位仍然为9此时为满足条件应当拆分成45,以保证数字和最多相差一

code
#include<bits/stdc++.h>

using namespace std;

int n, m, k, t;

int get(int n, bool f)
{
    if(n % 10 == 9) return get(n / 10, ! f) * 10 + 4 + f;
    else return n / 2;
}

void solve()
{
    cin >> n;

    if(n % 10 == 9)
    {
        int res = get(n, 1);
        cout << res << " " << n - res << "\n";
    }
    else cout << n / 2 << " " << n - (n / 2) << "\n";
}

int main()
{
    cin>>t;
    while(t--) solve();
    return 0;
}

C. Matching Numbers

题目大意

给定一个整数n。将整数1到2n配对(即每个整数应该恰好在一对中),以便每个匹配对的和都是连续且不同的。形式上,让(ai, bi)是你匹配的对,需满足s={a1+b1,a2+b2,…,an+bn},s[i+1]−s[i]=1。

题目分析

n为奇数时,可以通过图示方法对应。1~n的前部分数对应n+~2n的后部分数,即可满足;

在这里插入图片描述

n为偶数时,我们可以在奇数成立的情况下加上缺少的数字,可以发现无论怎样调整配队,都会出现不满足条件的配对。

code
#include<bits/stdc++.h>

using namespace std;

int n, m, k, t;

void solve()
{
    cin >> n;

    if(n % 2 == 0) puts("NO");
    else
    {
        puts("YES");

        int r1 = n / 2, r2 = (n + 1) / 2;
        for(int i = 1; i <= r2; i ++) cout << i << " " << i + r2 + 2 * r1 << "\n";
        for(int i = r2 + 1; i <= n; i ++) cout << i << " " << i + r1 << "\n";
    }
}

int main()
{
    cin >> t;
    while(t --) solve();
    return 0;
}

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

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

相关文章

集成nanocaptcha库生成登录验证码

背景 需要实现一个验证码登录的功能需求。这个需求挺简单的&#xff0c;主要实现验证码图片生成给前端&#xff0c;然后&#xff0c;在登录接口比对验证码即可。刚拿到这个需求&#xff0c;好久没有搞过登录这一块了&#xff0c;所以&#xff0c;查了一下相关验证码的知识。下…

cv2--特征点特征提取(Sift,Orb,Surf)

cv2–特征点特征提取&#xff08;Sift&#xff0c;Orb&#xff0c;Surf&#xff09; 文章目录cv2--特征点特征提取&#xff08;Sift&#xff0c;Orb&#xff0c;Surf&#xff09;1. 关键点和关键点描述子2. Sift2.1 检测的步骤2.2 同时计算关键点kp和描述子des3. Surf4. Orb5. …

61 UseSerialGc的新生代回收调试

前言 呵呵 很久之前看到这样的两篇文章 [讨论] HotSpot VM Serial GC的一个问题 新生代回收调试的一些心得 在第一篇帖子中 R大 详细的讲述了 cheney 算法, 以及自己编写的 cheney 算法, 以及 DefNewGeneration 的具体的一些细节, 以及 和现有的例子的对比 另外还有一些…

leaflet 加载topojson数据,显示图形(代码示例047)

第047个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中加载topojson文件,将图形显示在地图上。TopoJSON文件格式是geoJSON的一种扩展,它可以对地理空间拓扑进行编码。TopoJSON文件包含数据属性和地理空间的属性。 直接复制下面的 vue+openlayers源代码,操作…

C语言入门(什么是C语言,C语言的编程机制以及一些基础计算机概念)

目录 一.什么是C语言 1.面向对象&#xff1a; 2.面向过程&#xff1a; 二.C语言特点 三.C语言开发时间 四.环境搭建 1.代码编辑器 2.C编译器 五.C语言标准 六.计算机补充知识 1.计算机构成 2.CPU工作 3.编译器 七.编写程序步骤 八.源文件&#xff0c;目标文件&a…

SpringBoot 三大开发工具,你都用过么?

本文已经收录到Github仓库&#xff0c;该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点&#xff0c;欢迎star~ Github地址&#xff1a;https://github.com/…

Sentinel服务熔断功能(sentinel整合ribbon+openFeign+fallback)

目录 1、Sentinel服务熔断功能 一、Ribbon系列 &#xff08;一&#xff09;提供者9003/9004 &#xff08;二&#xff09;消费者84 二、OpenFeign系列 三、熔断框架比较 2、规则持久化 1、Sentinel服务熔断功能 一、Ribbon系列 &#xff08;一&#xff09;提供者9003/9004 …

DAMA数据管理知识体系指南之元数据管理

第11章 元数据管理 11.1简介 按照通常的说法&#xff0c;元数据的定义是“关于数据的数据”&#xff0c;但是其确切含义是什么&#xff1f;元数据与数据的关系就像数据与自然界的关系。数据反映了真实世界的交易、事件、对象和关系&#xff0c;而元数据则反映了数据的交易、事…

技术分享|终端安全防护|ChatGPT会创造出超级恶意软件吗?

ChatGPT是一个强大的人工智能聊天机器人&#xff0c;它使用大量的数据收集和自然语言处理与用户“交谈”&#xff0c;感觉像是和正常的人类对话。它的易用性和相对较高的准确性让用户可以利用它做任何事情&#xff0c;从解决复杂的数学问题&#xff0c;到写论文&#xff0c;创建…

【Linux】操作系统与进程的概念

目录 冯诺依曼体系 注意 为什么CPU不直接访问输入或输出设备&#xff1f; 跨主机间数据的传递 操作系统 管理 进程 描述进程 进程的查看和终止 bash 通过系统调用创建子进程 fork的辨析 冯诺依曼体系 &#x1f956;冯诺依曼结构也称普林斯顿结构&#xff0c;是一种将…

(超详细)Navicat的安装和激活,亲测有效

步骤一&#xff1a;准备安装包 下载Navicat&#xff0c;我用的v15最好一致&#xff08;私信可以发你安装包和注册码&#xff09;步骤二&#xff1a;关闭杀毒软件&#xff0c;然后需要断掉网络&#xff08;一定断网&#xff09; 步骤三&#xff1a;一路next安装&#xff0c;安装…

nodejs如何实现Digest摘要认证?

文章目录1.前言2. 原理3. 过程4. node实现摘要认证5. 前端如何Digest摘要登录认证&#xff08;下面是海康的设备代码&#xff09;1.前言 根据项目需求&#xff0c;海康设备ISAPI协议需要摘要认证&#xff0c;那么什么是摘要认证&#xff1f;估计不少搞到几年的前端连摘要认证都…

每日一个解决问题:事务无法回滚是什么原因?

今天在码代码时发现事务不回滚了&#xff0c;学过MySQL 事务小伙伴们都懂&#xff0c;通过 begin 开启事务&#xff0c;通过 commit 提交事务或者通过 rollback 回滚事务。 正常来说&#xff0c;当我们开启一个事务之后&#xff0c;需要 commit 或者 rollback 来结束一个事务的…

下面这段Python代码执行后的输出结果是?

点击上方“Python爬虫与数据挖掘”&#xff0c;进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤几行归塞尽&#xff0c;念尔独何之。大家好&#xff0c;我是皮皮。一、前言前几天在Python青铜交流群【桐霄L】问了一个Python基础的问题&#xff0c;这里拿出…

TortoiseGit 使用教程

一、下载工具 这里给大家准备了所有安装包自取 链接&#xff1a;https://pan.baidu.com/s/1xrxxgyNXNQEGD_RjwKnPMg 提取码&#xff1a;qwer 也可在官网自行下载最新版 1.下载git&#xff0c;直接去官网下载Git - Downloads&#xff0c;根据自己的系统合理下载&#xff0c…

openGauss客户端安装

目录1. 准备两台Linux系统2. 安装openGauss客户端3. 设置客户端主机环境变量4. 修改服务端配置文件5. 测试客户端远程连接客户端环境&#xff1a;openEuler release 22.03 (LTS-SP1) 服务端环境: openEuler release 20.03 (LTS-SP3) openEuler系统官网下载 1. 准备两台Linux系…

尚医通(十)数据字典加Redis缓存 | MongoDB

目录一、Redis介绍二、数据字典模块添加Redis缓存1、service_cmn模块&#xff0c;添加redis依赖2、service_cmn模块&#xff0c;添加Redis配置类3、在service_cmn模块&#xff0c;配置文件添加redis配置4、通过注解添加redis缓存5、查询数据字典列表添加Redis缓存6、bug&#x…

[oeasy]python0080_设置RGB颜色_24bit_24位真彩色_颜色设置

RGB颜色 回忆上次内容 上次 首先了解了 索引颜色 \33[38;5;XXXm 设置 前景为索引色\33[48;5;XXXm 设置 背景为索引色 RGB每种颜色 可选0-5总共 6 级 想用 精确RGB值 真实地 大红色画个 大红桃心 ♥️ 有可能吗&#xff1f;&#xff1f;&#x1f914; rgb 模式 关于 RGB 模式…

07- 梯度下降优化(Lasso/Ridge/ElasticNet) (机器学习)

归一化: 减少数据不同数量级对预测的影响, 主要是将数据不同属性的数据都降到一个数量级。 最大值最小值归一化:优点是可以把所有数值归一到 0~1 之间&#xff0c;缺点受离群值影响较大。0-均值标准化: 经过处理的数据符合标准正态分布&#xff0c;即均值为0&#xff0c;标准差…

Android 逆向工具大整理,碉堡了

文章目录jadx打开 gui 界面把安装包打开双击变量名和方法名可以高亮所有出现的地方**强大的搜索功能****搜索资源****查看 APK 签名****查看 APK dex 数&#xff0c;方法数****查看资源&#xff0c;配置清单****展开包名**查找方式引用反混淆导出 Gradle 工程导出反编译资源cla…