AtcoderABC249场

A - JoggingA - Jogging

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

题目大意

高桥和青木一起慢跑,高桥每隔 A+CA+C 秒钟走 BB 米,然后休息 CC 秒钟,青木每隔 D+FD+F 秒钟走 EE 米,然后休息 FF 秒钟。现在已经过去了 XX 秒钟,问谁跑得更远。

思路分析

模拟来解决这个问题,即按照题目描述模拟高桥和青木的行动,计算他们在 X 秒钟内各自前进的距离,然后比较距离大小即可。

时间复杂度

O(X)

AC代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c,d,e,f,x;
cin>>a>>b>>c>>d>>e>>f>>x;
int rt=0,ra=0;
for(int  i=0;i<x;i++){
if(i%(a+c)<a) rt+=b;
if(i%(d+f)<d) ra+=e;
}
if(rt>ra)cout<< "Takahashi"<<endl;
if(rt<ra)cout<< "Aoki"<<endl;
if(rt==ra)cout<<" Draw"<<endl;
}

B - Perfect StringB - Perfect String

在这里插入图片描述

题目大意

给定一个字符串S,判断它是否为美妙的字符串。美妙的字符串满足以下条件:

  • 字符串包含至少一个大写英文字母。
  • 字符串包含至少一个小写英文字母。
  • 字符串中的所有字符都互不相同。

思路分析

为了判断字符串S是否为美妙的字符串,需要检查以下三个条件:
1.检查字符串S是否包含至少一个大写英文字母。可以使用 isupper() 函数来检查每个字符是否为大写字母。
2.检查字符串S是否包含至少一个小写英文字母。可以使用 islower() 函数来检查每个字符是否为小写字母。
3.检查字符串S中的所有字符是否互不相同。可以使用两个嵌套的 for 循环来比较每对字符。如果找到相同的字符,则将 diff 设置为 false。

时间复杂度

O(|S|2)

AC代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
cin>>s;
bool big=false,small=false;
for(int i=0;i<s.size();i++)
{
if(isupper(s[i])) big=true;
else small=true;
}bool diff = true;for(int i = 0; i < s.size(); i++){for(int j = i + 1; j < s.size(); j++){if(s[i] == s[j]) diff = false;}}if(big && small && diff) cout << "Yes" << endl;else cout << "No" << endl;
}

C - Just KC - Just K

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

题目大意

给出 N 个字符串 S1,S2,…,SN,每个字符串由小写英文字母组成。
选择若干个字符串,找到包含恰好 K 个已选择字符串中的一些字母的最大不同字母数。

思路分析

由于题目给出的 N 不超过 15,因此可以接受使用指数级时间复杂度算法,即枚举所有可能的字符串选择情况。

要在 N 个字符串中选择若干个字符串,这是一个经典的子集枚举问题。可以使用位运算来实现枚举。具体地,可以将每个字符串看作一个二进制数,第 i 位为 1 表示选择第 i 个字符串,为 0 表示不选择。然后枚举所有可能的字符串选择情况,对于每种情况,统计其包含的字母数,最终取最大值即可。

在统计包含的字母数时,可以使用数组 sum 维护每个字母出现的次数。具体地,对于已选择的字符串,遍历其中的每个字母,将其对应的 sum 数组元素加 1。最后,遍历 sum 数组,统计出现次数为 K 的字母数 now,即为当前字符串选择情况下包含的字母数。

时间复杂度

O(2^N * N * σ)
其中 σ 表示小写英文字母的数目,即 26。

AC代码

#include <bits/stdc++.h>
using namespace std;int main() {int n,k;cin>>n>>k;vector<string> s(n);for(int i=0;i<n;i++) cin>>s[i];int ans=0;for(int i=0;i<(1<<n);i++){vector<int> sum(26);for(int j=0;j<n;j++){if((i>>j)&1){for(int x=0;x<s[j].size();x++) sum[s[j][x]-'a']++;}}int now=0;for(int j=0;j<26;j++) if(sum[j]==k) now++;ans=max(ans,now);}cout<<ans<<endl;
}

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

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

相关文章

mysql 1 -- 数据库介绍、mysql 安装及设置

Linux 安装 mysql 1、数据库&#xff08;mysql&#xff09; 数据文件 - 数据库过了系统 2、c/s mysql 服务器 mysql 客户端 ip port : 3306 3、关系型 于 非关系型数据库&#xff08;nosql&#xff09; nosql可以解决一些关系型数据库所无法实现的场景引用。 一、数据库介绍 …

VScode 右键菜单加入使用用VSCode打开文件和文件夹【Windows】

