20240808

news/2024/9/23 11:29:04/文章来源:https://www.cnblogs.com/libohan/p/18426712

Increase/Decrease/Copy

我们可以先将 \(a_i\) 变为 \(b_i\),统计在变化的过程中与 \(b_{i + 1}\)的最少差值即可

#include <bits/stdc++.h>using namespace std;#define int long longconst int N = 2e5 + 5;int t, n, a[N], b[N];void Solve() {cin >> n;for (int i = 1; i <= n; i++) {cin >> a[i];}for (int i = 1; i <= n + 1; i++) {cin >> b[i];}int mini = 1e9, ans = 0;for (int i = 1; i <= n; i++) {if ((a[i] <= b[n + 1] && b[n + 1] <= b[i]) || (b[i] <= b[n + 1] && b[n + 1] <= a[i])) {mini = 0;}mini = min(mini, abs(a[i] - b[n + 1]));mini = min(mini, abs(b[i] - b[n + 1]));ans += abs(a[i] - b[i]);}cout << ans + mini + 1 << "\n";
}signed main() {ios::sync_with_stdio(0);cin.tie(0);cin >> t;while (t--) {Solve();}return 0;
}

Job Interview

大模拟,维护 \(4\) 个前缀和然后二分

#include <bits/stdc++.h>using namespace std;#define int long longconst int N = 4e5 + 5;int t, n, m, a[N], b[N], sum[3][N], cnt[3][N], arr[3][N], tot[3], cur;void Solve() {cin >> n >> m;for (int i = 1; i <= n + m + 1; i++) {cin >> a[i];}for (int i = 1; i <= n + m + 1; i++) {cin >> b[i];}for (int i = 1; i <= n + m + 1; i++) {sum[1][i] = sum[1][i - 1] + (a[i] > b[i]) * a[i];sum[2][i] = sum[2][i - 1] + (b[i] > a[i]) * b[i];cnt[1][i] = cnt[1][i - 1] + (a[i] > b[i]);cnt[2][i] = cnt[2][i - 1] + (b[i] > a[i]);arr[1][i] = arr[1][i - 1] + a[i];arr[2][i] = arr[2][i - 1] + b[i];}for (int i = 1; i <= n + m + 1; i++) {if (i == n + m + 1) {cout << cur << "\n";break;}int tmp = n + m + 1;for (auto op : {1, 2}) {int l = i, r = n + m + 1;while (l < r) {int mid = (l + r + 1) >> 1;if (cnt[op][mid] - cnt[op][i] <= n * (op == 1) + m * (op == 2) - tot[op]) {l = mid;}else r = mid - 1;}// cout << l << " ";tmp = min(tmp, l);}// cout << "\n";int now = sum[1][tmp] - sum[1][i] + sum[2][tmp] - sum[2][i];if (cnt[1][tmp] - cnt[1][i] == n - tot[1]) {cout << cur + now + arr[2][n + m + 1] - arr[2][tmp] << " ";}else {cout << cur + now + arr[1][n + m + 1] - arr[1][tmp] << " ";}if (tot[2] == m || (a[i] > b[i] && tot[1] < n)) {tot[1]++, cur += a[i];}else {tot[2]++, cur += b[i];}}tot[1] = tot[2] = cur = 0;
}signed main() {ios::sync_with_stdio(0);cin.tie(0);cin >> t;while (t--) {Solve();}return 0;
}

Invertible Bracket Sequences

用一个小根堆,考虑如果当前的和为 \(sum\) 那么之前的 \(sum1 * 2 < sum\) 的都不可以,我们开一个堆,每次统计为\(sum\)有多少个即可

#include <bits/stdc++.h>using namespace std;#define int long longconst int N = 4e5 + 5;int t, n, a[N], ans, cnt[N];string s;void Solve() {priority_queue<int, vector<int>, greater<int> > q;cin >> s;n = s.size();s = " " + s;for (int i = 1; i <= n + 1; i++) {cnt[i] = 0;}cnt[0] = 1;ans = 0;q.push(0);for (int i = 1; i <= n; i++) {if (s[i] == '(') {a[i] = 1;}else a[i] = -1;}for (int i = 1, sum = 0; i <= n; i++) {sum += a[i];while (!q.empty() && q.top() * 2 < sum) {cnt[q.top()]--;q.pop();}ans += cnt[sum];q.push(sum);cnt[sum]++;}cout << ans << "\n";
}signed main() {ios::sync_with_stdio(0);cin.tie(0);cin >> t;while (t--) {Solve();}return 0;
}

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

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

相关文章

OpenAI o1模型揭秘:通过LLMs学习推理能力

