Codeforces Round 918 (Div. 4)(A~F)

目录

A. Odd One Out

B. Not Quite Latin Square

C. Can I Square?

D. Unnatural Language Processing

E. Romantic Glasses

F. Greetings


A. Odd One Out

Problem - A - Codeforces

输出一个不同于其他两个数的数,用异或操作可以轻松解决。

void solve{int a,b,c;cin>>a>>b>>c;cout<<a^b^c<<"\n";
}

B. Not Quite Latin Square

Problem - B - Codeforces

找到?的位置,再分析它这行和列出现的元素。

char a[30][30];
void solve()
{int x, y;for (int i = 1; i <= 3; i++){for (int j = 1; j <= 3; j++){cin >> a[i][j];if (a[i][j] == '?'){x = i, y = j;}}}int f[200];memset(f, 0, sizeof(f));for (int i = 1; i <= 3; i++){f[a[x][i]]++;f[a[i][y]]++;}for (int i = 'A'; i <= 'C'; i++){if (!f[i]){cout << (char)i << "\n";}}}

C. Can I Square?

Problem - C - Codeforces

数组所有元素的和是否为完全平方数。

void solve()
{int n;cin >> n;ll sum = 0;for (int i = 1; i <= n; i++){ll x;cin >> x;sum += x;}if ((double)sqrt(sum) == (int)sqrt(sum)){cout << "YES\n";}else cout << "NO\n";}

D. Unnatural Language Processing

Problem - D - Codeforces

规定一个规则。

当出现CC的子串,那么它们中间必定插入一个'.',再判断一些V后面是否插入'.',如果V后面是CC子串则不插入,或者V位于倒数第二个元素后面也不执行插入,反之都插入。

ll pos[N];
void solve()
{memset(pos, 0, sizeof(pos));int n;cin >> n;string s,t,ans;t.resize(n + 1);cin >> s;for (int i = 0; i < s.size(); i++){if (s[i] == 'a' || s[i] == 'e') t[i] = 'V';else t[i] = 'C';}for (int i = 0; i < s.size() - 1; i++){if (t[i] == 'C' && t[i + 1] == 'C'){pos[i] = 1;}}for (int i = 0; i < s.size(); i++){if (i >= s.size() - 2){ans += s[i];continue;}if (pos[i]){ans += s[i];ans += '.';continue;}if (t[i] == 'V'&&!pos[i+1]){ans += s[i];ans += '.';continue;}ans += s[i];}cout << ans << "\n";
}

E. Romantic Glasses

Problem - E - Codeforces

其实就是找到一个连续子数组的奇位与偶位的元素和相同,那我们不妨将所有偶位元素ai设置为-ai,在遍历数组用前缀和记录,当当前前缀和的数字为0或者出现第二次,那么则出现了目标的连续子数组。

ll f[N];
void solve()
{int n;cin >> n;for (int i = 1; i <= n; i++) cin >> f[i];ll sum = 0;map<ll,ll>v;for (int i = 1; i <= n; i++){f[i] *= ((i % 2) ? 1 : -1);sum += f[i];if (v[sum]||!sum){cout << "YES\n";return;}v[sum]++;}cout << "NO\n";
}

F. Greetings

Problem - F - Codeforces

其实就是排序+离散化+树状数组,利用树状数组求逆序对。

当我们对元素按照终点的编号大小按照从小到大排序后,单独将他们的起点编号设置为一个数组,我们发现这个数组的逆序对就是我们要的答案,但是n^2的求解肯定会超时,我们可以用分治或者树状数组去快速求解逆序对,由于本人对树状数组熟悉一些,下面演示的是树状数组求解的代码。

struct Node
{ll s,e,id;
}e[N];
ll n;
ll a[N], rak[N];
ll lowbit(ll x)
{return x & (-x);
}
bool cmp(Node a, Node b)
{return a.e < b.e;
}
bool cmp1(Node a, Node b)
{return a.s < b.s;
}
void add(ll pos)
{for (int i = pos; i <= n; i += lowbit(i)) a[i] += 1;
}
ll ask(ll pos)
{ll ans = 0;for (int i = pos; i >= 1; i -= lowbit(i)) ans += a[i];return ans;
}
void solve()
{memset(a, 0, sizeof(a));memset(rak, 0, sizeof(rak));cin >> n;for (int i = 1; i <= n; i++){cin >> e[i].s >> e[i].e;}sort(e + 1, e + 1 + n, cmp);for (int i = 1; i <= n; i++){e[i].id = i;}sort(e + 1, e + 1 + n,cmp1);for (int i = 1; i <= n; i++){rak[e[i].id] = i;}ll ans = 0;for (int i = 1; i <= n; i++){ll pos = rak[i];ans += ask(n) - ask(pos);add(pos);}cout << ans << "\n";
}

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

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

