Codeforces Round 923 (Div. 3)

news2024/11/15 15:26:53

在这里插入图片描述

Codeforces Round 923 (Div. 3)

Codeforces Round 923 (Div. 3)

A. Make it White

题意:略
思路:找最小和最大的‘B’下标即可
AC code:

void solve() {
    cin >>n;
    string s; cin>> s;
    int mn = INF, mx = 0;
    for (int i = 0; i < n; i ++) {
        if (s[i] == 'B') {
            mn = min(mn, i);
            mx = max(mx, i);
        }
    }
    cout << mx - mn + 1 << endl;
}

B. Following the String

题意:略

思路:map记录26个字母的出现次数,0即是用新的字母

AC code:

void solve() {
    cin >> n;
    for (int i = 1; i <= n; i ++) cin >> a[i];
 
    map<char, int> mp;
    string s = "";
    for (int i = 1; i <= n; i ++) {
        for (char c = 'a'; c <= 'z'; c ++) {
            if (mp[c] == a[i]) {
                s += c;
                mp[c] ++;
                break;
            }
        }
    } cout << s << endl;
}

C. Choose the Different Ones!

题意:给出n个a数组元素和m个b数组元素,是否可以分别从a和b数组中取k/2个元素来组成1到k的每个元素
思路:用map分别记录ab数组元素,然后枚举1到k的元素,若有未出现的直接返回NO,然后记录ab数组的交集元素,最后检查仅存在于其中一个集合的元素是否大于k/2,若不存在则YES
AC code:

void solve() {
    cin >> n >> m >> k;
    map<int, int> ma, mb;
    for (int i = 1; i <= n; i ++) {
        int x; cin >> x;
        if (x <= k && x >= 1) ma[x] ++;
    }
    for (int i = 1; i <= m; i ++) {
        int x; cin >> x;
        if (x <= k && x >= 1) mb[x] ++;
    }
    int ca = ma.size(), cb = mb.size();
    int cnt = 0;
    for (int i = 1; i <= k; i ++) {
        if (!ma[i] && !mb[i]) {
            cout << "NO" << endl;
            return;
        }
        if (ma[i] && mb[i]) cnt ++;
    }
    if (ca - cnt > k / 2 || cb - cnt > k / 2) {
        cout << "NO" << endl;
        return;
    }
    cout << "YES" << endl;
}

D. Find the Different Ones!

题意:查询任意区间元素是否存在两个不同的元素
思路:从后往前记录最近的一个不同元素的下标,依次向前迭代
AC code:

void solve() {
    cin >> n;
    for (int i = 1; i <= n; i ++) 
        cin >> a[i];
    nex[n] = -1;
    for (int i = n - 1; i >= 1; i --) {
        if (a[i] != a[i + 1]) nex[i] = i + 1;
        else nex[i] = nex[i + 1];
    }
    cin >> q;
    while (q --) {
        int l, r; cin >> l >> r;
        if (nex[l] != -1 && nex[l] <= r) {
            cout << l << " " << nex[l] << endl;
        } else {
            cout << "-1 -1" << endl;
        }
    }
}

E. Klever Permutation

题意:将1到n的数排列组合,使得每组相邻的k个元素的和相差不超过1
思路:

可以发现,每组向前迭代的过程都是先去掉一个头元素,再添一个尾元素;

那么只要去掉的和新的元素差不超过1即可,而两元素下标差为k;

所以我们可以枚举答案序列的前k个起始元素,每个元素以下标+k的方式迭代到最后;

这样可以满足答案序列每组删除和新增的元素差为1,但是不能保证每一组的和都是相差小于1;

所以可以从小到大一组,从大到小一组,通过一个标记点可以实现;
AC code:

void solve() {
    cin >> n >> k;
    vector<int> ans(n + 10, 0);
 
    int st = 1;
    bool flag = true;
    for (int i = 1; i <= k; i ++) {
        int x = i;
        if (flag) {
            while (x <= n) {
                ans[x] = st;
                st ++;
                x += k;
            }
            flag = false;
        } else {
            while (x <= n) {
                st ++;
                x += k;
            }
            int now;
            if (x > n) x -= k, now = st - 1;
            x = i;
            while (x <= n) {
                ans[x] = now;
                now --;
                x += k;
            }
            flag = true;
        }
    }
    for (int i = 1; i <= n; i ++) cout << ans[i] << " ";
    cout << endl;
}