OpenAI推出了o1,这是一种通过强化学习训练的大型语言模型,专门用于进行复杂的推理任务。o1在回答问题之前会“思考”,能够在响应用户之前生成一条长的内部思维链。 在编程竞赛问题(Codeforces)中,OpenAI o1的排名在89%分位,位列美国数学奥林匹克预选赛(AIME)前500名学…

网站数据库为什么连接失败

网站数据库连接失败可能有以下几个常见原因:数据库配置错误:数据库连接参数配置错误,如用户名、密码、主机地址、端口号、数据库名称等配置不正确。 应用程序中的数据库配置文件(如WordPress中的wp-config.php)可能包含了错误的信息。网络问题:数据库服务器与应用程序服务…

Spark(五)运行环境(一)

Local模式不需要其他任何节点资源就可以在本地执行Spark代码的环境,一般用于教学,调试,演示等 在IDEA中运行代码的环境称之为开发环境1、解压缩文件将spark-3.0.0-bin-hadoop3.2.tgz文件上传到Linux并解压缩,放置在指定位置,路径中不要包含中文或空格 压缩文件放在/opt/so…

树上数据结构问题

天天爱跑步 假设现在又一棵树如果一个人要从 \(3\) 跑到 \(5\),那么如果在 \(2\) 点的观察员要满足 \(w[2] = dep[2] - dep[3]\),如果在点 \(4\) 的观察员要满足 \(w[4] = dep[fa[lca]] - dep[3] + dep[lca] - dep[4]\),简单来说就是如果处于 \(i\) 点的观察员可以观察到,那么要…

为什么网站连接数据库失败?

网站连接数据库失败通常是由以下几个主要原因造成的:数据库凭据错误:如果数据库用户名、密码或主机名错误,网站将无法建立数据库连接。请检查wp-config.php文件中的数据库连接信息是否正确。数据库服务器故障:数据库服务器宕机或无法访问也会导致连接失败。检查数据库服务是…

mqtt网关数据接入rabbitmq,缓存离线数据,实现消息保留

应用场景:网关将设备数据发布至mqtt服务器后,数采程序因为重启或者升级等原因,未能接到到离线的订阅消息,利用rabbitmq-mqtt可将离线数据缓存,待上线后接收启用mqtt插件 rabbitmq-plugins enable rabbitmq_mqtt qq:505645074

WordPress网站遇到“数据库连接错误”报错解决方法

当遇到WordPress网站出现“数据库连接错误”时,可以通过以下步骤来逐步排查和解决问题: 1. 确认数据库连接信息用户名和密码:确保数据库用户名和密码正确无误。 服务器地址:确认数据库服务器地址(通常是localhost,但也可能是其他地址)正确无误。2. 检查 wp-config.php 文…

clickhouse压测

Clickhouse压测 压测工具:jemter服务器监控脚本sql准备:简单sqlselect * from tb_plan_student where plan_id=1122980766105344 and region_id=330302 limit 10简单sql---部分字段select student_id,student_name from tb_plan_student where plan_id=1122980766105344 and…

国产化:TongRDS替代Redis

背景: 国产化要求,内存数据缓存中间件要换国产产品,这里简单记录一下替换过程,项目是 spring boot 微服务结构。官方文档比较全,这里只是个人记录的最简化的版本。1 安装 企业版 TongRDS 分为2个节点,我拿到的版本就是企业版,所以下面的都默认是企业版。分为中心节点和服…

阿里云mysql数据库服务器错误怎么回事

阿里云MySQL数据库服务器错误可能由多种因素造成,以下是一些常见的原因及解决方法:网络配置错误:检查服务器的网络配置,确保防火墙设置允许来自客户端的连接请求。 确认IP地址或域名解析正确,且客户端能够通过网络访问到数据库服务器。MySQL服务未启动:确认MySQL服务已经…

数据库连接错误:原因与解决方案

数据库连接错误可能由多种因素引起,下面列出了一些常见的原因及其解决方案: 常见原因及解决方案配置错误原因:数据库连接字符串中的参数错误,如主机名/IP地址、端口号、数据库名称、用户名或密码不正确。 解决方法:检查并确认连接字符串中的所有参数都正确无误。网络问题原…

淘宝商品评论API:电商数据的宝库

淘宝商品评论API是淘宝开放平台提供的一项服务,它允许开发者获取商品的用户评价信息,包括评分、评论文本、图片和视频等。这些数据对于商家来说是一个宝贵的资源,因为它们直接反映了消费者的真实感受和需求。实时分析用户反馈的重要性 提升客户满意度:通过实时分析用户反馈…