A. Recycling Center

在这里插入图片描述

题目大意

给你n个垃圾袋,每个垃圾袋有一个重量
在每秒钟,你可以选择一个垃圾袋,如果他的重量小于等于c,那么你可以不花费硬币丢掉它
当你丢掉一个垃圾袋后,其他垃圾袋在这一秒重量会翻倍
问最少花费几个硬币可以丢掉所有垃圾袋

思路

使用优先队列
从大到小存储所有垃圾袋
对于大于c的垃圾袋,无论如何都要丢掉,答案加1
对于小于c的垃圾袋,我们丢掉最大的小于等于c的垃圾袋
可以想到如果要尽可能多的丢掉小于等于c的垃圾袋,这一定是最优的

// Author: zengyz
// 2025-08-02 20:25#include <bits/stdc++.h>using namespace std;
typedef long long ll;void solve()
{ll n, c;cin >> n >> c;vector<ll> a(n);priority_queue<ll, vector<ll>, less<ll>> pq;for (ll i = 0; i < n; i++){cin >> a[i];pq.push(a[i]);}ll ans = 0;ll now = 1;while (pq.size()){while (pq.size() && pq.top() * now > c){pq.pop();ans++;}if (pq.size() == 0)break;pq.pop();now *= 2;}cout << ans << endl;return;
}int main()
{ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int _T = 1;cin >> _T;while (_T--){solve();}return 0;
}

B. Deque Process

在这里插入图片描述
在这里插入图片描述

思路

我们在奇数时间选择两端较小的一个,偶数时刻选择较大的一个,可以证明这一定是好的

证明:
考虑奇数时间
qi=min(pl,pr)q_{i}=min(p_l,p_r)qi=min(pl,pr),假设最小值是prp_rpr,那么pl>prp_l>p_rpl>pr
考虑偶数时间
qi+1=max(pl,pr−1)q_{i+1}=max(p_l,p_{r-1})qi+1=max(pl,pr1)
所以qi+1q_{i+1}qi+1一定大于qiq_{i}qi
同理qi+2q_{i+2}qi+2一定小于qi+1q_{i+1}qi+1

// Author: zengyz
// 2025-08-02 20:48#include <bits/stdc++.h>using namespace std;
typedef long long ll;void solve()
{int n;cin >> n;vector<int> a(n);for (int i = 0; i < n; i++)cin >> a[i];int l = 0, r = n - 1;vector<char> ans;int now = 0;while (l <= r){if (!now){if (a[l] < a[r]){ans.push_back('L');l++;}else{ans.push_back('R');r--;}}else{if (a[l] > a[r]){ans.push_back('L');l++;}else{ans.push_back('R');r--;}}now ^= 1;}for (int i = 0; i < ans.size(); i++)cout << ans[i];cout << endl;return;
}int main()
{ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int _T = 1;cin >> _T;while (_T--){solve();}return 0;
}

C. Leftmost Below

在这里插入图片描述
在这里插入图片描述

题目大意

给你一个全0的数组a
每次操作如下:
选择一个大于数组a最小值的值x
定义i为数组a中第一个小于x的值的下标,将其加x
问能否变成数组b

思路

设minn为从左到右数组b的最小值
当考虑到第i个元素时,如果bi≤minnb_i \leq minnbiminn,那么我们可以直接添加bib_ibi
如果bi>minnb_i \gt minnbi>minn 我们可以先添加 minn−1minn-1minn1 再添加minnminnminn
如果大于等于两倍minn则无解

// Author: zengyz
// 2025-08-02 20:57#include <bits/stdc++.h>using namespace std;
typedef long long ll;void solve()
{int n;cin >> n;vector<ll> a(n);for (int i = 0; i < n; i++){cin >> a[i];}ll maxx = a[0];bool flag = true;for (int i = 1; i < n; i++){if (2 * maxx <= a[i]){flag = false;break;}maxx = min(maxx, (ll)a[i]);}if (flag){cout << "YES" << endl;}elsecout << "NO" << endl;return;
}int main()
{ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int _T = 1;cin >> _T;while (_T--){solve();}return 0;
}

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

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

相关文章

【设计模式】 原则

