Codeforces Round 929 (Div. 3)

在这里插入图片描述

Codeforces Round 929 (Div. 3)

Codeforces Round 929 (Div. 3)

A. Turtle Puzzle: Rearrange and Negate

题意:可以对整数数组进行两个操作,一是随意重新排列或保持不变,二是选择连续子段元素符号倒转,求可能最大的所有元素和。

思路:所有元素的绝对值和。

AC code:

void solve() {
    int sum = 0;
    cin >> n;
    for (int i = 0; i < n; i ++) {
        int x; cin >> x;
        sum += abs(x);
    }
    cout << sum << endl;
}

B. Turtle Math: Fast Three Task

题意:给出整数数组a,可以选择任意两种操作,一是选择一个元素从数组a中删除,二是选择一个元素数值增加1;最少需要多少次操作可以使得数组元素之和能被3整除。

思路:

  • 元素和本来就能被3整除,0次操作;
  • 元素和mod3=2,1次添加操作;
  • 元素和mod3=1,若存在删除数组中的一个元素使得元素和被3整除,则1次操作,否则2次添加操作。

AC code:

void solve() {
    cin >> n;
    int sum = 0;
    for (int i = 0; i < n; i ++) {
        cin >> a[i];
        sum += a[i];
    }
    if (sum % 3 == 0) {
        cout << 0 << endl;
        return;
    }
    int u = sum % 3;
    if (u == 2) {
        cout << 1 << endl;
        return;
    }
    for (int i = 0; i < n; i ++) {
        if ((sum - a[i]) % 3 == 0) {
            cout << 1 << endl;
            return;
        }
    }
    cout << 2 << endl;
}

C. Turtle Fingers: Count the Values of k

题意:给出正整数a, b, l,若存在 k k k, x x x, y y y 使得 l = k ⋅ a x ⋅ b y l = k \cdot a^x \cdot b^y l=kaxby,则k有多少种不同的可能。

思路:暴力枚举x,y,注意处理枚举边界,即处理出x和y的最大可能再进行枚举。

AC code:

int tmp(int l, int t) {
    int pos = 0;
    while (l % t == 0) {
        l /= t;
        pos ++;
    }
    return pos;
}
 
void solve() {
    int a, b, l; cin >> a >> b >> l;
    int cnt = 0;
    map<int, int> mp;
    int A = tmp(l, a);
    int B = tmp(l, b);
    //cout << A << " " << B <<"+++" << endl;
    for (int i = 0; i <= A; i ++) {
        for (int j = 0; j <= B; j ++) {
            int t = pow(a, i) * pow(b, j);
            if (l % t == 0) {
                mp[l / t]++;
            }
        }
    }
    cout << mp.size() << endl;
}

D. Turtle Tenacity: Continual Mods

题意:给定正整数数组a,重排后得到数组b,是否可能存在 b 1   m o d   b 2   m o d   …   m o d   b n ≠ 0 b_1 \bmod b_2 \bmod \ldots \bmod b_n \neq 0 b1modb2modmodbn=0.

思路:找出所有元素的最小公倍数gcd,若存在题述情况,则gcd出现次数一定小于2,否则mod过程中会出现0.

AC code:

int gcd(int a, int b) {
    if (b) while ((a%=b) && (b%=a));
    return a + b;
}
 
void solve() {
    cin >> n;
    int now = -1;
    for (int i = 1; i <= n; i ++) {
        cin >> a[i];
        if (now == -1) {
            now = a[i];
        } else {
            now = gcd(now, a[i]);
        }
    }
    int cnt = 0;
    for (int i = 1; i <= n; i ++) {
        if (a[i] == now) cnt ++;
    }
    if (cnt < 2) {
        cout << "YES" << endl;
    } else {
        cout << "NO" << endl;
    }
}

E. Turtle vs. Rabbit Race: Optimal Trainings

题意:有n条跑道,每条跑道有 a i a_i ai个部分,给定一个正整数u,每完成一个部分成绩提高u,然后u-1,给出q组l和u,找出一个下标r,使得[l,r]的跑道成绩最高。

思路:二分找到最接近u的区间即可,注意二分的上边界和下边界都有可能成为答案,找到上下最接近u的边界,然后取其中离u最近的部分。

