Codeforces Round #905(Div.3)

news2024/10/5 4:41:57

A. Morning

题目

给定4位数字码,每位数字取值0-9。排列顺序如下: 

 初始光标指向1,每次可执行其中一个操作

        1、输出光标所指数字

        2、移动光标到相邻位置上。如3可移动到2或4,其中1只能移动到2,0只能移动到9。

问,需要进行多少次操作,能够得到给定的4位数字码。

输入

第一行为测试样例数t,取值范围1\leq t\leq 10^{4}

接下来t行,每行包含一个4位数字码

输出

输出t行,每行位得到此数字码需要的操作次数。

解析

 依次遍历4位数字,记录光标移动到当前数字的移动次数,累加即为结果。因为输出数字也是一次操作,故最后需要加上4。

代码


T = int(input().strip())

for t in range(T):
    n = input().strip()

    cur = 1
    res = 0
    for i in n:
        i = int(i)
        if i == 0:
            i = 10
        res = res + abs(i - cur)
        cur = i

    print(res+4)

B. Chemistry

题目

给定长度为n的字符串s,判断是否可以通过删除任意k的字符后,使s成为回文字符串。(删除k个字符后的s,可以任意排序)

输入

首行测试样例数t,1\leq t\leq 10^{4}.

每组数据第一行输入n和k,由空格隔开,0\leq k\leq n\leq 10^{5}.

第二行为长度为n的字符串s

输出

输出判断结果“YES”或“NO”,不区分大小写。

解析

 rank的时候没有注意剩余字符可以任意排序,卡了一个多小时,这就是菜吧。回文字符串,从前往后和从后往前相同,故回文字符串中出现的字符,其数量为奇数的个数不能超过1。(只有长度为奇数的回文字符,才有能出现某个字符出现次数为奇数)。故只需统计s中字符出现奇数次的个数,判断其是否小于等于k+1即可。

代码


T = int(input().strip())

for t in range(T):
    n, k = map(int, input().strip().split())
    s = input().strip()
    l = [0] * 26
    for c in s:
        l[ord(c) - ord('a')] += 1

    cnt = 0
    for i in l:
        if i % 2:
            cnt += 1
    if cnt - k <= 1:
        print("YES")
    else:
        print("NO")

C. Raspberries

题目

给定长度为n的数字序列,每个数字k取值2\leq k\leq 5。每次操作,可选择序列中任一数字a,将其加1。

问,最少需要多少次操作可使\prod_{i=1}^{i=n}a_{i}能够被k整除。

输入

首行测试样例数t,其中1\leq t\leq 10^{4}

每组第一行输入n和k,空格隔开。2\leq n\leq 10^{5}, 2 \leq k \leq 5.

第二行长度为n的数字序列,一次用空格隔开

输出

t行最小操作次数

解析

k的取值只有2,3,4,5。当序列中任一一个数字能够被k整除时,序列的乘积便能够被k整除。故对于2,3,5素数,最优策略是将单个数字增加到能被k整除。

对4而言,有两种策略,一种同上。另一种,将两个数字增加到偶数,序列乘积便可被4整除。如果序列中偶数个数为cnt,则第二种策略的答案为max(0, 2-cnt)。从两种策略中选择最小值即可。

代码


T = int(input().strip())

for t in range(T):
    n, k = map(int, input().strip().split())
    b = k
    a = list(map(int, input().strip().split()))
    a.sort()

    res = 6
    even = 0
    for i in a:
        if i % 2 == 0:
            even += 1
        while i > k:
            k += b
        dis = k - i
        if dis < res:
            res = dis

    if b == 4:
        if n >= 2:
            res = min(res, max(0, 2-even))

    print(res)
    

第一次做CF,挑了个难度最低的,就做出来两个题,C还提交错了两次(扣了100)。总的来看div3前面题目的难度并不大,首次做全英文的题目会忽略掉一些关键条件。C的错误也是因为循环中变量命名习惯不好,慢慢纠正吧,看下次拿几分。