单一职责原则 对于一个类而言&#xff0c;有且仅有一个引起他变化的原因或者说&#xff0c;一个类只负责一个职责 如果一个类承担的职责过多&#xff0c;那么这些职责放在一起耦合度太高了&#xff0c;一个职责的变化可能会影响这个类其他职责的能力。 所以我们在做软件设计的时…

windows11右键菜单新增项增加drawio文件,使用draw.io

目录1.新建空白模板2.建立注册表文件1.新建空白模板 这里我们的模板文件路径为 D:\Software\drawio\template.drawio 2.建立注册表文件 首先新建一个.txt文件&#xff0c;我这里取名为menulize.txt&#xff0c;然后将下面的内容复制到.txt文件中 Windows Registry Editor Ver…

解锁网页魔法:零基础HTML通关秘籍

文章目录**解锁网页魔法&#xff1a;零基础HTML通关秘籍**HTML 基础目标HTML 结构认识 HTML 标签HTML 文件基本结构标签层次结构快速生成代码框架HTML 常见标签注释标签注释的原则标题标签: h1-h6段落标签: p换行标签&#xff1a;br综合案例: 展示博客超链接标签: a表格标签**基…

类似 Pixso 但更侧重「网页 / 软件界面设计」「前后端可视化开发」的工具

从 GoView 的 Demo 功能来看&#xff0c;它主要聚焦于数据可视化大屏的低代码搭建&#xff0c;更侧重数据图表配置和页面布局&#xff0c;没有类似 Pixso 的在线 UI 设计&#xff08;如矢量绘图、组件样式精细化设计&#xff09;功能&#xff0c;其核心是通过预设组件快速构建数…

MySQL--组从复制的详解及功能演练

2.MySQL的组从复制 2.1 配置mastesr [rootmysqlaa ~]# vim /etc/my.cnf [mysqld] server-id10 datadir/data/mysql socket/data/mysql/mysql.sock default_authentication_pluginmysql_native_password log-binmysql-bin[rootmysqlaa ~]# /etc/init.d/mysqld restart# 进入数据…

JavaScript将String转为base64 笔记250802

JavaScript将String转为base64 笔记250802 在 JavaScript 中将字符串转换为 Base64 编码有多种方法&#xff0c;每种方法都有其适用场景。下面我将全面介绍这些方法&#xff0c;包括处理 ASCII 字符、Unicode 字符以及性能优化方案。 基础方法&#xff1a;btoa() 基本用法&a…

Unity3D数学第四篇:射线与碰撞检测(交互基础篇)

Unity3D数学第一篇&#xff1a;向量与点、线、面&#xff08;基础篇&#xff09; Unity3D数学第二篇&#xff1a;旋转与欧拉角、四元数&#xff08;核心变换篇&#xff09; Unity3D数学第三篇&#xff1a;坐标系与变换矩阵&#xff08;空间转换篇&#xff09; Unity3D数学第…

数据处理和统计分析——09 数据分组

1 聚合 1.1 简介 在SQL中我们经常使用GROUP BY将某个字段&#xff0c;按不同的取值进行分组&#xff0c;在Pandas中也有groupby()函数&#xff1b;分组之后&#xff0c;每组都会有至少1条数据&#xff0c;将这些数据进一步处理返回单个值的过程就是聚合&#xff0c;比如分组之后…

【数据结构与算法】数据结构初阶:排序内容加餐(一)——快速排序:三路划分、自省排序

&#x1f525;个人主页&#xff1a;艾莉丝努力练剑 ❄专栏传送门&#xff1a;《C语言》、《数据结构与算法》、C语言刷题12天IO强训、LeetCode代码强化刷题 &#x1f349;学习方向&#xff1a;C/C方向 ⭐️人生格言&#xff1a;为天地立心&#xff0c;为生民立命&#xff0c;为…

MySqL(加餐)

范式第一范式数据库表的每一列都是不可分割的原子数据项&#xff0c;而不能是集合&#xff0c;数组&#xff0c;对象等非原子数据。在关系型数据库的设计中&#xff0c;满足第一范式是对关系模式的基本要求。不满足第一范式的数据库就不能被称为关系数据库。第一范式实际上只要…

