当前位置: 首页 > news >正文

Codeforce 980 Div2 A-D 题解

A. Profitable Interest Rate

原题

A. Profitable Interest Rate

思路

易推出公式 2 * a - b

代码

#include <bits/stdc++.h>
//#define int long long#define F(i, a, b) for (int i = (a); i <= (b); i++)
#define dF(i, a, b) for (int i = (a); i >= (b); i--)using namespace std;typedef long long ll;
typedef pair<int, int> pii;const int N = 500005, M = (N << 1), inf = 1e16, mod = 1e9 + 7;int n, m, k, x, y, z, ans, t;
int w[N], f[N];void solve()
{int a, b;cin >> a >> b;if (a >= b)cout << a << endl;else{cout << max(0, (2 * a - b)) << endl;}
}signed main()
{ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);int T = 1;cin >> T;while (T -- ){solve();}
}

B. Buying Lemonade

原题

B. Buying Lemonade

思路

这道题的思维多一点, 我们去求所有饮料机里剩余饮料最少的饮料机还剩多少罐饮料, 设此为 x, 然后所有饮料机都拿 x 罐

每次拿完 x 罐后, 下一次拿就可能会拿到那个空的饮料机, 这里加1

答案是需要的 k 罐饮料加上按倒空饮料机多按的次数

x 可以用差分得到

代码

#include <bits/stdc++.h>
#define int long long#define F(i, a, b) for (int i = (a); i <= (b); i++)
#define dF(i, a, b) for (int i = (a); i >= (b); i--)using namespace std;typedef long long ll;
typedef pair<int, int> pii;const int N = 500005, M = (N << 1), inf = 1e16, mod = 1e9 + 7;int n, m, k, x, y, z, ans, t;
int w[N], f[N];void solve()
{cin >> n >> k;for (int i = 1; i <= n; i ++ ){cin >> w[i];}sort(w + 1, w + n + 1);for (int i = 1; i <= n; i ++ ){f[i] = w[i] - w[i - 1];}ans = 0;x = 0;for (int i = 1; i <= n; i ++ ){if (i != 1) ans ++;x += f[i] * (n - i + 1);if (x >= k) break;}cout << ans + k << endl;
}signed main()
{ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);int T = 1;cin >> T;while (T -- ){solve();}
}

C. Concatenation of Arrays

原题

C. Concatenation of Arrays

 

思路

贪心的排序

按i + j 来排序即可

代码

#include <bits/stdc++.h>
#define int long long
#define F(i, a, b) for (int i = (a); i <= (b); i++)
#define dF(i, a, b) for (int i = (a); i >= (b); i--)using namespace std;typedef long long ll;
typedef pair<int, int> pii;const int N = 200005, M = (N << 1), mod = 1e9 + 7;int n, m, k, x, y, z, ans, t;
int w[N], f[N];pii a[N];bool cmp(pii a, pii b)
{int res1 = 0, res2 = 0;res1 = a.first + a.second;res2 = b.first + b.second;return res1 < res2;
}void solve()
{cin >> n;//	map<pii, int> mm;for (int i = 1; i <= n; i ++ ){cin >> a[i].first >> a[i].second;
//		mm[a[i]] = i;}sort(a + 1, a + n + 1, cmp);for (int i = 1; i <= n; i ++ ){cout << a[i].first << " " << a[i].second << " ";}cout << "\n";
}signed main()
{ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);int T = 1;cin >> T;while (T -- ){solve();}
}

D. Skipping

原题

D. Skipping

思路

这道题想着贪心去做, 浪费了大量时间, 就应该搜索去做

广度优先搜索, dp, 堆优化, 可以解决此题

代码

#include <bits/stdc++.h>
#define int long long#define F(i, a, b) for (int i = (a); i <= (b); i++)
#define dF(i, a, b) for (int i = (a); i >= (b); i--)using namespace std;typedef long long ll;
typedef pair<int, int> pii;const int N = 500005, M = (N << 1), inf = 1e16, mod = 1e9 + 7;int n, m, k, x, y, z, ans, t;
int w[N], f[N];void solve()
{cin >> n;vector<int> a(n);for (int i = 0; i < n; i ++ ) cin >> a[i];vector<int> b(n);for (int i = 0; i < n; i ++ ){cin >> b[i];b[i] --;}vector<int> dp(n, inf);priority_queue<pair<int, int>, vector<pair<int, int>>, greater<>> q;q.emplace(0, 0);while (!q.empty()){auto [d, i] = q.top();q.pop();if (dp[i] != inf){continue;}dp[i] = d;q.emplace(d + a[i], b[i]);if (i > 0){q.emplace(d, i - 1);}}int ans = 0, sum = 0;for (int i = 0; i < n; i ++ ){sum += a[i];ans = max(ans, sum - dp[i]);}cout << ans << endl;
}signed main()
{ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);int T = 1;cin >> T;while (T -- ){solve();}
}