相关文章

高考志愿填报,选专业是看兴趣还是看就业?

对于结束高考的学生来说&#xff0c;选择专业的确是一个非常让人头疼的事情。因为很多人都不知道&#xff0c;选专业的时候究竟是应该看一下个人兴趣&#xff0c;还是看未来的就业方向&#xff0c;这也是让不少人都相当纠结的问题。这里分析一下关于专业选择的问题&#xff0c;…

windows下docker安装

目录 前言 1.搭建WSL2环境 1.1打开控制面板 1.2 将WSL 2设置为默认值 2.安装docker 3.使用docker 结论&#xff1a; 前言 本文安装docker&#xff0c;将使用WSL2&#xff0c;而不是vmeare和Hyper-V&#xff0c;也不需要你另外安装Linux系统&#xff08;如Ubuntu&#x…

PostgreSQL主从同步

目录 一、主从复制原理 二、配置主数据库 2.1 创建同步账号 2.2 配置同步账号访问控制 2.3 设置同步参数 3.4 重启主数据库 三、配置从数据库 3.1 停止从库 3.2 清空从库数据文件 3.3 拉取主库数据文件 3.4 配置从库同步参数 3.5 启动从库 四、测试主从 4.1在主库…

【HTML入门】第四课 - 换行、分割横线和html的注释

这一小节&#xff0c;我们继续说HTML的入门知识&#xff0c;包括换行、横线分割以及注释&#xff08;html的注释&#xff09;。 目录 1 换行 2 分割横线 3 html注释 1 换行 html中分为块元素和行内元素。这一小节呢&#xff0c;先不说这些元素们&#xff0c;我们先说一下换…

免费分享:1981-2016全球粮食产量数据集(附下载方法)

了解主要作物的历史产量模式&#xff0c;包括趋势和年际变化&#xff0c;对于了解在粮食需求和气候变化日益增长的情况下粮食生产的现状、潜力和风险至关重要。 数据简介 1981-2016全球粮食产量数据集是农业普查统计&#xff08;粮农组织报告的国家产量统计数据&#xff09;和…

【Linux】如何在 Linux 上查找占用空间较大的文件和文件夹

如何在 Linux 上查找占用空间较大的文件和文件夹 在日常使用 Linux 的过程中&#xff0c;我们常常需要清理磁盘空间。找出占用空间较大的文件和文件夹是一个重要的步骤。本文将介绍几种方法来查找这些占用空间较大的文件和文件夹。 方法一&#xff1a;使用 du 和 sort 命令 …

MySQL右连接详解

在 MySQL 中&#xff0c;右连接&#xff08;RIGHT JOIN&#xff09;用于从两个或多个表中获取数据&#xff0c;返回右表中的所有行&#xff0c;即使在左表中没有匹配的行。 右连接的语法如下&#xff1a; SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.col…

云渲染平台那个好?2024云渲染测评

1.渲染100&#xff08;强烈推荐&#xff09; 以高性价比著称&#xff0c;是预算有限的小伙伴首选。 15分钟0.2,60分钟内0.8;注册填邀请码【5858】可领30元礼包和免费渲染券) 提供了多种机器配置选择(可以自行匹配环境)最高256G大内存机器&#xff0c;满足不同用户需求。支持…

【文件共享 windows和linux】Windows Server 2016上开启文件夹共享,并在CentOS 7.4上访问和下载文件

要在Windows Server 2016上开启文件夹共享&#xff0c;并在CentOS 7.4上访问和下载文件&#xff0c;请按照以下步骤操作&#xff1a; 在Windows Server 2016上开启文件夹共享&#xff1a; 启用SMB服务&#xff1a; 打开“服务器管理器”。选择“文件和存储服务” > “共享…

ubuntu22.04下安装labelme标注工具