【redis】基于工业界技术分享的内容总结

Redis 实践指南与核心概念 一、Java 中常用的 Redis 使用场景与实践 缓存&#xff08;Caching&#xff09; 场景&#xff1a;热点数据、频繁访问的数据&#xff0c;如商品详情、用户信息。通过缓存减少数据库压力&#xff0c;提高系统响应速度。 工业界实践&#xff1a; 淘宝…

服务端之nestJS常用异常类及封装自定义响应模块

MENU前言常用异常类&#xff08;由nestjs/common提供&#xff09;示例自定义异常&#xff08;可选&#xff09;自定义响应模块前言 在NestJS中&#xff0c;nestjs/common提供了大量的内置异常类&#xff0c;主要用于在控制器、服务等层抛出特定的HTTP错误响应。 常用异常类&…

数据链路层、NAT、代理服务、内网穿透

目录 一. 以太网 以太网帧格式 二. MAC地址 三. MTU 四. ARP协议 五. NAT NAPT 六. 代理服务器 正向代理 反向代理 七. 内网穿透 八. 内网打洞 一. 以太网 • "以太网" 不是一种具体的网络, 而是一种技术标准; 既包含了数据链路层的内 容, 也包含了一些物理层…

Rust在CentOS 6上的移植

Rust已不支持Cent OS 6 rhel是Redhat 发布的Red Hat Enterprise Linux的简称&#xff0c;使用rhel源代码编译的CentOS&#xff0c;最新的版本是CentOS 7&#xff0c;于2024年停止支持。而更古老的CentOS 6&#xff0c;则在2020年就已经结束了。 而面对如此老旧的系统&#xf…

C++音视频开发:基础面试题

音视频领域技术门槛高&#xff0c;学习资料稀缺&#xff0c;体系化书籍和开发工具有限&#xff0c;新手入门困难。音视频开发涉及众多任务&#xff1a;音频&#xff08;采集、编解码、降噪等&#xff09;、视频&#xff08;采集、编解码、图像处理&#xff09;、实时传输&#…

C++刷题 - 7.27

贪心算法的详细逻辑这个问题的最优解可以用 贪心算法 在 O(N) 时间 内解决。它的核心思想是&#xff1a;每次操作尽可能覆盖最长的连续非零区间&#xff0c;并通过数学分析发现&#xff1a;最小操作次数等于所有“上升台阶”的高度差之和。1. 直观理解假设 steps [1, 2, 3, 2,…

音频3A处理简介之AGC(自动增益控制)

在音频通话和视频会议中&#xff0c;音频自动增益控制AGC模块的主要作用&#xff1a;• 稳定音频信号的输出电平。无论麦克风采集信号的强弱&#xff08;如用户离麦克风远近程度不同&#xff09;&#xff0c;尽可能保证音频采集模块的输出音量保持相对一致&#xff0c;不会偏大…

web前端打包apk包

我用的是HBuilder工具,可视化更便捷&#xff0c;目前我这操作的apk包是不需要上架的&#xff0c;所以跟实际需要上架的可能还有些出入 首先先新建个项目&#xff0c;选择5App模式 把目前需要打包的内容上传到服务器&#xff0c;我们以嵌套的形式进行打包&#xff0c;找到index.…

Ansible提权sudo后执行报错

1.问题 配置了sudo提权信息后&#xff0c;执行ansible-play报错&#xff0c;报错信息如下&#xff1a;2.原因 sudo没有执行**/bin/sh的权限&#xff0c;而ansible脚本中依赖/bin/sh**&#xff0c;所以报错了&#xff1a; 查看日志sudo tail -f /var/log/secure3.解决方式 修改*…

.NET报表控件ActiveReports发布v19.0——正式兼容 .NET 9

ActiveReports 是一款专注于 .NET 和 .NET Core 平台的报表控件。通过拖拽式报表设计器&#xff0c;可以快速地设计 Excel表格、Word文档、图表、数据过滤、数据钻取、精准套打等类型报表&#xff0c;全面满足 WinForm、ASP.NET、ASP.NET MVC、WPF 平台中各种报表的开发需要。同…