AtcoderABC232场

news2024/10/1 17:20:09

A - QQ solverA - QQ solver

在这里插入图片描述在这里插入图片描述

题目大意

要求从一个长度为3的字符串中提取出两个整数a和b,字符串的格式是axb,其中a和b是介于1到9之间(包括11和99)的整数,计算它们的乘积。

思路分析

将字符类型转换为整数类型来提取出a和b,并计算它们的乘积。

时间复杂度

O(1)

AC代码

#include <iostream>
using namespace std;

int main() {
  char a, x, b;
  cin >> a >> x >> b;
  cout << (int)(a - '0') * (int)(b - '0') << '\n';
}

B - Caesar Cipher B - Caesar Cipher

在这里插入图片描述在这里插入图片描述

题目大意

判断是否存在一个非负整数K,使得将字符串S中的每个字符向右移动K位后得到字符串T。

思路分析

  • 找到第一个字符对应的K值。根据题目描述,可以通过计算(t[0] - s[0] + 26) % 26来得到K的值。这样做的目的是保证K始终为非负数。
  • 然后,遍历字符串S和T的每个字符,如果发现有任何一个字符经过移动后不等于T中对应位置的字符,则输出"No"。否则,当所有字符移动后与T相等时,输出"Yes"。

时间复杂度

O(n)

AC代码

#include <iostream>
using namespace std;

int main() {
  string s, t;
  cin >> s >> t;
  
  int k = (t[0] - s[0] + 26) % 26;
  for (int i = 0; i < (int)s.size(); i++) {
    if ((s[i] - t[i] + 26) % 26 != k) {
      cout << "No" << endl;
      return 0;
    }
  }
  cout << "Yes" << endl;
  return 0;
}

C - Graph IsomorphismC - Graph Isomorphism

在这里插入图片描述在这里插入图片描述在这里插入图片描述

题目大意

判断两个玩具是否具有相同的形状。每个玩具由N个球和M根绳索组成。在Takahashi的玩具中,球的编号为1到N,第i根绳索连接了球Ai和球Bi。类似地,在Aoki的玩具中,球的编号也为1到N,第i根绳索连接了球Ci和球Di。

思路分析

通过枚举N个球的排列,并验证条件是否满足。具体来说,对于每个排列P,检查Takahashi玩具中球i和球j是否被绳索连接,应该等价于Aoki玩具中球Pi和球Pj是否被绳索连接。如果存在一个排列P使得这个条件对所有i和j都成立,则可以判断两个玩具具有相同的形状。

时间复杂度

O(N^2 * N!)

AC代码

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

int main() {
    int n, m;
    cin >> n >> m;
    vector<vector<bool>> x(n, vector<bool>(n)), y(n, vector<bool>(n));
    
    // 读取Takahashi玩具的绳索连接关系
    for (int i = 0; i < m; ++i) {
        int a, b;
        cin >> a >> b;
        a -= 1, b -= 1;
        x[a][b] = x[b][a] = true;
    }
    
    // 读取Aoki玩具的绳索连接关系
    for (int i = 0; i < m; ++i) {
        int c, d;
        cin >> c >> d;
        c -= 1, d -= 1;
        y[c][d] = y[d][c] = true;
    }
    
    vector<int> p(n);
    iota(begin(p), end(p), 0);
    
    do {
        bool ok = true;
        for (int i = 0; i < n; ++i) {
            for (int j = 0; j < n; ++j) {
                if (x[i][j] != y[p[i]][p[j]]) {
                    ok = false;
                }
            }
        }
        if (ok) {
            cout << "Yes\n";
            return 0;
        }
    } while (next_permutation(begin(p), end(p)));
    
    cout << "No\n";
}

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

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

相关文章

mysql进阶2——prosysql实现mysql读写分离

文章目录 一、读写分离方案类型1.1 最简单的读写分离1.2 多个读组或写组的分离模式 二、案例2.1 初始化操作2.2 mysql主添加proxysql连接用户2.3 Proxysql添加连接mysql集群参数2.4 添加健康检测用户2.5 添加读写分离的路由规则2.6 验证 一、读写分离方案类型 基本了解&#xf…

