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

C++笔试强训day42

目录

1.最大差值

2.兑换零钱

3.小红的子串


1.最大差值

链接icon-default.png?t=N7T8https://www.nowcoder.com/practice/a01abbdc52ba4d5f8777fb5dae91b204?tpId=182&tqId=34396&rp=1&ru=/exam/company&qru=/exam/company&sourceUrl=%2Fexam%2Fcompany&difficulty=2&judgeStatus=undefined&tags=&title=

因为b >= a,所以可以在遍历数组的时候更新所遍历到的最小值以及返回值即可

class Solution {public:int getDis(vector<int>& A, int n) {int ret = -0x3f3f3f3f;int l = 0, r = l + 1;while (r < n) {ret = max(A[r] - A[l], ret);if (A[r] < A[l]) {l = r;}r++;}return ret < 0 ? 0 : ret;}
};

2.兑换零钱

链接icon-default.png?t=N7T8https://www.nowcoder.com/practice/67b93e5d5b85442eb950b89c8b77bc72?tpId=230&tqId=40432&ru=/exam/oj

每个值代表一种面值的货币,每种面值的货币可以使用任意张

根据题意,可以分析出这是一道完全背包类型的题目:

直接分析状态转移方程和注意初始化的细节即可

#include <cstring>
#include <iostream>
using namespace std;
const int N = 10010;int w[N];
int dp[5010];
int n, aim;
int main()
{cin >> n >> aim;for(int i = 1; i <= n; ++i)cin >> w[i];memset(dp, 0x3f3f3f3f, sizeof dp);dp[0] = 0;for(int i = 1; i <= n; ++i){for(int j = w[i]; j <= aim; ++j){dp[j] = min(dp[j], dp[j - w[i]] + 1);}}cout << (dp[aim] == 0x3f3f3f3f ? -1 : dp[aim]) << endl;return 0;
}

3.小红的子串

链接icon-default.png?t=N7T8https://ac.nowcoder.com/acm/problem/260770

若种类的范围为 【1,x】的话,则满足条件的数组区间内方案数则为 right - left + 1,因此可以将种类范围想办法变为【1,x】,最后用【1,r】 - 【1,l】即可

滑动窗口遍历数组:(数据范围过大,注意开long long

#include <iostream>
#include <cstring>
#define int long long
using namespace std;int n, l, r;
char s[200010];int find(int x)
{if(x == 0)return 0;int cnt[26] = { 0 };int kind = 0, ret = 0;int L = 1, R = 1;while(R <= n){if(cnt[s[R] - 'a']++ == 0)kind++;while(kind > x){if(cnt[s[L++] - 'a']-- == 1)kind--;}ret += R - L + 1;R++;}return ret;
}signed main()
{cin >> n >> l >> r;for(int i = 1; i <= n; ++i)cin >> s[i];cout << find(r) - find(l - 1) << endl;return 0;
}
http://www.lryc.cn/news/368047.html

相关文章:

  • Docker 中运行的 MySQL 数据库与 Docker 外部的管理系统连接
  • 10 设备树
  • 【架构分析】GPU执行GEMM矩阵运算实例演示
  • 从《千脑智能》看大模型
  • k8s Pods漂移时间配置
  • Python - json 美化格式、保存文件
  • 博客目录~
  • RPC RMI 区别以及在java中的应用
  • TCP和udp能使用同一个端口通讯吗
  • 红黑树的介绍与实现
  • easyexcel将csv转为excel处理数字问题
  • DDMA信号处理以及数据处理的流程---随机目标生成
  • 爬虫实现思路
  • 神经网络 torch.nn---Non-Linear Activations (ReLU)
  • 【微服务】使用kubekey部署k8s多节点及kubesphere
  • 目标检测数据集 - 垃圾桶满溢检测数据集下载「包含VOC、COCO、YOLO三种格式」
  • 6.9总结(省赛排位赛1)
  • 58.CountdownLatch
  • Java数据结构准备工作---常用类
  • SD 使用教程
  • Sylar---协程调度模块
  • iOS Hook 崩溃
  • 区间预测 | Matlab实现LSTM-ABKDE长短期记忆神经网络自适应带宽核密度估计多变量回归区间预测
  • linux内核下rapidio(TSI721)相关笔记汇总
  • 从GPT-4到GPT-4o:人工智能的进化与革命
  • 【Java】/*抽象类和接口*/
  • TCP/IP协议介绍——三次握手四次挥手
  • [C++]基于C++opencv结合vibe和sort tracker实现高空抛物实时检测
  • Apache Doris 基础 -- 数据表设计(模式更改)
  • 【机器学习】【遗传算法】【项目实战】药品分拣的优化策略【附Python源码】