强化训练:day11(游游的水果大礼包、 买卖股票的最好时机(二)、倒置字符串)

文章目录

  • 前言
  • 1. 游游的水果大礼包
    • 1.1 题目描述
    • 1.2 解题思路
    • 1.3 代码实现
  • 2. 买卖股票的最好时机(二)
    • 2.1 题目描述
    • 2.2 解题思路
    • 2.3 代码实现
  • 3. 倒置字符串
    • 3.1 题目描述
    • 3.2 解题思路
    • 3.3 代码实现
  • 总结

前言

  1. 游游的水果大礼包
  2. 买卖股票的最好时机(二)
  3. 倒置字符串

1. 游游的水果大礼包

1.1 题目描述

在这里插入图片描述

1.2 解题思路

  一开始我是想到了贪心(但是通不过全部的样例),思路:那个礼包的价值大就优先全部选择这个礼包,剩余的东西再配另一个礼包。然后就错了……,反例:n = 2, m = 100,a = 2,b = 3,结合这个用例就知道为什么错了。(如果没有想到贪心的就可以直接跳过这个了)
  正确的思路就是:枚举,将一个礼包从0个开始枚举,一直枚举到符合条件的最多个数,然后进行统计出最大的价值。

1.3 代码实现

#include <iostream>
using namespace std;
using ll = long long;
ll a, b, n, m;
int main()
{cin >> n >> m >> a >> b;ll ret = 0;for(ll x = 0; x <= min(n / 2, m); x++){ll y = min((n - x * 2), (m - x) / 2);ret = max(ret, x * a + y * b);}cout << ret;return 0;
}

2. 买卖股票的最好时机(二)

2.1 题目描述

在这里插入图片描述

2.2 解题思路

  这里的做题方法有我提供两种,一个是dp,一个是贪心。
  dp:每一天的状态有两种,一种是买入,一种是卖出。对于买入来说又有两种: 一种昨天就是买入状态,今天不卖出还是买入状态;另一种是昨天是卖出状态,今天就可以重新买入。对于卖出也是一样的: 一种昨天就是卖出状态,今天不买入还是卖出状态;另一种是昨天是买入状态,今天就可以进行卖出。这样有两个状态的,我们可以用两个数组来分别表示,并且状态转移方式根据上面的变化也可以很容易的写出了。
  贪心:贪心就更简单了,只要今天的价格比昨天的高,说明就有利润,那么我们就可以买入卖出赚利润。
  在这里我就只写dp的代码了,贪心就根据我写的思路,一看就懂了。

2.3 代码实现

#include <iostream>
using namespace std;
#include <vector>
int main() {int n;cin >> n;vector<int> nums(n);for (int i = 0; i < n; i++)cin >> nums[i];vector<int> f(n), g(n);f[0] = -nums[0];for (int i = 1; i < n; i++) {f[i] = max(f[i - 1], g[i - 1] - nums[i]);g[i] = max(g[i - 1], f[i - 1] + nums[i]);}cout << g[n - 1];return 0;
}

3. 倒置字符串

3.1 题目描述

在这里插入图片描述

3.2 解题思路

  很简单,我们只需要将先将全部的字符串进行逆置,再将每一个单词进行逆置就可以了。

3.3 代码实现

#include <iostream>
using namespace std;
#include <string>
void Reverse(string& s, int left, int right) 
{while (left < right) {swap(s[left++], s[right--]);}
}
int main() 
{string s;getline(cin, s);Reverse(s, 0, s.size() - 1);int left = 0, right = 0;while (right < s.size()) {while (right < s.size() && s[right] != ' ') right++;Reverse(s, left, right - 1);left = right + 1;right = left;}cout << s;return 0;
}