rank分多了400,成功从CF晋级为CF,o(╥﹏╥)o。

(另,解析里图片部分为出题人解答) 

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

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

相关文章

离线电商数仓(一)

一、数据仓库概述 1. 数据仓库 数据仓库是一个为数据分析而设计的企业级数据管理系统。数据仓库可集中、整合多个数据源的大量数据&#xff0c;企业可以从数据仓库中获取宝贵数据进行决策。 数据分类&#xff1a;业务数据、日志数据 将这两种数据从业务系统采集到Hive中&…

(yum+内网)centos7两种方式安装jdk11

一、yum在线安装 需要提前配置yum源。 搜索可安装的版本&#xff0c;可以看到有1.6、1.7、1.8、11共4个版本 yum search openjdk 安装jdk11 yum -y install java-11-openjdk 验证 java -version 二、内网离线安装 需要提前下载安装包。 安装包下载地址 https://www.or…

爬虫一般采用什么代理IP,Python爬虫代理IP使用方法详解

在进行网络爬虫开发时&#xff0c;使用代理IP是一种常见的技术手段&#xff0c;可以帮助爬虫程序实现更高效、稳定和隐秘的数据抓取。本文将介绍爬虫一般采用的代理IP类型&#xff0c;并详细解释Python爬虫中使用代理IP的方法。 一般来说&#xff0c;爬虫采用以下几种代理IP类型…

类模板Array带二个模板参数

#include <ostream> #include <iostream> using namespace std; //Array.h template <typename T, int size> class Array{ public: Array(); // 也算是默认构造函数&#xff0c;因为不需要传进去参数 bool push(T elem); void display(); priv…

Nacos全面知识 ----微服务 SpringCloud

快速入门 分级存储模型 修改集群配置 Nacos设置负载均衡策略 集群优先 权重优先 Nacos热更新配置 Nacos添加配置信息 微服务配置拉取 热更新:推荐使用第二种方法进行热部署 ConfigurationProperties(prefix "pattern") 是 Spring Boot 中用于自动配置属性的注解。它…

用“价值”的视角来看安全:《构建新型网络形态下的网络空间安全体系》

文章目录 写在前面安全认知的硬核概念威胁的演化路径与发展趋势构建网络空间安全体系好书推荐 写作末尾 写在前面 网络空间安全体系是建立在先进技术、严密监控和综合策略之上的综合性框架&#xff0c;旨在保护网络免受恶意攻击、数据泄露和网络犯罪的威胁&#xff0c;其核心包…

【代码随想录第48天】动态规划7

代码随想录第48天| 动态规划7 322. 零钱兑换279.完全平方数 322. 零钱兑换 LeetCode题目&#xff1a; 322. 零钱兑换 代码随想录&#xff1a;322. 零钱兑换 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计…

Failed to start The nginx HTTP and reverse proxy server.

本章教程主要分享一下&#xff0c;当nginx 启动时&#xff0c;遇到报这个错误时的一个解决问题思路。 目录 1、观察报错信息 2、尝试性解决 1、观察报错信息 根据日志的信息&#xff0c;我们至少可以知道2个比较信息。 1、操作用户执行命令是在非root权限下进行操作的。 2、Ad…

NPI加速器在烽火科技SMT车间的应用:贴片机程序制作效率的革新

烽火科技&#xff0c;一个在国内颇具知名度的高科技企业&#xff0c;坐落于武汉光谷的SMT车间中&#xff0c;机器嗡嗡作响&#xff0c;作业员们忙碌地进行着生产。工厂使用的是ASM的贴片机&#xff0c;使用Sipalce Pro作为其编程软件。然而&#xff0c;在高效的生产线背后&…

面试算法37:小行星碰撞

