Codeforces Round 957 (Div. 3)(A~D题)

A. Only Pluses

 

 思路:

优先增加最小的数,它们的乘积会是最优,假如只有两个数a和b,b>a,那么a + 1,就增加一份b。如果b + 1,只能增加1份a。因为 b > a,所以增加小的数是最优的。

代码:

#include<bits/stdc++.h>
using namespace std;
#define N 1000005
typedef long long ll;
typedef unsigned long long ull;
ll n, m, t, h, k;
ll a, b, c;
ll ans, num, sum1,sum,sum2, cnt;
ll dp[N], f1[N], f2[N];
ll mp[105][105];
bool flag, vis[N];
string s, ss;
void solve()
{ll x;vector<ll>q;for (int i = 1; i <= 3; i++){cin >> x;q.push_back(x);}for (int i = 1; i <= 5; i++){sort(q.begin(), q.end());q[0]++;}cout << q[0] * q[1] * q[2] << endl;;
}
int main()
{cin >> t;while (t--) {solve();}return 0;
}

B. Angry Monk

思路:

贪心思想,最长的片段作为基础片段,其他长度的片段都要经历分解+组合两种操作(除长度为1的片段外),直接计数即可.

代码:

#include<bits/stdc++.h>
using namespace std;
#define N 1000005
typedef long long ll;
typedef unsigned long long ull;
ll n, m, t, h, k;
ll a, b, c;
ll ans, num, sum1,sum,sum2, cnt;
ll dp[N], f1[N], f2[N];
ll mp[105][105];
bool flag, vis[N];
string s, ss;
void solve()
{cin >> n >> m;for (int i = 1; i <= m; i++) {cin >> dp[i];}ans = 0;sort(dp + 1, dp + 1 + m);for (int i = 1; i < m; i++) {if (dp[i] != 1) {ans += dp[i] - 1;}}cout << ans + n - dp[m] << endl;
}
int main()
{cin >> t;while (t--) {solve();}return 0;
}

C. Gorilla and Permutation

思路:

优先让满足f条件的数早出现(越大越早),让满足g条件的数晚出现(越小越早)

代码:

#include<bits/stdc++.h>
using namespace std;
#define N 1000005
typedef long long ll;
typedef unsigned long long ull;
ll n, m, t, h, k;
ll a, b, c;
ll ans, num, sum1,sum,sum2, cnt;
ll dp[N], f1[N], f2[N];
ll mp[105][105];
bool flag, vis[N];
string s, ss;
void solve()
{cin >> n >> m >> k;for (int i = n; i >= k; i--) cout << i << " ";for (int i = k - 1; i >= m + 1; i--) cout << i << " ";for (int i = 1; i <= m; i++) cout << i << " ";cout << endl;
}
int main()
{cin >> t;while (t--) {cin >> n >> m >> k;for (int i = n; i >= k; i--)cout << i << " ";for (int i = k - 1; i >= m + 1; i--)cout << i << " ";for (int i = 1; i <= m; i++)cout << i << " ";cout << endl;}return 0;
}

D. Test of Love

 

思路:

分情况讨论。 从右往左记录距离当前位置最近的L的位置,用next数组表示。维护一个变量rightmost,表示当前位置~rightmost之间的位置都可以去(初始时为m)。
1: 如果rightmost >= next[i], i = next[i], 更新rightmost。(跳到下一个L位置)
2: 如果当前在陆地上,从当前能跳的最右边的距离往左找,找到第一个W(能到达的最右边的water),如果k <= 0或者没找到W, 无解
3: 如果当前在水里(W),k <= 0或者下一个字母是C,无解。 

代码:

