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

【day02】牛牛的快递 | 最小花费爬楼梯 | 数组中两个字符串的最小距离

1.牛牛的快递

题目链接:牛牛的快递_牛客题霸_牛客网

算法思路:

模拟:分情况讨论即可。(ceil函数)

#include <bits/stdc++.h>using namespace std;#define int long longsigned main()
{double a;char b;cin >> a >> b;int ret = 0;if(a <= 1) ret += 20;else{ret += 20;a -= 1;ret += ceil(a);}if(b == 'y') ret += 5;cout << ret << endl;return 0;
}

2.最小花费爬楼梯

题目链接:最小花费爬楼梯_牛客题霸_牛客网

算法思路:

简单线性dp。

#include <bits/stdc++.h>using namespace std;#define int long longconst int N = 1e5 + 10;
int dp[N];
int cost[N];signed main()
{int n;cin >> n;for(int i = 0;i < n;i ++) cin >> cost[i];for(int i = 2;i <= n;i ++){dp[i] = min(dp[i - 1] + cost[i - 1] , dp[i - 2] + cost[i - 2]);}cout << dp[n] << endl;return 0;
}

3.数组中两个字符串的最小距离

算法思路:

⼩贪⼼,或者是⼩dp:

⽤ prev1 标记 i 位置之前最近⼀次出现的第⼀个字符串的下标;

⽤ prev2 标记 i 位置之前最近⼀次出现的第⼆个字符串的下标。

#include <bits/stdc++.h>using namespace std;#define int long longsigned main()
{int n;string s1 , s2;string s;cin >> n;cin >> s1 >> s2;int prev1 = -1 , prev2 = -1 , ret = 0x3f3f3f3f;for(int i = 0;i < n;i ++){cin >> s;if(s == s1){if(prev2 != -1){ret = min(ret , i - prev2);}prev1 = i;}if(s == s2){if(prev1 != -1){ret = min(ret , i - prev1);}prev2 = i;}}if(ret == 0x3f3f3f3f) cout << -1 << endl;else cout << ret << endl;return 0;
}

相关文章:

  • UNet 改进(22):结合Transformer结构
  • 【RocketMQ Broker 相关源码】- broker 启动源码(1)
  • 「Mac畅玩AIGC与多模态17」开发篇13 - 条件判断与分支跳转工作流示例
  • 看图建模实战训练案例(上)
  • 无人机视觉:连接像素与现实世界 —— 像素与GPS坐标双向转换指南
  • K230的ISP(图像信号处理器)通常支持多通道输出,常见配置为3个独立通道
  • 文氏管-文丘里-旋风除尘组合装置JGQ531高效湿式除尘器实验装置平台
  • 51单片机入门教程——每个音符对应的重装载值
  • Winform(10.常用控件3)
  • 线程池的线程数配置策略
  • 12.Excel:查找替换
  • xx外卖知识补充
  • PostgreSQL 的 pg_stat_file 函数
  • NPP库中libnppicom模块介绍
  • c++ 之 cout
  • Javase 基础加强 —— 02 泛型
  • mq消息可靠性传送
  • 神经网络模型深度解析——从线性分类到动态记忆的理论与实践
  • 网络:TCP三次握手、四次挥手
  • 在有限的内存中计算超限数据的重复值
  • 英国警方再逮捕一名涉嫌参与首相住宅纵火案嫌疑人
  • 美国失去最后一个AAA评级,资产价格怎么走?美股或将触及天花板
  • 浙江一家长称小学老师打孩子还威胁要从3楼扔下,当地警方已立案
  • 杨建全已任天津市委副秘书长、市委市政府信访办主任
  • 河南一女子被医院强制带走治疗,官方通报:当值医生停职
  • 工人日报:应对“职场肥胖”,健康与减重同受关注