Codeforces Round 925 (Div. 3) - A、B、C、D、E
文章目录
- 前言
- A. Recovering a Small String
- B. Make Equal
- C. Make Equal Again
- D. Divisible Pairs
- E. Anna and the Valentine's Day Gift
前言
本篇博客是Codeforces Round 925周赛的A、B、C、D、E五题的题解
A. Recovering a Small String
可以通过sum的大小分为三种情况,分别是:(1)aa? (2)a?z (3)?zz,这种方法时间复杂度要比三循环做法低很多
#include<bits/stdc++.h>using namespace std;void solve()
{int sum;cin >> sum;if(3 <= sum && sum <= 28){cout << 'a' << 'a';char r = 'a' - 1 + sum - 2;cout << r << endl;}else if(29 <= sum && sum <= 53){cout << 'a';char r = 'a' - 1 + sum - 27;cout << r;cout << 'z' << endl;}else if(54 <= sum && sum <= 78){char r = 'a' - 1 + sum - 52;cout << r << 'z' << 'z' << endl;}
}int main()
{ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);int T;cin >> T;while (T--) solve();return 0;
}
B. Make Equal
直接用前缀判断即可,从头开始枚举前缀看是否能满足每个范围的水量
#include<bits/stdc++.h>using namespace std;const int N = 2e5 + 20;
int a[N];void solve()
{int n;cin >> n;int sum = 0;for(int i = 1; i <= n; i ++ ){cin >> a[i];sum += a[i];}int temp = sum / n;bool flag = true;int s = 0;for(int i = 1; i <= n; i ++ ){s += a[i];if(s < temp * i){flag = false;break;}}if(flag) cout << "YES" << endl;else cout << "NO" << endl;
}int main()
{ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);int T;cin >> T;while (T--) solve();return 0;
}
C. Make Equal Again
枚举得到第一个与a1不同的位置,最后一个与an不同的位置,a1==an则取r - l + 1,否则取min(n + 1 - l, r)
#include<bits/stdc++.h>using namespace std;const int N = 2e5 + 10;int a[N];void solve()
{int n;cin >> n;for(int i = 1; i <= n; i ++ ) cin >> a[i];int l = 1, r = n;while(l <= n && a[l] == a[1]) l ++;while(r >= 1 && a[r] == a[n]) r --;if(!r) cout << 0 << endl;else if(a[1] != a[n]) cout << min(n + 1 - l, r) << endl;else cout << r - l + 1 << endl;
}int main()
{ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);int T;cin >> T;while (T--) solve();return 0;
}
D. Divisible Pairs
将所有{ai mod x, ai mod y}存入map,通过余数判断是否存在ai对应的aj,aj则是{(x - (a[i] % x)) % x, a[i] % y}对应的数,这样ai+aj恰好被x整除(余数相加被x整除),ai-aj恰好被y整除(余数恰好消掉)。但是在每次取ai后要使得mp[{a[i] % x, a[i] % y}] --,因为i严格小于j
#include<bits/stdc++.h>
#define pii pair<int, int>
#define ll long longusing namespace std;const int N = 2e5 + 10;int a[N];void solve()
{int n, x, y;cin >> n >> x >> y;map<pii, int> mp;for(int i = 1;i <= n; i ++ ){cin >> a[i];mp[{a[i] % x, a[i] % y}] ++;}ll ans = 0;for(int i = 1; i <= n; i ++ ){mp[{a[i] % x, a[i] % y}] --; //i严格小于jans += mp[{(x - (a[i] % x)) % x, a[i] % y}];}cout << ans << endl;
}int main()
{ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);int T;cin >> T;while (T--) solve();return 0;
}
E. Anna and the Valentine’s Day Gift
结果取决于最终数的长度,Anna要使长度尽可能小,翻转有后导0的数长度变小;Sasha要使长度尽可能大,将有后导0的数拼接在前可保住长度。所以从Anna每次让后导0最多的元素反转,Sasha每次让后导0最多的拼接在某个数前面,可以使用pair<后导0,总长>来存两者关系
#include<bits/stdc++.h>
#define pii pair<int, int>
#define ll long longusing namespace std;const int N = 2e5 + 10;pii p[N]; //<后导0,总长>void solve()
{int n, m;cin >> n >> m;for(int i = 1; i <= n; i ++ ){string s;cin >> s;p[i] = {0, s.size()};while(s.back() == '0'){s.pop_back();p[i].first ++;}}sort(p + 1, p + 1 + n, greater<pii>()); //从大到小ll len = 0;for(int i = 1; i <= n; i ++ ){if(i % 2) len += p[i].second - p[i].first; //Sasha操作else len += p[i].second; //Anna操作}if(len > m) cout << "Sasha" <<endl;else cout << "Anna" << endl;
}int main()
{ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);int T;cin >> T;while (T--) solve();return 0;
}相关文章:
Codeforces Round 925 (Div. 3) - A、B、C、D、E
文章目录 前言A. Recovering a Small StringB. Make EqualC. Make Equal AgainD. Divisible PairsE. Anna and the Valentines Day Gift 前言 本篇博客是Codeforces Round 925周赛的A、B、C、D、E五题的题解 A. Recovering a Small String 可以通过sum的大小分为三种情况&#…...
快速部署MES源码/万界星空科技开源MES
什么是开源MES软件? 开源MES软件是指源代码可以免费获取、修改和分发的MES软件。与传统的商业MES软件相比,开源MES软件具有更高的灵活性和可定制性。企业可以根据自身的需求对软件进行定制化开发,满足不同生产环境下的特定需求。 开源MES软件…...
【Python网络编程之TCP三次握手】
🚀 作者 :“码上有前” 🚀 文章简介 :Python开发技术 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 Python网络编程之[TCP三次握手] 代码见资源,效果图如下一、实验要求二、协议原理2.…...
【leetcode】深搜、暴搜、回溯、剪枝(C++)2
深搜、暴搜、回溯、剪枝(C)2 一、括号生成1、题目描述2、代码3、解析 二、组合1、题目描述2、代码3、解析 三、目标和1、题目描述2、代码3、解析 四、组合总和1、题目描述2、代码3、解析 五、字母大小写全排列1、题目描述2、代码3、解析 六、优美的排列1…...
鸿蒙开发-UI-图形-图片
鸿蒙开发-UI-组件 鸿蒙开发-UI-组件2 鸿蒙开发-UI-组件3 鸿蒙开发-UI-气泡/菜单 鸿蒙开发-UI-页面路由 鸿蒙开发-UI-组件导航-Navigation 鸿蒙开发-UI-组件导航-Tabs 文章目录 一、基本概念 二、图片资源加载 1. 存档图类型数据源 2.多媒体像素图 三、显示矢量图 四、图片…...
.NET Core WebAPI中使用Log4net记录日志
一、安装NuGet包 二、添加配置 // log4net日志builder.Logging.AddLog4Net("CfgFile/log4net.config");三、配置log4net.config文件 <?xml version"1.0" encoding"utf-8"?> <log4net><!-- Define some output appenders -->…...
Nginx配置php留档
好久没有用过php了,近几日配置nginxphp,留档。 安装 ubunt下nginx和php都可以使用apt安装: sudo apt install nginx php8 如果想安装最新的php8.2,则需要运行下面语句: sudo dpkg -l | grep php | tee packages.txt sudo add-…...
英语题不会怎么搜答案?分享五个支持答案和解析的工具 #学习方法#媒体
在大学的学习过程中,我们常常会遇到一些难以解决的问题,有时候甚至会感到束手无策。然而,如今的技术发展给我们提供了新的解决方案。搜题软件作为一种强大的学习工具,正在被越来越多的大学生所接受和使用。今天,我将为…...
Rust 数据结构与算法:4栈:用栈实现进制转换
2、进展转换 将十进制数转换为二进制表示形式的最简单方法是“除二法”,可用栈来跟踪二进制结果。 除二法 下面实现一个将十进制数转换为二进制或十六进制的算法,代码如下: #[derive(Debug)] struct Stack<T> {size: usize, // 栈大…...
树莓派4B(Raspberry Pi 4B)使用docker搭建阿里巴巴sentinel服务
树莓派4B(Raspberry Pi 4B)使用docker搭建阿里巴巴sentinel服务 由于国内访问不了docker hub,而国内镜像仓库又没有适配树莓派ARM架构的sentinel镜像,所以我们只能退而求其次——自己动手构建镜像。本文基于Ubuntu,Jav…...
Django视图
HttpRequests对象 利用http协议向服务器传参的4种途径 提取url特定部分,如/web/index/,可以通过在服务器端的路由中用正则表达式截取查询字符串,形如?key1value&keyvalue2,(?前面是路由,…...
python基本语法
变量无需声明 Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。 len800 #整型变…...
app逆向-⽹络请求库rxjava2
文章目录 一、前言二、安装三、GET请求实现四、POST请求实现 一、前言 RxJava 2 是一个流行的 Java 库,用于使用可观察序列组合异步和基于事件的程序。它是原始 RxJava 库的重新实现,旨在更高效并且更适合于 Java 8 及更高版本。 RxJava 2 的主要特性包…...
Spring Boot 笔记 007 创建接口_登录
1.1 登录接口需求 1.2 JWT令牌 1.2.1 JWT原理 1.2.2 引入JWT坐标 1.2.3 单元测试 1.2.3.1 引入springboot单元测试坐标 1.2.3.2 在单元测试文件夹中创建测试类 1.2.3.3 运行测试类中的生成和解析方法 package com.geji;import com.auth0.jwt.JWT; import com.auth0.jwt.JWTV…...
java数据结构与算法刷题-----LeetCode594. 最长和谐子序列
java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 解题思路 子序列要尽可能长,并且最大值和最小值之间的差&#…...
数据分析基础之《pandas(6)—高级处理》
一、缺失值处理 1、如何处理nan 两种思路: (1)如果样本量很大,可以删除含有缺失值的样本 (2)如果要珍惜每一个样本,可以替换/插补(计算平均值或中位数) 2、判断数据是否…...
IOS破解软件安装教程
对于很多iOS用户而言,获取软件的途径显得较为单一,必须通过App Store进行下载安装。 这样的限制,时常让人羡慕安卓系统那些自由下载各类版本软件的便捷。 心中不禁生出疑问:难道iOS世界里,就不存在所谓的“破解版”软件…...
[缓存] - 1.缓存共性问题
1. 缓存的作用 为什么需要缓存呢?缓存主要解决两个问题,一个是提高应用程序的性能,降低请求响应的延时;一个是提高应用程序的并发性。 1.1 高并发 一般来说, 如果 10Wqps,或者20Wqps ,可使用分布…...
Python爬虫——解析库安装(1)
目录 1.lxml安装2.Beautiful Soup安装3.pyquery 的安装 我创建了一个社区,欢迎大家一起学习交流。社区名称:Spider学习交流 注:该系列教程已经默认用户安装了Pycharm和Anaconda,未安装的可以参考我之前的博客有将如何安装。同时默…...
中科大计网学习记录笔记(十一):CDN
前言: 学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程 该视频是B站非常著名的计网学习视频,但相信很多朋友和我一样在听完前面的部分发现信…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...
实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...