#include<bits/stdc++.h>
using namespace std;
#define N 1000005
typedef long long ll;
typedef unsigned long long ull;
ll n, m, t, h, k;
ll a, b, c;
ll ans, num, sum1,sum,sum2, cnt;
ll dp[N], f1[N], f2[N];
ll mp[105][105];
bool flag, vis[N];
string s, ss;
void solve()
{cin >> n >> m >> k;cin >> s;s = " " + s;if (m > n) {cout << "YES" << endl;return;}else {ans = m;for (int i = 1; i <= n; i++) {if (ans <= 0) {cout << "NO" << endl;return;}if (s[i] == 'L')ans = m;if (s[i] == 'W') {if (k > 0) {if (ans > 1)ans--;else {ans = 1;k--;}}elseans--;}if (s[i] == 'C')ans--;}}if (ans > 0)cout << "YES" << endl;elsecout << "NO" << endl;
}
int main()
{cin >> t;while (t--) {solve();}return 0;
}

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

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

相关文章

Spring Boot集成groovy快速入门Demo

1.什么是groovy&#xff1f; Groovy 是构建在 JVM 上的一个轻量级却强大的动态语言&#xff0c;它结合了 Python、Ruby 和 Smalltalk 的许多强大的特性。 Groovy 就是用 Java 写的&#xff0c;Groovy 语法与 Java 语法类似&#xff0c;Groovy 代码能够与 Java 代码很好地结合&…

SunnyUI中UIAnalogMeter的使用

在 SunnyUI 控件库中&#xff0c;UIAnalogMeter 是一个模拟仪表盘控件&#xff0c;用于显示数值数据&#xff0c;如温度、压力、速度或其他需要模拟表盘形式显示的量。下面是如何在你的应用程序中使用 UIAnalogMeter 的步骤&#xff1a; 1. 引入 SunnyUI 控件库 确保你的项目…

STM32MP135裸机编程:定时器内核时钟频率计算方法

0 工具准备 STM32MP13xx参考手册 1 定时器内核时钟频率计算方法 1.1 定时器分组 STM32MP135的定时器按照时钟源不同分成了三组&#xff0c;如下&#xff1a; APB1: APB2: APB6&#xff1a; 1.2 定时器内核时钟频率计算方法 APB1DIV是APB1的分频系数&#xff0c;APB2DIV、…

python双下划线怎么打

连续按键盘上的“shift_”键两次即可&#xff0c;不同编辑器可能显示会不太一样。像图1中那样没连起来也是对的&#xff0c;没有语法错误。

基于python豆瓣电影爬虫数据可视化分析推荐系统(完整系统源码+数据库+详细文档+论文+详细部署教程)

文章目录 基于python豆瓣电影爬虫数据可视化分析推荐系统&#xff08;完整系统源码数据库详细文档论文详细部署教程&#xff09;一、 选题背景二、研究目的三、开发技术介绍1、Django框架2、LDA3、机器学习推荐算法4、大数据爬虫5、大数据Echarts可视化 四、系统设计思想五、部…

C++ | Leetcode C++题解之第235题二叉搜索树的最近公共祖先

题目&#xff1a; 题解&#xff1a; class Solution { public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {TreeNode* ancestor root;while (true) {if (p->val < ancestor->val && q->val < ancestor->val) {anc…

贪心算法案例

1.买卖股票的最佳时机 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔…

代码随想录算法训练营第31天|LeetCode 56. 合并区间、738.单调递增的数字、968.监控二叉树

1. LeetCode 56. 合并区间 题目链接&#xff1a;https://leetcode.cn/problems/merge-intervals/description/ 文章链接&#xff1a;https://programmercarl.com/0056.合并区间.html 视频链接&#xff1a;https://www.bilibili.com/video/BV1wx4y157nD 思路&#xff1a; 本题关…

SpringBoot新手快速入门系列教程十一:自动生成API文档,Springboot3.x集成SpringDoc

本次项目我们用Maven来做&#xff0c;最近发现gradle其实很多项目的支持比较差&#xff0c;所以项目还是用Maven来新建项目。对比了市面上的几种API生成第三方库&#xff0c;只有springdoc 是能够按照文档就能部署出来的。 官网&#xff1a; OpenAPI 3 Library for spring-bo…

北京航空航天大学学报