F待补。。。。。。

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

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

相关文章

2024阿里云GPU服务器租用费用价格表说明

阿里云GPU服务器租用价格表包括包年包月价格、一个小时收费以及学生GPU服务器租用费用&#xff0c;阿里云GPU计算卡包括NVIDIA V100计算卡、T4计算卡、A10计算卡和A100计算卡&#xff0c;GPU云服务器gn6i可享受3折优惠&#xff0c;阿里云百科aliyunbaike.com分享阿里云GPU服务器…

Page246~250 11.1GUI下的I/O基础

11.1.1 从“控制台”说起 “命令行交互界面”&#xff08;简称CUI,也有人称为CLI)。 CUI需要我们记忆并在控制台输入命令文本内容&#xff0c;而GUI则以图形的方式呈现、组织各类命令&#xff0c;比如Windows的“开始”菜单&#xff0c;用户只需通过简单的键盘或鼠标操作&am…

【C++】C++的简要介绍

简单不先于复杂&#xff0c;而是在复杂之后。 文章目录 1. 什么是C2. C的发展史3. C的重要性3.1 语言的使用广泛度3.2 在工作领域3.3 在校招领域3.3.1 岗位需求3.3.2 笔试题 3.3.3 面试题 4. 如何学习C4.1 别人怎么学&#xff1f; 1. 什么是C C语言是结构化和模块化的语言&…

写后台接口,前后台数据对接(vue+springboot)

一、怎么写接口&#xff1f;&#xff1f;&#xff1f; 1.Entity&#xff08;定义一堆属性之类的&#xff09; altins>getter和setter方法 2.Controller 3.Service&#xff08;查询出数据&#xff09; 调用了一个方法 4.Mapper 5.回到service&#xff08;返回数据&#x…

关于 Ant Design 的 Upload 组件使用 action 自动上传出现跨域问题的解决

问题描述 使用 Ant Design 的 Upload 组件时&#xff0c;可以通过 action 属性指定上传地址实现选择文件自动上传。但在我选择文件上传后浏览器控制台一直出现跨域错误。关键我已经在后端处理了跨域&#xff0c;还是一直会出现跨域错误。而且其它请求都可以正常处理跨域&#…

机器学习——有监督学习和无监督学习

有监督学习 简单来说&#xff0c;就是人教会计算机学会做一件事。 给算法一个数据集&#xff0c;其中数据集中包含了正确答案&#xff0c;根据这个数据集&#xff0c;可以对额外的数据希望得到一个正确判断&#xff08;详见下面的例子&#xff09; 回归问题 例如现在有一个…

文生图提示词:摄影艺术风格

艺术风格 --摄影艺术风格 Photography Art Styles 覆盖了从传统到现代、从具象到抽象的多种摄影艺术风格&#xff0c;展示了摄影作为一种艺术形式的广泛性和多样性。 Portrait Photography 人像摄影 Landscape Photography 风景摄影 Street Photography 街头摄影 Documentary P…

质数基础筛法

文章目录 埃氏筛线性筛 埃氏筛 埃氏筛是一种筛素数的方法&#xff0c;埃氏筛的思想很重要&#xff0c;主要是时间复杂度 朴素的埃氏筛的时间复杂度是 O ( n l o g n ) O(nlogn) O(nlogn) 这个复杂度是调和级数 vector<int>p; int vis[N];void solve() {rep(i,2,n){if(…

Java学习网络编程