题目 输入一个表示小行星的数组&#xff0c;数组中每个数字的绝对值表示小行星的大小&#xff0c;数字的正负号表示小行星运动的方向&#xff0c;正号表示向右飞行&#xff0c;负号表示向左飞行。如果两颗小行星相撞&#xff0c;那么体积较小的小行星将会爆炸最终消失&#xf…

使用 git revert 回退代码

步骤一&#xff1a;查看提交历史 git log 这会列出你的提交历史&#xff0c;包括提交的哈希值、作者、日期和提交消息。 退出日志&#xff1a;按键盘上的 Q 即可。 步骤二&#xff1a;使用 git revert 回退代码 找到你需要回退的版本号&#xff0c;即提交的哈希值&#xff…

vue3中刷新当前页面的三种方法

<div click"kannoFn">kanno</div> 1.location.reload()&#xff0c;缺点&#xff1a;刷新时会页面闪白 function kannoFn(){location.reload() } 2.history.go(0)&#xff0c;缺点&#xff1a;刷新时会页面闪白 function kannoFn(){history.go(0) } …

法国橡木与美国橡木:酒桶如何影响葡萄酒?

木材赋予葡萄酒神奇的质地、香气和味道&#xff0c;这是其他任何方式都无法实现的。大多数世界上最好的葡萄酒都是在桶中陈酿的&#xff0c;法国和美国的橡木是最常用的木材&#xff0c;还有来自匈牙利、罗马尼亚和高加索山脉的橡木&#xff0c;其他木材&#xff0c;如金合欢&a…

【JavaEE】TCP数据报套接字编程

一、TCP数据报套接字编程 1.1 ServerSocket API ServerSocket 是创建TCP服务端Socket的API ServerSocket 构造方法&#xff1a; ServerSocket 方法&#xff1a; 1.2 Socket API Socket 是客户端Socket&#xff0c;或服务端中接收到客户端建立连接&#xff08;accept方法&…

jira 实现search 查询

举一个简单的例子&#xff1b; 一个 bug 包含 leader, 9月13号解决。找到这条记录。 模糊查询 summary ~ "leader"比较大小 created < "2023/09/13"排序 ORDER BY created DESC参考&#xff1a; https://confluence.atlassian.com/jira063/advanced…

C++项目——云备份-②-第三方库认识

文章目录 专栏导读1. json 认识1.1 JSON 数据结构的特点 2. jsoncpp库认识3. json实现序列化案例4. json实现反序列化案例5. bundle文件压缩库认识6. bundle库实现文件压缩案例7.bundle库实现文件解压缩案例8.httplib库认识9. httplib库搭建简单服务器案例10. httplib库搭建简单…

python实现excel的数据提取

一文带你实现excel表格的数据提取 今天记录一下如何使用python提取Excel中符合特定条件的数据 在数据处理和分析的过程中&#xff0c;我们经常需要从Excel表格中提取特定条件下的数据。Python的pandas库为我们提供了方便的方法来进行数据查询和过滤。 Pandas 是 Python 语言…

代码随想录 Day26 贪心 01 全集 LeetCode455 分发饼干 LeetCodeT346摆动序列 LeetCdoe T53 最大子数组和

前言:贪心无套路 本质: 局部最优去推导全局最优 两个极端 贪心算法的难度一般要么特别简单,要么特别困难,所以我们只能多见识多做题,记住无需数学证明,因为两道贪心基本上毫无关系,我们只需要去思考局部最优即可 贪心的小例子 比如有一堆钞票&#xff0c;你可以拿走十张&#x…

vue 生命周期钩子函数 mounted()实例

在挂载后操作dom获取焦点。 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"w…

Maven3.9.2 bug IDEA指定配置文件不生效

Maven3.9.2 bug IDEA指定配置文件不生效 描述 运行新项目需要配置指定的settings.xml文件&#xff0c;一直报错找不到依赖&#xff0c;查看maven日志是从maven中心仓库找的依赖&#xff0c;自然找不到。 解决过程 清理idea缓存&#xff0c;仍然报错 删除/${username}/.m2/…