总结

  今天的难度都还正常,也是之前就做过类似的题,感觉比较容易,所以,对于这些题,只有多做,多练,熟悉了解题方法,才能更块更准确的写出来,如果不动手,永远也不会!!!
  那么第十一天的内容就到此结束了,如果大家发现有什么错误的地方,可以私信或者评论区指出喔。我会继续坚持训练的,希望能与大家共同进步!!!那么本期就到此结束,让我们下期再见!!觉得不错可以点个赞以示鼓励!

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

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

相关文章

【车道线网络,给予他预训练模型权重,为什么继续训练得不到更好的权重参数,反而会出现检测效果的下降?】】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、检测效果的下降&#xff1f;解决方案总结 车道线网络&#xff0c;给予他预训练模型权重&#xff0c;为什么继续训练得不到更好的权重参数&#xff0c;反而会出现…

NLP(20)--知识图谱

前言 仅记录学习过程&#xff0c;有问题欢迎讨论 基于LLM的垂直领域问答方案&#xff1a; 特点&#xff1a;不是通用语料&#xff1b;准确度要求高&#xff0c;召回率可以低&#xff08;转人工&#xff09;&#xff1b;拓展性和可控性&#xff08;改变特定内容的回答&#xf…

std::mutex

结论&#xff1a; 最终std::mutex 会调用pthread_mutex_t 相关接口 1 std::mutex 定义封装关键数据&#xff1a;typedef __gthread_mutex_t #ifdef _GLIBCXX_HAS_GTHREADS// Common base class for std::mutex and std::timed_mutexclass __mutex_base{protected:typedef __g…

数据结构初阶 栈

一. 栈的基本介绍 1. 基本概念 栈是一种线性表 是一种特殊的数据结构 栈顶&#xff1a;进行数据插入和删除操作的一端 另一端叫做栈底 压栈&#xff1a;插入数据叫做压栈 压栈的数据在栈顶 出栈&#xff1a; 栈的删除操作叫做出栈 出栈操作也是在栈顶 栈遵循一个原则 叫做…

Python深度学习:【模型系列】一文搞懂Transformer架构的三种注意力机制

文章目录 1. 什么是注意力机制?2. Transformer 的注意力层2.1 注意力机制基础2.2 理解Q,K,V2.3 交叉注意力层2.4 全局自注意力层2.5 因果注意力层3. 位置编码4. 多头注意力机制5. 总结1. 什么是注意力机制? 注意力机制最初受到人类视觉注意力的启发,目的是让模型在处理大…

JavaEE:Servlet创建和使用及生命周期介绍

目录 ▐ Servlet概述 ▐ Servlet的创建和使用 ▐ Servlet中方法介绍 ▐ Servlet的生命周期 ▐ Servlet概述 • Servlet是Server Applet的简称&#xff0c;意思是 用Java编写的服务器端的程序&#xff0c;Servlet被部署在服务器中&#xff0c;而服务器负责管理并调用Servle…

2024.5.21 作业 xyt

今日课堂内容&#xff1a;域套接字 TCP流式套接字 //服务器 #include <myhead.h> int main(int argc, const char *argv[]) {//1、为通信创建一个端点int sfd socket(AF_UNIX, SOCK_STREAM, 0);//参数1&#xff1a;说明使用的是ipv4通信域//参数2&#xff1a;说明使用…

ffpmeg之avformat_network_init和avdevice_register_all函数

avformat_network_init 如果利用ffpmeg库拉取视频流或者通过http协议打开视频文件播放&#xff0c;涉及到网络IO操作的&#xff0c;在应用程序之前首先需要调用avformat_network_init函数&#xff0c;该函数调用后就实现了对ffmpeg模块IO的一些初始化&#xff0c;后续就可以利…