区分能带图

能带结构是目前采用第一性原理&#xff08;从头abinitio&#xff09;计算所得到的常用信息&#xff0c;可用来结合解释金属、半导体和绝缘体的区别。能带可分为价带、禁带和导带三部分&#xff0c;倒带和价带之间的空隙称为能隙。 如果能隙很小或为0 &#xff0c;则固体为金属…

u-tabs设置默认选中值

uView中u-tabs设置默认选中值&#xff1a; tabs官网连接:https://www.uviewui.com/components/tabs.html 在u-tabs标签中添加 :current 属性值 【注意】&#xff1a;current数值是从0开始的

HMM与CRF模型的使用过程有哪些差异?

在NLP领域, HMM用来解决文本序列标注问题. 如分词, 词性标注, 命名实体识别都可以看作是序列标注问题。同HMM一样, CRF一般也以文本序列数据为输入, 以该序列对应的隐含序列为输出。 HMM模型 HMM模型表示为: lambda HMM(A, B, pi), 其中A, B, pi都是模型的参数, 分别称作: 转…

Mentor Xpedition 过孔的制做以及如何把孔加入PCB板中

Mentor Xpedition 过孔的制做以及如何把孔加入PCB板中 常用的过孔有10/18mil &#xff0c;10/22mil &#xff0c;12/24mil。目前国内PCB厂制做工艺孔径比为8:1(板厚与孔径&#xff09;优秀的PCB板厂的工艺孔径比会更大。 1、下面我们用Mentor建立10/18的孔&#xff0c;打开Se…

P2390 地标访问(二分+结论推导)

来一手结论&#xff01;&#xff1a;贝西想要经过最多的地标数量&#xff0c;一定不能反复横跳 所以简单了&#xff1a;&#xff08;&#xff09; 题目问的是最多可以访问多少地标。稍稍分析可知&#xff0c;多访问一个路标&#xff0c;时间必定不会减少&#xff0c;显然这具有…

王道考研数据结构第三章知识点总结

3.1.1 栈的基本概念 注意&#xff1a;卡特兰数结合先序进栈&#xff0c;中序出栈考察&#xff0c;第五章树与二叉树2015年关于不同二叉树的个数的题目 3.1.2 栈的顺序存储实现 3.1.3 栈的链式存储实现 3.2.1 队列的基本概念(详见课件) 3.2.2 队列的顺序实现(详见课件) 3.2.3 队…

WPF基础知识

WPF布局基础原则 1.一个窗口中只能包含一个元素 2. 不应该显示设置元素尺寸 3. 不应使用坐标设置元素的位置 4.可以嵌套布局容器WPF布局容器 StackPanel:水平或垂直排列元素&#xff0c;Orientation属性分别为&#xff1a;Horizontal/VerticalWrapPanel:水平或垂直排列元素、…

ProtoBuf入门概念

目录&#xff1a; 序列化概念ProtoBuf是什么ProtoBuf的使⽤特点安装ProtoBuf如何学习ProtoBuf 1.序列化概念 序列化和反序列化 序列化&#xff1a;把对象转换为字节序列的过程称为对象的序列化。反序列化&#xff1a;把字节序列恢复为对象的过程称为对象的反序列化。 什么…

【DRONECAN】(二)DRONECAN_GUI_TOOL使用

【DRONECAN】&#xff08;二&#xff09;DRONECAN_GUI_TOOL使用 前言 DRONECAN_GUI_TOOL是DRONECAN官方开发的一个DRONECAN调试工具&#xff0c;在上一篇文章已经介绍过DRONECAN的背景了&#xff0c;这篇文章主要介绍一下DRONECAN_GUI_TOOL的使用。 DRONECAN_GUI_TOOL在开发…

【从零开始学习JAVA | 第三十一篇】异常体系介绍