AC code:

void solve() {
    cin >> n;
    for (int i = 0; i <= n; i ++) {
        sum[i] = 0;
    }
    for (int i = 1; i <= n; i ++) {
        cin >> a[i];
        sum[i] = sum[i - 1] + a[i];
    }
    cin >> q;
    while (q --) {
        int l, u; cin >> l >> u;
        int L = l, R = n;
        while (L < R) {
            int mid = L + R + 1 >> 1;
            if (sum[mid] - sum[l - 1] <= u) L = mid;
            else R = mid - 1; 
        }
        int pos1 = L;
        L = l, R = n;
        while (L < R) {
            int mid = L + R >> 1;
            if (sum[mid] - sum[l - 1] >= u) R = mid;
            else L = mid + 1;
        }
        int pos2 = R;
        //cout << pos1 << " " << pos2 << "++++" << endl;
        int now1 = abs(sum[pos1] - sum[l - 1] - u), now2 = abs(sum[pos2] - sum[l - 1] - u);
        if (now1 >= now2) cout << pos2 << " ";
        else cout << pos1 << " "; 
    } cout << endl;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

hadoop学习中遇到的问题一

由于看视频总是断断续续&#xff0c;经常遇到各种报错&#xff0c;现将遇到的问题进行总结。 hadoop学习中遇到的问题&#xff1a;hadoop拒绝连接 hadoop安装好之后&#xff0c;在本地浏览器输入地址http://192.168.222.102:9870&#xff0c;提示拒绝连接。在网上找了很多相关…

【Quarto】Markdown导出PPT

title: “Quarto Basics” mainfont: “LXGW WenKai Mono” format: revealjs: theme: default incremental: true pptx: incremental: true html: code-fold: true beamer: incremental: true aspectratio: 169 QUARTO 这段代码是一个 YAML 头部&#xff08;front matter&…

Unity(第十一部)场景

游戏有多个场景组成&#xff08;新手村&#xff0c;某某副本&#xff0c;主城&#xff09; 场景是有多个物体组成&#xff08;怪物&#xff0c;地形&#xff0c;玩家等&#xff09; 物体是有多个组件组成&#xff08;刚体组件&#xff0c;自定义脚本&#xff09; 创建场景 编辑…

刷题笔记 洛谷 P1162 填涂颜色

思路来自 大佬 hat.openai.com/c/9c30032e-5fb9-4677-8c15-9ea6530dc6db 题目链接 P1162 填涂颜色 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路 搜索 首先 在外面围上一圈0开始搜素 因为题目说将封闭区域内的0变成2 我们可以在外面进行搜索 把外面所有可以搜索…

【LabVIEW 】串口如何读取长度不一致的字符串

工程经验 1、在循环中&#xff0c;加入定时器&#xff0c;这样可以一段时间读取一次。 2、只要获取完整的一帧数据&#xff0c;就可以进行过滤筛选。

Leetcode—82. 删除排序链表中的重复元素 II【中等】

2024每日刷题&#xff08;117&#xff09; Leetcode—82. 删除排序链表中的重复元素 II 实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val…

【踏雪无痕的痕四】——0到底是有还是没有?

目录 一、背景介绍三、过程1.0的历史发展&#xff1f;2.如何将0讲给一个刚上一年级的孩子&#xff1f;3.0的边界和意义&#xff1f;4.那四年&#xff0c;到底在培养什么&#xff1f;和0有什么关系&#xff1f; 四、总结 一、背景介绍 最近在看一年级数学&#xff0c;其中介绍到…

几种新能源汽车(纯电、插混、油混、增程)的区别

纯电&#xff1a;顾名思义就是仅用电池驱动。 插混&#xff1a;汽车具备两套独立的动力系统&#xff1a;油动和电动。该种汽车可充电可加油&#xff0c;用油还是用电自己决定。他的系统结构图如下图&#xff1a; 油混&#xff1a;也称为油电混合。他的特点是可加油不可充电&…

前后端分离项目Vue+node.js二手商品交易系统74qb3

校园二手交易网络的开发和使用在不同的地方是有着差别的。在初高中&#xff0c;校园二手交易网也就是简单的买卖物品&#xff1b;但在大学中&#xff0c;通过买卖自己的物品可以建立联系成为朋友&#xff0c;也就是说校园二手交易网不仅仅是一个交易物品的平台&#xff0c;同时…

重拾前端基础知识:CSS

重拾前端基础知识&#xff1a;CSS 前言选择器简单选择器属性选择器组合选择器 插入CSS内嵌样式&#xff08;Inline Style&#xff09;内部样式&#xff08;Internal Style&#xff09;外部样式&#xff08;External Style&#xff09; 层叠颜色背景颜色文本颜色RGB 颜色HEX 颜色…

JS api基础初学

web api基础 变量声明有三个var let 和const 我们应该用那个呢&#xff1f; 首先var先排除&#xff0c;老派写法&#xff0c;问题很多&#xff0c;可以淘汰掉... let or const? 建议&#xff1a;const优先&#xff0c;尽量使用const&#xff0c;原因是&#xff1a; con…

JMeter学习(一)工具简单介绍

一、JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序&#xff0c;被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资源的性能&#xff0c;例如&#xff1a;静态文件&#xff0c;Java Servlet,CGI Scripts,Java Object,数据库和FTP服务…

我在使用 Copilot 时遇到了许可证验证错误。

如果使用的是 Copilot&#xff0c;并收到以下错误消息&#xff0c;请按以下步骤进行操作&#xff1a; We encountered a problem validating your Copilot license. For more information, see https://aka.ms/copilotlicensecheck 请确保使用的是正确的帐户 请确保已使用具…

信钰证券|昨夜,“金龙”大涨

当地时间2月27日&#xff0c;我国资产自开盘一路走高&#xff0c;抢手中概股普涨&#xff0c;纳斯达克我国金龙指数涨2.10%。其中&#xff0c;抱负轿车涨超11%&#xff0c;网易涨超5%&#xff0c;爱奇艺、微博涨超4%。 美股方面&#xff0c;三大指数涨跌纷歧。到收盘&#xff…

npm淘宝镜像报错certificate has expired

1、概述 vue项目使用npm install命令时&#xff0c;突然报错&#xff1a;“...certificate has expired” 2、解决 1.清空缓存&#xff1a;npm cache clean --force 2.修改镜像&#xff08;管理员运行命令行&#xff09;&#xff1a;npm config set registry https:/…

5G双域快网

目录 一、业务场景 二、三类技术方案 2.1、专用DNN方案 2.2、ULCL方案&#xff1a;通用/专用DNNULCL分流 2.3、 多DNN方案-定制终端无感分流方案 漫游场景 一、业务场景 初期双域专网业务可划分为三类业务场景&#xff0c;学校、政务、文旅等行业均已提出公/专网融合访问需…

算法C++

枚举 1.化段为点 前缀和 eg:给一个数列&#xff0c;算x到y个数的和 #include <iostream> #include <vector> using namespace std;int main() {int n;cin>>n;vector<int> a(n);vector<int> sum(n1,0);for(int i0;i<n;i){scanf…

npm 镜像源切换与设置

项目背景 依赖安装中断或响应特别慢。 可以看到当前所用的镜像是 https://registry.npmjs.org 。 切换淘宝镜像之后总算能够安装下来 命令行模式 查看当前镜像源 # 查看当前镜像源 npm config get registry 可以看到默认情况下是官方默认全局镜像 https://registry.npmjs.o…

将任何网页变成桌面应用,全平台支持 | 开源日报 No.184

tw93/Pake Stars: 20.9k License: MIT Pake 是利用 Rust 轻松构建轻量级多端桌面应用的工具。 与 Electron 包大小相比几乎小了 20 倍&#xff08;约 5M&#xff01;&#xff09;使用 Rust Tauri&#xff0c;Pake 比基于 JS 的框架更轻量和更快内置功能包括快捷方式传递、沉浸…

RabbitMQ讲解与整合

RabbitMq安装 类型概念 租户 RabbitMQ 中有一个概念叫做多租户&#xff0c;每一个 RabbitMQ 服务器都能创建出许多虚拟的消息服务器&#xff0c;这些虚拟的消息服务器就是我们所说的虚拟主机&#xff08;virtual host&#xff09;&#xff0c;一般简称为 vhost。 每一个 vhos…