思维、贪心、综合

排队打水

这道题目不算难,但是不注意还是会出现很多错误,比如结构体的书写。以及自定义结构体排序。还有这里做的优化,使用前缀和记录打水的等待时间,但是这里很容易出错的点在于等待时间是应该是记录的前一个人的前缀和。因为它不需要等待自己打水的等待时间。

#include<bits/stdc++.h>
using namespace std;
int n;
struct node{int index;int t;
}a[1010];
int s[1010];
bool cmp(node a, node b){return  a.t < b.t;
}
int main(){ios::sync_with_stdio(0);cin.tie(0);cin >> n;for(int i = 1; i <= n; i++){cin >> a[i].t;a[i].index = i;}sort(a + 1, a + n + 1, cmp);double ans = 0;for(int i = 1; i <= n; i++){s[i] += s[i - 1] + a[i].t; //构建前缀和数组ans += s[i - 1];cout << a[i].index << " ";}cout << endl;ans /= n;cout << fixed << setprecision(2) << ans;return 0;
}

合并果子

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
int n;
int main(){ios::sync_with_stdio(0);cin.tie(0);cin >> n;priority_queue<ll, vector<ll>, greater<>> q;for(int i = 0; i < n; i++){int num;cin >> num;q.push(num);}ll ans = 0;while(q.size() >= 2){ll a = q.top(); q.pop();ll b = q.top(); q.pop();ans += a + b;q.push(a + b);}cout << ans;return 0;
}

平均分配

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
struct node{ll b;ll c;ll diff;
}pr[200001];
bool cmp(node f, node l){return f.diff > l.diff;
}
int main(){ios::sync_with_stdio(0);cin.tie(0);int n;cin >> n;for(int i = 1; i <= 2*n; i++){cin >> pr[i].b;}for(int i = 1; i <= 2*n; i++){cin >> pr[i].c;pr[i].diff = pr[i].b - pr[i].c; // 计算差值,降序排列,前n个数就是b>c的,后n个用n即可}sort(pr + 1, pr + 2 * n + 1, cmp);ll ans = 0;for(int i = 1; i <= n; i++){ans += pr[i].b;}for(int i = n + 1; i <= 2*n; i++){ans += pr[i].c;}cout << ans;return 0;
}

梦境巡查

#include<bits/stdc++.h>
using namespace std;
int n;
int a[100010], w[100010], b[100010];
void get_min(int lost){int begin = 0;int cur = 0;for(int i = 0; i <= n; i++){if(cur < a[i]){ // 当前值小于a[i]begin += a[i] - cur; // 初始值加上a[i] - curcur = a[i];}cur -= a[i];if(i != lost - 1) cur += b[i + 1];}w[lost] = begin;
}
int main(){ios::sync_with_stdio(0);cin.tie(0);cin >> n;for(int i = 0; i <= n; i++){cin >> a[i];}for(int i = 1; i <= n; i++){cin >> b[i];}for(int i = 1; i <= n; i++){get_min(i);cout << w[i] << " ";}return 0;
}

双指针,高精度,离散化

消消乐

#include<bits/stdc++.h>
using namespace std;
int main(){ios::sync_with_stdio(0);cin.tie(0);string str;cin >> str;int l = 0;int r = str.size() - 1;int ans = str.size();while(l < r){if(str[l] == 'A' && str[r] == 'B'){ans -= 2;l++;r--;}else if(str[l] == 'B') l++;else if(str[r] == 'A') r--;}cout << ans;return 0;
}

A+B(高精度)

#include<bits/stdc++.h>
using namespace std;
vector<int> add(vector<int> &a, vector<int> &b){vector<int> c;int t = 0;for(int i = 0; i < a.size() || i < b.size(); i++){if(i < a.size()) t += a[i];if(i < b.size()) t += b[i];c.push_back(t%10);t /= 10;}if(t) c.push_back(1);return c;
}
int main(){ios::sync_with_stdio(0);cin.tie(0);vector<int> a, b;string sa, sb;cin >> sa >> sb;for(int i = sa.size() - 1; i >= 0; i--) a.push_back(sa[i] - '0');for(int i = sb.size() - 1; i >= 0; i--) b.push_back(sb[i] - '0');vector<int> c = add(a, b);for(int i = c.size() - 1; i >= 0; i--) cout << c[i];return 0;
}

区间和

#include<bits/stdc++.h>
using namespace std;
typedef pair<int, int> PII;
const int N = 300010;
int n, m;
int a[N], s[N];
vector<int> alls;
vector<PII> add, query;
int find(int x){int l = 0, r = alls.size() - 1;while(l < r){int mid = l + r >> 1;if(alls[mid] >= x) r = mid;else l = mid + 1;}return r + 1;
}
int main(){ios::sync_with_stdio(0);cin.tie(0);cin >> n >> m;for(int i = 0; i < n; i++){int x, c;cin >> x >> c;add.push_back({x, c});alls.push_back(x);}for(int i = 0; i < m; i++){int l, r;cin >> l >> r;query.push_back({l, r});alls.push_back(l);alls.push_back(r);}sort(alls.begin(), alls.end());alls.erase(unique(alls.begin(), alls.end()), alls.end());for(auto item : add){int x = find(item.first);a[x] += item.second;}for(int i = 1; i <= alls.size(); i++) s[i] = s[i - 1] + a[i];for(auto item : query){int l = find(item.first), r = find(item.second);cout << s[r] - s[l - 1] <<endl;}return 0;
}

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

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

相关文章

MySQL 视图的更新与删除:从操作规范到风险防控

MySQL 视图的更新与删除&#xff1a;从操作规范到风险防控 视图作为 “虚拟表”&#xff0c;其更新与删除操作常常让开发者困惑 ——“为什么更新视图会报错&#xff1f;”“删除视图会不会弄丢数据&#xff1f;” 实际上&#xff0c;80% 的视图操作问题都源于对 “视图依赖基表…

C 语言实现 I.MX6ULL 点灯(续上一篇)、SDK、deep及bsp工程管理

目录 一、汇编点灯转 C 语言实现 1. 关键字&#xff1a;volatile 2. 寄存器地址定义&#xff08;两种方式&#xff09; &#xff08;1&#xff09;直接宏定义地址 &#xff08;2&#xff09;结构体封装寄存器&#xff08;优化访问&#xff09; 3. 核心功能代码 &#xff…

DevOps实战(7) - 使用Arbess+GitPuk+sourcefare实现Node.js项目自动化部署

Arbess 是一款国产开源免费的 CI/CD 工具&#xff0c;工具支持一键部署&#xff0c;页面简洁易用。本文将详细介绍如何安装配置使用GitPuk、sourcefare、Arbess系统&#xff0c;使用流水线拉取GitPuk源码、使用sourcefare代码扫描、构建安装包并进行主机部署。 1、GitPuk 安装…

算法,蒜鸟蒜鸟-P1-理解“双指针”

欢迎来到啾啾的博客&#x1f431;。 记录学习点滴。分享工作思考和实用技巧&#xff0c;偶尔也分享一些杂谈&#x1f4ac;。 有很多很多不足的地方&#xff0c;欢迎评论交流&#xff0c;感谢您的阅读和评论&#x1f604;。 目录引言1 双指针&#xff1a;Two Pointers1.1 左右指…

使用cookiecutter创建python项目

一、关于Python项目结构Python 项目并没有完全统一的 “固定结构”&#xff0c;但行业内有一些广泛遵循的约定俗成的目录结构&#xff08;尤其针对可分发的包或大型项目&#xff09;。同时&#xff0c;确实有工具可以快速生成这些标准化结构&#xff0c;提高开发效率&#xff0…

台积电生态工程深度解析:从晶圆厂到蜂巢的系统架构迁移

当半导体巨头将工厂视为生态系统&#xff0c;用工程思维解决环境问题概述&#xff1a;生态系统的工程化再造台积电近日开展的"积蜜"项目绝非简单的企业CSR行为&#xff0c;而是一场将生态系统视为复杂系统进行工程化改造的技术实践。本文将从系统架构、数据监控、循环…

从零实现一个简易计算器

最近在刷算法题时&#xff0c;遇到了实现计算器的问题。一开始觉得很简单&#xff0c;但真正动手实现时才发现其中有很多细节需要考虑。今天就来分享一下我的实现思路和学到的经验。问题分析我们需要实现一个能够处理加减乘除四则运算的计算器&#xff0c;要正确处理运算符的优…

Actix-webRust Web框架入门教程

文章目录引言Actix-web是什么&#xff1f;准备工作你的第一个Actix-web应用理解代码结构处理请求和响应接收请求数据返回响应中间件 - 增强你的应用状态管理和依赖注入实用示例&#xff1a;构建RESTful API测试你的Actix-web应用部署Actix-web应用结语额外资源引言 嘿&#xf…

若依框架前端通过 nginx docker 镜像本地运行

1. 前言 项目运行过程图&#xff1a;对于前端项目通过命令 npm run build 打包后&#xff0c;无法直接运行。存在如下错误&#xff1a;可以通过配置 nginx 服务器运行前端项目解决如上问题。 2. Nginx 运行 采用 docker 镜像的方式运行&#xff0c;docker-compose.yml 文件内容…

浅聊一下HTTP协议

在日常上网浏览网页、刷视频时&#xff0c;背后都离不开 HTTP 协议的支持。作为 Web 世界的 “交通规则”&#xff0c;它负责服务器和客户端浏览器之间的数据传输。这篇文章就带大家全面了解 HTTP 协议&#xff0c;从基本概念到通信细节&#xff0c;再到安全相关的 HTTPS&#…

机器人控制器开发(定位——cartographer ros2 使用2)

文章总览 1 纯定位模式 当完成建图后&#xff0c;会生成pbstream格式的地图文件 配置纯定位模式的lua脚本 backpack_2d_localization.lua include "backpack_2d.lua"TRAJECTORY_BUILDER.pure_localization_trimmer {max_submaps_to_keep 3, } POSE_GRAPH.optimi…

《大数据之路1》笔记3:数据管理

一 元数据 1.1 元数据概述 定义&#xff1a; 元数据是关于数据的数据&#xff0c;元数据打通了源数据、数据仓库、数据应用&#xff0c;记录了数据从生产到消费的全部过程。元数据主要记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态和ETL的任务运行状态…

排序实现java

排序算法概述Java中实现排序可以通过多种方式&#xff0c;包括内置方法、自定义算法或使用第三方库。常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序等。使用Arrays.sort()方法对于数组排序&#xff0c;Java提供了Arrays.sort()方法&#xff0c;支持对基本…

51c大模型~合集182

我自己的原文哦~ https://blog.51cto.com/whaosoft/14174587 #LaV-CoT 超越GPT-4o&#xff0c;蚂蚁集团与南洋理工大学提出&#xff1a;首个语言感知的视觉思维链 随着大型视觉语言模型&#xff08;VLM&#xff09;的飞速发展&#xff0c;它们在处理复杂的视…

C++ STL之deque的使用和模拟实现

目录 deque 核心本质与定位 与stack和queue的关系: deque的使用 deque的底层实现 deque的原理介绍 deque的缺陷 总结: deque deque文档 : deque 翻译: 双端队列 deque&#xff08;通常发音类似“deck”&#xff09;是“double-ended queue”&#xff08;双端队列&…

布草洗涤厂设备租赁押金原路退回系统—东方仙盟

设备租赁状态设备管理添加设备设备收押金设备退押金在布草洗涤行业的运营版图中&#xff0c;设备租赁是连接厂商与客户的重要纽带&#xff0c;而押金的收取与退还则是这一环节中关乎信任与效率的关键节点。未来之窗布草洗涤厂深谙此道&#xff0c;专为设备租赁业务打造的 “押金…

换源rocklinux和centos

一、Rockylinux换源&#xff0c;国外的源换成国内的源#nmcli connection modify ens33 ipv4.addresses 192.168.121.11 ipv4.gateway 192.168.121.2 ipv4.method manual ipv4.dns 114.114.114.114 connection.autoconnect yes修改地址#systemctl stop firewalld#systemctl diab…

第一部分:服务器硬件配置

目录1.1 服务器上架与连线1.2 启用CPU虚拟化功能&#xff08;BIOS设置&#xff09;1.3 配置RAID存储步骤1&#xff1a;进入RAID配置界面步骤2&#xff1a;确认RAID控制器信息步骤3&#xff1a;创建系统RAID&#xff08;用于安装ESXi&#xff09;步骤4&#xff1a;创建数据RAID&…

手搓一个 DELL EMC Unity存储系统健康检查清单

写在前面对于DELL EMC存储系统Unity的一些深度的健康检查通过Web的Unisphere图形化界面是做不到的&#xff0c;图形化界面只能看到是否有告警&#xff0c;物理的东西是否有问题的&#xff0c;逻辑的Pool和LUN等是否ready&#xff0c;再深入的潜在的问题是查不到的。另外&#x…

【数据结构】二叉树的概念

01 概念定义&#xff1a;二叉树既然叫二叉树&#xff0c;顾名思义即度最大为2的树称为二叉树。 它的度可以为 1 也可以为 0&#xff0c;但是度最大为 2 。 一颗二叉树是节点的一个有限集合&#xff0c;该集合&#xff1a;① 由一个根节点加上两棵被称为左子树和右子树的二叉树组…