相关文章:

Codeforce 980 Div2 A-D 题解

A. Profitable Interest Rate 原题 A. Profitable Interest Rate 思路 易推出公式 2 * a - b 代码 #include <bits/stdc.h> //#define int long long#define F(i, a, b) for (int i (a); i < (b); i) #define dF(i, a, b) for (int i (a); i > (b); i--)usi…...

一次代码优化的过程

场景说明&#xff1a; wpf项目&#xff0c;有4个不同的页面&#xff0c;共用一个next按钮&#xff0c;实现点击后跳转到下一个页面。 第一个页面是导入文件&#xff0c;当有2个及以上文件时&#xff0c;会弹窗提示。如下图所示&#xff1a; 之前和之后的代码对比&#xff1a; 之…...

多线程的学习(1)

线程的创建方式 1.继承Thread类 package duoXianCheng;public class MyThread extends Thread{public void run(){System.out.println("hoh");}public static void main(String[] args) {MyThread m1 new MyThread();m1.start();//start启动线程&#xff0c;调用重…...

PyCharm借助MobaXterm跳板机连接服务器

服务器信息&#xff1a; Step 1 MovaXterm→Session→SSH输入服务器信息 Step 2 MovaXterm→Session→SSH→Network setting→SSG gateway(jump host) 输入跳板机信息 键入密码即可 Step 3 MovaXterm→Tunneling→New SSH tunnel 依次输入&#xff1a;A本机端口&#xff0c…...

计算机毕业论文基于Android 的签到系统设计与实现

计算机专业本科毕业设计(论文)开题报告 毕业设计(论文)题目:基于Android的签到系统设计与实现 文章目录 毕业设计论文开题报告一、课题的目的及意义(含国内外的研究现状分析):二、课题任务、重点研究内容、实现途径、条件:摘 要1. 绪论1.1. 研究背景1.2. 研究现状1.3.…...

量化学习-02

1、宏观经济学基础概念 宏观经济简单背景 宏观经济&#xff0c;就是在宏观范畴以全局视角观察经济现象&#xff0c;分析其中的经济总量。该宏观范畴所包含的范围可以指一个国家或地区&#xff0c;是由众多微观个体组成的一个经济体&#xff0c;而这里面的微观个体可以指一个家…...

SAP_MM模块-设置业务合作伙伴类型字段必输(多种方案)

一、业务背景 公司需要把供应商增加一个细分的维度&#xff0c;并且要求该字段设置为必输&#xff0c;防止用户新增供应商时忘记维护。这里给用户找了一个分类的字段&#xff1a;业务合作伙伴类型&#xff0c;本文主要讲解如何设置该字段设置为必填&#xff1b; 注意&#xff…...

STM32平台上实现串口接收不定长数据-实际项目中应用

文章目录 一、中断串口监听方式初始化中断处理串口监听 二、空闲中断方式三、空闲中断DMA方式四、总结 本文将详细介绍在STM32平台上实现串口接收不定长数据的几种方法 一、中断串口监听方式 这种方式也是我早期使用的方式&#xff0c;直接使用寄存器来操作&#xff0c;这种方…...

AWD入门

一、简介 AWD(Attack With Defense&#xff0c;攻防兼备)模式。你需要在一场比赛里要扮演攻击方和防守方&#xff0c;攻者得分&#xff0c;失守者会被扣分。也就是说攻击别人的靶机可以获取 Flag 分数时&#xff0c;别人会被扣分&#xff0c;同时你也要保护自己的主机不被别人…...

T3矩阵看功率

每个像素的T3矩阵&#xff0c;功率等于特征值的和。 不同的像素的T3矩阵相加&#xff0c;可不能用特征分解的相加&#xff0c;因为两个T矩阵的特征向量不同...

VLMEvalKit多模态大模型评测工具源码解析

vlmeval/api和vlmeval/vlm文件夹下分别是api接口和本地运行的大模型的代码 基类都是base vlmeval/dataset是数据集处理代码 vlmeval/inference.py是推理代码 run.py的整个流程 1 vlmeval/api/base.py 主要为需要与外部API交互的系统提供了一个通用的框架 类属性 allowed_type…...

将 Docker 安装到指定目录

将 Docker 安装到指定目录 将 Docker 安装到指定目录 Docker 默认安装在 C:\Program Files\Docker\Docker&#xff0c;这可能会占用大量 C 盘空间。你可以按以下步骤将 Docker 安装到其他盘&#xff08;例如 E 盘&#xff09;&#xff1a; 创建安装目录&#xff1a;在 E 盘创…...

哪些企业需要部署SD-WAN?

首先&#xff0c;让我们先明确SD-WAN的定义。SD-WAN&#xff0c;中文全称为软件定义广域网&#xff08;Software-Defined Wide Area Network&#xff09;&#xff0c;通过集中化管理与流量控制&#xff0c;帮助企业优化网络性能&#xff0c;提升用户体验。与传统广域网&#xf…...

通信基站类型、频段与网络标准

【1】通信基站类型 移动通信基站根据覆盖面积和功率大小主要可以分为以下几种类型&#xff1a; 宏基站&#xff08;宏站&#xff09;&#xff1a;这是最常见的基站类型&#xff0c;具有较大的发射功率和较广的覆盖范围&#xff0c;通常覆盖半径从1到25公里不等。宏基站主要用于…...

Java IO教程之Java 文件一口气讲完!( *︾▽︾)

Java 文件 Java IO教程 - Java文件 File类的对象是文件或目录的路径名的抽象表示。 创建文件 我们可以从中创建一个 File 对象 路径名父路径名和子路径名URI&#xff08;统一资源标识符&#xff09; 我们可以使用File类的以下构造函数之一创建一个文件&#xff1a; File(…...

如何在 Ubuntu 24 上安装 Vmware Tools

原文 Vmware Tools作用 增强图形显示性能 分辨率适配 可使虚拟机的分辨率能够自动适应窗口大小的变化。当您调整 VMware 软件窗口的大小时&#xff0c;Ubuntu 24 虚拟机的屏幕分辨率会随之自动调整&#xff0c;为用户提供更好的视觉体验&#xff0c;方便在不同的使用场景下进…...

内网穿透:如何借助Cloudflare连接没有公网的电脑的远程桌面(RDP)

内网穿透&#xff1a;如何借助Cloudflare连接没有公网的电脑的远程桌面(RDP)-含详细原理配置说明介绍 前言 远程桌面协议(RDP, Remote Desktop Protocol)可用于远程桌面连接&#xff0c;Windows系统&#xff08;家庭版除外&#xff09;也是支持这种协议的&#xff0c;无需安装…...

明星作家都在使用的电子书制作工具,现在向大家介绍

​在数字化时代&#xff0c;电子书已经成为了广大读者和作家的新宠。越来越多的作家开始尝试将手中的文字作品转化为电子书&#xff0c;以便在更广泛的平台上推广和传播。那么&#xff0c;如何高效、便捷地制作电子书呢&#xff1f;今天&#xff0c;我们就来为大家揭秘一款明星…...

简单认识Maven 3-认识pop.Xml配置文件中的代码

pom.xml是 Maven 项目的核心配置文件&#xff0c;它包含了项目的各种配置信息&#xff0c;以下是对其主要内容含义的认识&#xff1a; 一、项目基本信息 <groupId>&#xff1a; 定义项目的组织或团体的唯一标识符&#xff0c;通常采用反向域名的格式。例如&#xff0c;“…...

LangChain4j系列—OpenAI开发实例

一、引入Maven依赖 1、纯Java <dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-open-ai</artifactId><version>0.35.0</version> </dependency> 2、Spring boot <dependency><groupId&g…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

是不是受够了安装了oracle database之后sqlplus的简陋&#xff0c;无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话&#xff0c;配置.bahs_profile后也能解决上下翻页这些&#xff0c;但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可&#xff0c…...