Java学习网络编程 大纲 网络相关概念IP地址网络协议InetAdressSocket 具体案例 1. 网络相关概念 网络 网络通信 2. IP地址 域名 3.网络协议 4. InetAdress 获得本机的名字和IP public static void main(String[] args) throws UnknownHostException {InetAddress inetA…

C语言——T/单链表专题

1. 链表的概念及结构 概念&#xff1a;链表是⼀种物理存储结构上⾮连续、⾮顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表 中的指针链接次序实现的 链表的结构跟⽕⻋⻋厢相似&#xff0c;淡季时⻋次的⻋厢会相应减少&#xff0c;旺季时⻋次的⻋厢会额外增加⼏节。只…

【flink状态管理(三)】StateBackend的整体设计、StateBackend创建说明

文章目录 一. 状态后端概述二. StateBackend的整体设计1. 核心功能2. StateBackend的UML3. 小结 三. StateBackend的加载与初始化1. StateBackend创建概述2. StateBackend创建过程 一. 状态后端概述 StateBackend作为状态存储后端&#xff0c;提供了创建和获取KeyedStateBacke…

数据结构:双向链表

文章目录 1. 双向带头循环链表的结构2. 相关操作2.1 创建节点2.2 尾插2.3 头插2.4 打印2.5 尾删2.6 头删2.7 查找2.8 指定位置前/后插入2.9 删除指定位置的节点2.10 删除指定位置后的节点2.11 销毁链表 3.顺序表与链表区别 1. 双向带头循环链表的结构 与单链表不同的是&#xf…

Python学习从0到1 day14 Python数据容器.5.总结及通用操作

我什么都没有忘&#xff0c;只是有些事只适合收藏&#xff0c;不能说&#xff0c;不能想&#xff0c;却也不能忘 ——24.2.4 一、数据容器的分类 数据容器可以从以下视角进行简单的分类 1.是否支持下标索引&#xff1a; 支持&#xff1a;列表元组、字符串——序列类型 不支持&a…

华为机考入门python3--(9)牛客9-提取不重复的整数

分类&#xff1a;列表 知识点&#xff1a; 从右往左遍历每一个字符 my_str[::-1] 题目来自【牛客】 def reverse_unique(n): # 将输入的整数转换为字符串&#xff0c;这样可以从右向左遍历每一位 str_n str(n) # 创建一个空列表来保存不重复的数字 unique_digits []…

从零开始手写mmo游戏从框架到爆炸(十一)— 注册与登录

导航&#xff1a;从零开始手写mmo游戏从框架到爆炸&#xff08;零&#xff09;—— 导航-CSDN博客 从这一章开始&#xff0c;我们进入业务的部分&#xff0c;从注册登录开始。 创建注册和登录的路由 package com.loveprogrammer.command.server;public interface Se…

使用easyExcel 定义表头 字体 格式 颜色等,定义表内容,合计

HeadStyle 表头样式注解 HeadFontStyle 表头字体样式 HeadStyle(fillPatternType FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor 22) HeadFontStyle(fontHeightInPoints 12) 以下为实现效果

《图像处理》 图像细化

前言 图像细化算法又称之为Thinning Algorithms&#xff0c;或者骨架提取&#xff08;skeleton&#xff09;。该算法通常用于手写体数字的细化&#xff0c;输入的图像要求是黑白图像&#xff0c;即二值图像。从白色区域提取出该区域的中心线&#xff0c;中心线对于白色区域相当…

OpenMLDB 作为中国唯一的特征平台产品入选 2023 Gartner 研究报告

在国际权威咨询与研究机构 Gartner 发布的重要研究报告《The Logical Feature Store: Data Management for Machine Learning》(《逻辑特征存储&#xff1a;机器学习的数据管理》&#xff0c;下文简称报告&#xff09;中&#xff0c;OpenMLDB 荣幸作为中国唯一的特征平台代表产…

vite项目配置根据不同的打包环境使用不同的请求路径VITE_BASE_URL,包括报错解决

vite环境配置可以看官方文档&#xff1a;环境变量和模式 | Vite 官方中文文档 创建环境配置文件 在项目根目录下面创建.env和.env.production文件&#xff0c;.env是开发环境使用的&#xff0c;.env.production是生产环境使用的。 .env文件&#xff1a; # 基本环境 VITE_APP…

PyTorch 2.2 中文官方教程(一)

PyTorch 秘籍 PyTorch 秘籍 原文&#xff1a;pytorch.org/tutorials/recipes/recipes_index.html 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 秘籍是关于如何使用特定 PyTorch 功能的简短、可操作的示例&#xff0c;与我们的全长教程不同。 PyTorch 原型示例 原文…