1、下载指令很简单 pip install labelme 如果下载速度很慢的话需要加上清华源 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple labelme2、打开labelme使用以下指令 labelme 3、若出现以下错误QObject::moveToThread: Current thread (0x1634080) is not the ob…

GDBFuzz:基于硬件断点的嵌入式系统模糊测试工具

关于GDBFuzz GDBFuzz是一款功能强大的模糊测试工具&#xff0c;在该工具的帮助下&#xff0c;广大研究人员可以使用硬件断点对嵌入式系统进行模糊测试。 GDBFuzz的理念是利用微控制器的硬件断点作为覆盖引导模糊测试的反馈。因此&#xff0c;GDB被用作通用接口以实现广泛的适用…

Java异常详解及自定义异常

认识异常&#xff0c;掌握异常处理主要的5个关键字&#xff1a;throw、try、catch、final、throws并掌握自定义异常 目录 1、异常概念与体系结构 1、1异常的概念 1、2异常体系结构 1、3异常的分类 编译时异常&#xff1a; 运行时异常 &#xff1a; 2、异常处理 2、1防御式…

金银铜牌排序【二维数组借用Arrays.sort方法进行排序】

1475: 金银铜奖牌排序 题目描述 奥运会开始了,想请你为各个国家和地区做奖牌排序,按照金牌>银牌>铜牌的格式进行排序 输入 第一行 告诉你共有n个国家 接来下的n 行 每行三个数字 分别代表 金牌数量 银牌数量 铜牌数量 中间用空格隔开 输出 输出n行 每行三个数字 按…

Android v有哪些新特性?全部hidl接口更换为aidl不做支持了吗?

首先&#xff0c;需要澄清的是&#xff0c;Android的版本命名并不直接对应于字母&#xff08;如v&#xff09;&#xff0c;而是采用数字递增的方式&#xff08;如Android 1、Android 2、...、Android 14等&#xff09;。因此&#xff0c;当我们谈论“Android v”时&#xff0c;…

Kylin基本操作教程演示

以下是Kylin基本操作教程&#xff0c;内容包括安装、数据源配置、数据模型设计、数据分析和报表生成等方面&#xff1a; 安装Kylin 1.下载Kylin安装包&#xff0c;支持的操作系统包括Linux、Windows和Mac OS X。 2.解压缩安装包&#xff0c;得到kylin-xxx.jar文件。 3.在命令…

如何确保 PostgreSQL 在高并发写操作场景下的数据完整性?

文章目录 一、理解数据完整性二、高并发写操作带来的挑战三、解决方案&#xff08;一&#xff09;使用合适的事务隔离级别&#xff08;二&#xff09;使用合适的锁机制&#xff08;三&#xff09;处理死锁&#xff08;四&#xff09;使用索引和约束&#xff08;五&#xff09;批…

【C++】类和对象(中)--下篇

个人主页~ 类和对象上 类和对象中-上篇 类和对象 五、赋值运算符重载1、运算符重载2、赋值运算符重载3、前置和后置重载 六、const成员七、日期类的实现Date.hDate.cpptest.cpptest1测试结果test2测试结果test3测试结果test4测试结果test5测试结果test6测试结果test7测试结果 八…

Spring Boot 事件监听机制工作原理

前言&#xff1a; 我们知道在 Spring 、Spring Boot 的启动源码中都大量的使用了事件监听机制&#xff0c;也就是我们说的的监听器&#xff0c;监听器的实现基于观察者模式&#xff0c;也就是我们所说的发布订阅模式&#xff0c;这种模式可以在一定程度上实现代码的解耦&#…

SAP FICO自定义权限对象及自定义作业创建

设置的通用说明 要求设置税收分组权限&#xff0c;自定义权限对象&#xff1a;Z_SSFZ 执行按钮权限控制&#xff1a;权限对象Z_SSFZ 字段名&#xff1a;ZSSFZ对应维护税收分组 字段名&#xff1a;ZACTVT01 01&#xff1a;付款银行信息维护 02&#xff1a;员工基本信息维护…

Ant-Vue——modal对话框

在Vue3的项目里&#xff0c;组件库用的是Ant-design 3.2版本 修改样式 需求是需要修改原生的 modal 样式 如果直接用类名 .ant-modal-body 去修改样式&#xff0c;会发现无法修改。因为默认不支持修改高度和外边距padding 所以需要&#xff1a;先通过 挂载元素 再css穿透/de…