前言&#xff1a; 本文我们将为大家介绍一下异常的整个体系&#xff0c;而我们学习异常&#xff0c;不是为了敲代码的时候不出异常&#xff0c;而是为了能够熟练的处理异常&#xff0c;如何解决代码中的异常。 异常的两大分类&#xff1a; 我们就以这张图作为线索来详细介绍一…

Spring Cloud【SkyWalking日志、SkyWalking告警 、Skywalking自定义告警规则】(十五)

目录 分布式请求链路追踪_SkyWalking日志 分布式请求链路追踪_SkyWalking告警 分布式请求链路追踪_Skywalking自定义告警规则 分布式请求链路追踪_SkyWalking日志 POM中引入相关依赖 Skywalking8.4.0版本开始才支持收集日志功能&#xff0c;同时pom需引用以下依赖。 <…

如何理解教育数字化转型?

一、教育数字化转型 教育数字化转型是指将传统的教育方式和教学方法通过应用数字技术进行改进和创新&#xff0c;实现教育过程的数字化、网络化、智能化。它包括利用数字技术改变教育内容的呈现方式、改变组织方式、改变评估和反馈方式。 教育数字化的目的是为了提高教育的效率…

KubeVela篇06:Kubevela Addon插件安装原理

addon支持从本地、git仓库、helm chart仓库安装,最终原理都相同,因此我们以本地安装为例。 完整流程如下: 从指定目录读取一个完整的addon安装包。 根据metadata.yaml配置文件,校验插件要求的kubevela、k8s的版本,不满足版本要求则终止安装。 根据metadata.yaml配置文件…

MS VC 2022开发Linux应用记录之02篇-开发调试Linux QT应用

MS VC 2022开发Linux应用记录之02篇 1. 安装QT5 apt-get update apt-get install build-essential apt-get install qtcreator apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools apt-get install qtcreator apt-get install qt5* apt-get install li…

LeetCode 热题 100(三):普通数组。53. 最大子数组和、 56. 合并区间、189. 轮转数组、238. 除自身以外数组的乘积

一、题目一&#xff1a; 53. 最大子数组和 题目要求&#xff1a; 思路&#xff1a;贪心算法。 求每个区间的和。 局部最优&#xff1a;当前“连续和”为负数的时候立刻放弃&#xff0c;从下一个元素重新计算“连续和”&#xff0c;因为负数加上下一个元素 “连续和”只会越…

硬件系统工程师宝典(33)-----EEPROM电路如何设计?

各位同学大家好&#xff0c;欢迎继续做客电子工程学习圈&#xff0c;今天我们继续来讲这本书&#xff0c;硬件系统工程师宝典。 上篇我们了解了嵌入式应用中应用领域不同&#xff0c;所采用的CPU也不同&#xff0c;不过CPU部分电路的设计过程都较为相似。并且&#xff0c;我们…

抖音seo源码开发技术解析

抖音seo矩阵系统源码开发部署基于PHP语言&#xff0c;结合视频剪辑基础框架逻辑&#xff0c; 一、 抖音SEO源码开发技术解析主要包括以下内容&#xff1a; 抖音SEO的概念&#xff1a;简单介绍抖音SEO的概念、作用和流程。 SEO优化技巧&#xff1a;详细讲解SEO优化的技巧&…

C++ - list介绍 和 list的模拟实现

list介绍 list 是一个支持在常数范围内&#xff0c;任意位置进行插入删除的序列式容器&#xff0c;且这个容器可以前后双向迭代。我们可以把 list 理解为 双向循环链表的结构。 于其他结构的容器相比&#xff0c;list在 任意位置进行插入和函数的效率要高很多&#xff1b;而li…

JavaScript:Promise 组合器

如果可以实现记得点赞分享&#xff0c;谢谢老铁&#xff5e; Promise在 JavaScript 中并不是一个新概念。它们是表示异步操作的最终完成或失败及其结果值的对象。 Promise 有三种可能的状态&#xff1a;pending – 初始状态&#xff08;仍在等待&#xff09;、已完成– Promis…