VScode 右键菜单加入使用用VSCode打开文件和文件夹【Windows】 介绍修改注册表添加右键打开文件属性修改注册表添加右键打开文件夹属性修改注册表添加右键空白区域属性 介绍 鼠标右击文件或者文件夹&#xff0c;可直接用VSCode打开&#xff0c;非常方便。但如果我们在安装VSCo…

「网络编程」传输层协议_ UDP协议学习_及原理深入理解

「前言」文章内容大致是传输层协议&#xff0c;UDP协议讲解。 「归属专栏」网络编程 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、传输层二、UDP协议2.1 再谈端口号2.2.1 端口号范围划分2.2.2 认识知名端口号2.2.3 端口号注意问题2.2.4 netstat命令和pidof命令 2.2 UD…

设计模式之享元模式

写在前面 本文看下一种结构型设计模式&#xff0c;享元模式。 1&#xff1a;介绍 1.1&#xff1a;什么时候使用享元模式 当程序需要大量的重复对象&#xff0c;并且这些大量的重复对象只有部分属性不相同&#xff0c;其他都是相同的时候&#xff0c;就可以考虑使用享元设计…

STM32之按键驱动的使用和自定义(MultiButton)

原始Github地址 Github地址 修改后 调整内容 将宏定义转换成配置结构体 头文件 #ifndef _MULTI_BUTTON_H_ #define _MULTI_BUTTON_H_#include "stdint.h" #include "string.h"//According to your need to modify the constants. //#define TICKS_IN…

Redis实战案例19-Redis解决主从一致性问题

主节点&#xff08;Master&#xff09;“写操作”&#xff1a; 接收并响应客户端的读写请求。持久化数据到磁盘&#xff08;根据配置可以选择使用RDB快照或者AOF日志&#xff09;。将自己的写操作同步给所有的从节点。处理发布/订阅&#xff08;Pub/Sub&#xff09;模式中的发…

AUTOSAR CP标准的RTE和BSW各模块的设计及开发工作

AUTOSAR&#xff08;Automotive Open System Architecture&#xff09;是一种开放的汽车电子系统架构标准&#xff0c;旨在提供一种统一的软件架构&#xff0c;以实现汽车电子系统的模块化和可重用性。 AUTOSAR标准中的两个重要模块是RTE&#xff08;Runtime Environment&…

微服务Day2——Nacos注册中心入门

Nacos注册中心 1、Nacos简介 国内公司一般都推崇阿里巴巴的技术&#xff0c;比如注册中心&#xff0c;SpringCloudAlibaba也推出了一个名为Nacos的注册中心。 2、Mac安装 进入Nacos官网下载安装包 http://nacos.io/zh-cn/ Github仓库地址 下载解压后进入nacos/bin目录下 …

Docker——认识Docker 常用命令 Linux中安装docker 常见问题及其解决

目录 引出Docker是啥&#xff1f;Docker是啥&#xff1f;Docker VS 虚拟机1.特性优势2.资源优势 Docker的架构Docker常用命令&#xff08;0&#xff09;docker run&#xff08;1&#xff09;docker ps&#xff08;2&#xff09;docker stop 容器名称&#xff08;3&#xff09;…

大二毕设.2-自研Spring框架

目录 项目描述&#xff1a; 基本演示 提取标记类 IOC容器的装载 IOC容器的操作 DI依赖注入 Aspect排序 AOP MVC 功能实现讲解 项目描述&#xff1a; 为了更好地学习 Spring 的核心&#xff0c;参考 Spring 源码实现的一个简易框架当前已实现 IOC&#xff0c;DI依赖注…

学习react,复制一个civitai(C站)-更新3

更新内容 优化了一下加载速度 图片列表 初步更新了199张图片&#xff0c;大部分都有stable diffusion 的prompts。 可以直接复制到AI绘画里面使用。 先来看看效果图吧&#xff1a; 我还是挺喜欢这种砌砖流布局 技术点 同样使用了砌墙瀑布流布局:masonry js 安装方法 npm …

2023-07-10 linux IIO子系统使用学习,在TI 的ads1015驱动里面看到相关使用,故花点时间进行简单的学习,入门级别,纪录点滴。

一、Linux IIO&#xff08;Industrial I/O&#xff09;架构是Linux内核提供的一种用于支持各种类型传感器和数据采集设备的子系统&#xff0c;包括温度、压力、湿度、加速度、光度等多种传感器。 二、这个就是ads1015的驱动&#xff0c;里面用到iio子系统。 ti-ads1015.c adc…