《北京航空航天大学学报》是由中华人民共和国工业和信息化部主管&#xff0c;北京航空航天大学主办的中文核心期刊&#xff0c;中国精品科技期刊。1956年创刊&#xff0c;现为月刊&#xff0c;主要刊登有关航空航天及相关学科的优秀学术论文&#xff0c;面向国内外发行。 《北…

链接追踪系列-04.linux服务器docker安装elk

[rootVM-24-17-centos ~]# cat /proc/sys/vm/max_map_count 65530 [rootVM-24-17-centos ~]# sysctl -w vm.max_map_count262144 vm.max_map_count 262144 #先创建出相应目录&#xff1a;/opt/dockerV/es/…docker run -e ES_JAVA_OPTS"-Xms512m -Xmx512m" -d -p 92…

渗透测试入门指南:关键术语一览

引言 在信息安全领域&#xff0c;渗透测试&#xff08;Penetration Testing&#xff09;是一项重要的技能。对于初学者而言&#xff0c;理解一些常用的专业术语是迈向渗透测试的第一步。本文将为基础小白详细介绍渗透测试中的关键术语&#xff0c;帮助你快速上手。 1. POC、EX…

【流媒体】 通过ffmpeg硬解码拉流RTSP并播放

简介 目前RTSP拉流是网络摄像头获取图片数据常用的方法&#xff0c;但通过CPU软解码的方式不仅延时高且十分占用资源&#xff0c;本文提供了一种从网络摄像头RTSP硬解码的拉流的方法&#xff0c;并且提供python代码以便从网络摄像头获取图片进行后续算法处理。 下载ffmpeg F…

2024-07-15 Unity插件 Odin Inspector3 —— Button Attributes

文章目录 1 说明2 Button 特性2.1 Button2.2 ButtonGroup2.3 EnumPaging2.4 EnumToggleButtons2.5 InlineButton2.6 ResponsiveButtonGroup 1 说明 ​ 本章介绍 Odin Inspector 插件中有关 Button 特性的使用方法。 2 Button 特性 2.1 Button 依据方法&#xff0c;在 Inspec…

QT控件篇三

一、微调框 微调框&#xff08;QSpinBox&#xff09;是一个常用的Qt控件&#xff0c;允许用户通过增加或减少值来输入数字。分为两种, 整型-QSpinBox 浮点 QDoubleSpinBoxQSpinBox&#xff08;微调框&#xff09;的 setSingleStep 函数可以用来设置每次调整的步长&#xff08;…

【人工智能】人工智能与传统美工结合,AI美工的详细解析。

AI美工是一个结合了人工智能技术与美工设计的岗位&#xff0c;它利用AI工具和技术来辅助或完成美工设计的各项工作。以下是对AI美工的详细解析&#xff1a; 一、定义与职责 AI美工是指能够熟练使用AI工具和技术&#xff0c;如Midjourney、StableDiffusion等AIGC&#xff08;人…

QT 没有与参数列表匹配的函数模板qMin”实例参数类型为:(<error-type>,quint16)

quint16 numberOfEntries qMin (ui–>readSize->currentText (). toUShort (), quint16 (10 - startAddress)) ;template<class T> constexpr const T &qMin(const T &a, const T &b)quint16 numberOfEntries qM联机搜索return QModbusDataUnit (tab…

Spring Boot与Apache Pulsar的集成

Spring Boot与Apache Pulsar的集成 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 一、引言 Apache Pulsar作为一款高性能、持久化的分布式消息系统&#xf…

2024安全行业大模型技术应用态势发展报告

以上是资料简介和目录&#xff0c;如需下载&#xff0c;请前往星球获取&#xff1a;https://t.zsxq.com/dH9bu

qt 队列和线程

1.qt 队列应用 概要 这里采用定周期检查任务的方式来处理队列&#xff0c;虽然没有分线程&#xff0c;但和大部分队列任务的处理方式相同&#xff0c;因为队列最主要的价值就是对任务的排队&#xff0c;所以这种方式是一种很常用的场景。 开始 Qt 队列应用通常涉及到在 Qt …