Codeforces Round 1039 (Div. 2) A-C

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?,pr?1?)
所以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 minnbi?minn,那么我們可以直接添加bib_ibi?
如果bi>minnb_i \gt minnbi?>minn 我們可以先添加 minn?1minn-1minn?1 再添加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 平臺中各種報表的開發需要。同…