HTML静态网页成品作业(HTML+CSS)——动漫海绵宝宝介绍网页(5个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有5个页面。 二、作品演示 三、代…

【前端笔记】记录一个能优化Echarts Geo JSON大小的网站

前端在使用Echarts等可视化图表库会不可避免遇到的问题&#xff0c;渲染地图的数据太大。 而有那么一个网站能给予这个问题一个解决方案&#xff1a;链接在此 使用方法很简单&#xff0c;首先先进入网站&#xff0c;如果进入了会是这个页面&#xff1a; 接着&#xff0c;选择一…

代码随想录算法训练营第四十三天|

518.零钱兑换II 典型的完全背包问题&#xff0c;但这里是求有多少种组合方式&#xff0c;所以递推公式变为 dp[j] dp[j - coins[i]]; 377. 组合总和 Ⅳ 也是完全背包问题&#xff0c;但是需要求排列而不是组合&#xff0c;所以需要先遍历背包容量&#xff0c;再遍历物品。 …

HCIP的学习(25)

VLAN间通讯技术 使用多臂路由的方式 ​ 路由器的物理接口默认是不识别802.1Q标签的&#xff0c;所以&#xff0c;交换机连接路由器的接口在发送数据帧时&#xff0c;应该将标签剥离。----一般常使用Access接口配置。 单臂路由 ​ 所谓的单臂路由&#xff0c;实际上试讲路由器…

【主流分布式算法总结】

文章目录 分布式常见的问题常见的分布式算法Raft算法概念Raft的实现 ZAB算法Paxos算法 分布式常见的问题 分布式场景下困扰我们的3个核心问题&#xff08;CAP&#xff09;&#xff1a;一致性、可用性、分区容错性。 1、一致性&#xff08;Consistency&#xff09;&#xff1a;…

Docker是什么?使用场景作用及Docker的安装和启动详解

目录 Docker是什么&#xff1f; Docker的发展 Docker的安装 Docker使用 Docker的运行机制 第一个Docker容器 进入Docker容器 客户机访问容器 Docker是什么&#xff1f; Docker 是一个开源的应用容器引擎&#xff0c;基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker …

记录深度学习GPU配置,下载CUDA与cuDnn

目标下载: cuda 11.0.1_451.22 win10.exe cudnn-11.0-windows-x64-v8.0.2.39.zip cuda历史版本网址 CUDA Toolkit Archive | NVIDIA Developer 自己下载过11.0.1版本 点击下载local版本,本地安装,有2个多GB,很大,我不喜欢network版本,容易掉线 cuDnn https://developer.nvi…

设置AXI主寄存器切片和AXI数据FIFO

设置AXI主寄存器切片和AXI数据FIFO 打开MHS文件&#xff0c;并为每个AXI主机设置启用寄存器切片/启用数据FIFO。到 确定正确的设置&#xff0c;使用下表中的信息搜索MHS。 进行搜索时&#xff0c;将<intf_name>替换为相关的BUS_INTERFACE名称。 例如&#xff0c;BUS_INTE…

Docker部署SpringBoot项目(jar包+Mysql)

部署Java项目 项目准备准备Java项目镜像准备配置网络 部署项目细节展示 项目准备 准备Java项目 hmall项目是一个maven聚合项目&#xff0c;使用IDEA打开hmall项目&#xff0c;查看项目结构如图&#xff1a; 我们要部署的就是其中的hm-service&#xff0c;其中的配置文件采用…

《一地霜白》读书笔记

1.3.6 街灯明灭&#xff0c;勾缀成行&#xff0c;为了生者与死者 “很多年过去了。回头看&#xff0c;沿着一排暗中的街灯&#xff0c;两三盏灭了&#xff0c;郁闷中有意外的欣喜&#xff1a;街灯明灭&#xff0c;勾缀成行&#xff0c;为了生者与死者。” 童年、青少年在人的…

还在使用Swagger吗?ApifoxHelper插件隆重登场

目录 前言 安装Apifox Idea插件安装 插件令牌配置 获取令牌 Idea配置令牌 快速上手 同步文档 查看文档 结语&#xff1a; 前言 最近发现一款特别好用的插件&#xff0c;帮助开发者快速生成接口文档。ApifoxHelper插件实现代码零侵入&#xff0c;只需要写上相应注释即可…