蓝桥杯(C++ 左移右移 买二增一 松散子序列 填充 有奖问答 更小的数 )

目录

左移右移

思路:

代码: 

买二增一 

思路:

代码: 

 松散子序列

思路:

代码:

 填充

思路:

代码 :

 有奖问答

思路:

代码: 

更小的数

思路:

代码:

左移右移

思路:

1、用权重的思路,初始权值为该数值

2、将改变权值初始为cval=n+1,当之后出现某数,

      为L则,权值赋为-cval, cval++;

      为R则,权值赋为cval,cval++。

3、最后根据权值排序

代码: 

#include<iostream>
#include<algorithm>
using namespace std;
struct node
{int num;int val;
}a[200010];
bool cmp(node a,node b)
{return a.val < b.val;
}
int main()
{int n, m;cin >> n >> m;for (int i = 1; i <= n; i++){a[i].num = i;a[i].val = i;}int cval = n + 1;while (m--){int t;char b;cin >> b >> t;if (b == 'L'){a[t].val = -cval;cval++;}else{a[t].val = cval;cval++;}}sort(a + 1, a + n + 1, cmp);for (int i = 1; i <= n; i++)cout << a[i].num << " ";
}

买二增一 

思路:

 1、用一个优先队列q(大根堆)存储价格

 2、再用一个队列cost存储,每买两个可以赠送的最大价格,当cost的队头大于等于q的队头,说明该q队头价格可以赠送,直接出队。

 3、用ans存储总价格

代码: 

#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
typedef long long ll;
int main()
{priority_queue<ll> q, cost;int n,t;cin >> n;while (n--)cin >> t, q.push(t);ll ans = 0;while (!q.empty()){while (!cost.empty() && !q.empty() && cost.top() >= q.top())cost.pop(), q.pop();int maxp=0, minp=0;if (!q.empty())maxp = q.top(), q.pop();while (!cost.empty() && !q.empty() && cost.top() >= q.top())cost.pop(), q.pop();if (!q.empty())minp = q.top(), q.pop();//cout << maxp << " " << minp;ans += maxp + minp;cost.push(minp / 2);}cout << ans;
}

 松散子序列

思路:

1、用一个动态规划

代码:

#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
typedef long long ll;
int main()
{string s;cin >> s;int dp[1000005] = { 0 };dp[0] = s[0] - 'a' + 1;dp[1] = max(dp[0], s[1] - 'a' + 1);for (int i = 2; i < s.length(); i++){dp[i] = max(dp[i - 1], dp[i - 2] + (s[i] - 'a' + 1));}cout << dp[s.length() - 1];
}

 填充

思路:

1、用flag记录是否是00或者11子串

2、从第二个开始,用这一个与前一个比较是否相等(偶数比奇数)

代码 :

#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
typedef long long ll;
int main()
{string s;cin >> s;int flag[10000005];ll ans = 0;for (int i =1; i < s.length(); i++){if (flag[i - 1])continue;if (s[i] == s[i - 1] || s[i - 1] == '?' || s[i] == '?'){flag[i] = 1;ans++;}}cout << ans;
}

 有奖问答

思路:

1、用动态规划

2、分两种情况:

      第一种:第i题没有做对,方案数等于i-1题的所有方案数和

      第二种:第i题做对,得到j分,方案数等于上一题方案数得j-10分的方案数

3、当得分为70时,加上该可能的所有方案数

代码: 

#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
typedef long long ll;
int main()
{ll ans = 0;int dp[35][100] = { 0 };dp[1][0] = dp[1][10] = 1;//第一题可能得10分或者0分for(int i=2;i<=30;i++)//从第二题开始到三十题for (int j = 0; j <= 90; j += 10)//0到90的方案数{if (j == 0)//该题没做对,方案数等于i-1题的所有方案数{for (int k = 0; k <= 90; k += 10){dp[i][0] += dp[i - 1][k];}}else//该题做对了,方案数等于上一题做完该题得多少分-10的方案数{dp[i][j] = dp[i - 1][j - 10];if (j == 70) ans += dp[i][j];//等于70,方案数加上}}cout << ans;
}

更小的数

 

思路:

1、用动态规划

代码:

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
typedef long long ll;
int main()
{string s;cin >> s;int dp[5010][5010];s = " " + s;for (int i = 2; i < s.length(); i++){for (int j = 1; j + i - 1 < s.length(); j++){int l = j, r = j + i - 1;if (s[l] == s[r])dp[l][r] = dp[l + 1][r - 1];else if (s[l] < s[r])dp[l][r] = 0;elsedp[l][r] = 1;}}ll ans = 0;for (int i = 1; i < s.length(); i++)for (int j = i; j < s.length(); j++)ans += dp[i][j];cout << ans;
}

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

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

相关文章

3dmax贴视频纹理

1、准备视频文件 需要avi格式的视频文件 2、创建模型 3、添加纹理 纹理选择avi视频 4、播放

四川尚熠电子商务有限公司引领抖音电商新潮流

随着抖音的火爆&#xff0c;越来越多的商家开始重视抖音电商服务&#xff0c;希望在这个庞大的平台上掘金。四川尚熠电子商务有限公司作为一家专业的抖音电商服务商&#xff0c;凭借其独特的运营策略和专业的服务团队&#xff0c;成为了商家在抖音电商领域的可靠伙伴。 四川尚熠…

C/C++ LeetCode:跳跃问题

个人主页&#xff1a;仍有未知等待探索-CSDN博客 专题分栏&#xff1a;算法_仍有未知等待探索的博客-CSDN博客 题目链接&#xff1a;45. 跳跃游戏 II - 力扣&#xff08;LeetCode&#xff09; 一、题目 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元…

开源CRM客户管理系统-FeelCRM

FeelCRM客户管理系统 开源项目介绍 FeelCRM客户管理系统&#xff0c;符合中小企业业务流程&#xff1b;支持线索管理、客户管理、商机管理、合同管理、审核管理等多个模块&#xff1b;希望能为广大中小企业以及开发者们提供一个更多的可能性&#xff1b;本版本是我公司跨语言…

《从零开始制作消除游戏:基于Web技术的简单教程》

在撰写《从零开始制作消除游戏&#xff1a;基于Web技术的简单教程》这篇博客时&#xff0c;主要的目标是提供一个清晰、逐步的指南&#xff0c;帮助读者从零开始创建自己的消除游戏。 游戏逻辑实现 游戏板设计与初始化&#xff1a;描述如何创建游戏板的数据结构&#xff0c;以…

区间dp/线性dp,HDU 4293 Groups

一、题目 1、题目描述 After the regional contest, all the ACMers are walking alone a very long avenue to the dining hall in groups. Groups can vary in size for kinds of reasons, which means, several players could walk together, forming a group.   As the …

使用Halcon匹配助手进行模板匹配

使用Halcon匹配助手进行模板匹配 文章目录 使用Halcon匹配助手进行模板匹配1. 选择匹配方法2. 创建模板3. 检测模板4. 优化匹配速度 使用Halcon匹配助手&#xff0c;可以很方便地选择模板图像&#xff0c;设置匹配参数&#xff0c;并测试匹配结果.Halcon匹配助手支持下面几种匹…

静态独享长效IP的优点有哪些?静态独享长效IP有哪些应用场景?

随着互联网的不断发展&#xff0c;IP地址作为网络通信中的重要标识&#xff0c;其重要性日益凸显。静态独享长效IP作为一种特殊的IP地址类型&#xff0c;具有许多优点&#xff0c;适用于多种应用场景。本文将详细介绍静态独享长效IP的优点以及适用场景。 一、静态独享长效IP的优…

25考研每日的时间安排

今天要给大家分享一下25考研每日的时间安排。 没有完美的计划&#xff0c;只有合适的计划。 仅供参考 很多人说复习不要只看时长而是要看效率&#xff0c;所以学多长时间不重要&#xff0c;重要的高效率完成任务。 完美的计划 这个计划看起来很完美&#xff0c;从早到晚有学习…

关于MySQL的基本查询(多表查询等)

1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); 创建score表。SQL代码如下&#xff1a; CREATE…

体验华为云对话机器人服务 CBS

&#x1f3e1;浩泽学编程&#xff1a;个人主页 &#x1f525; 推荐专栏&#xff1a;《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》 &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 前言一、开通…

开源的API Gateway项目- Kong基于OpenResty(Nginx + Lua模块)

Kong 是一个在 Nginx 内运行的开源 API 网关和微服务抽象层。它是用于处理 API 流量的灵活、可扩展、可插入的工具。 Kong 提供了以下功能&#xff1a; 用户登录&#xff1a;Kong 提供了多种认证插件&#xff0c;像 JWT、OAuth 2.0 等&#xff0c;可以满足用户登录需求。Toke…

CSDN年度回忆录(扫码的官方数据版本)

引言 官方搞了个活动 就是扫码 查看年度报告的 我印象中 这方面做的最好的就是 支付宝 每年都可以看到自己的钱花在哪里了 今年数据大概率清一色饮食 都汤姆花在了炒股上 这两天A股有点逆转的样子 但是我想说&#xff0c;不要去&#xff08;他在骗你的压岁钱&#xff09; …

CSS 实现 flex布局最后一行左对齐的方案「多场景、多方案」

目录 前言解决方案场景一、子项宽度固定&#xff0c;每一行列数固定方法一&#xff1a;模拟两端对齐方法二&#xff1a;根据元素个数最后一个元素动态margin 场景二、子项的宽度不确定方法一&#xff1a;直接设置最后一项 margin-right:auto方法二&#xff1a;使用:after(伪元素…

多场景建模:阿里MARIA

Multi-scenario ranking framework with adaptmulti-scenario ranking framework with adaptive feature learning 背景 多模态搜索场景支持用户通过不同模态的Query来表达多样的搜索需求。 拍照搜索&#xff08;Visual Search&#xff09;&#xff1a;实拍图作为query相似商…

【Godot4自学手册】第六节实现人物的挥剑操作

同学们好&#xff01;本节学习一下人物挥剑操作。 一、将鼠标左键单击设为输入映射 单击项目选择项目设置&#xff0c;在添加新动作填写sword&#xff0c;然后点击添加。在动作列表中,单击sword后面的加号&#xff0c;在弹出对话框中单击鼠标左键&#xff0c;最后单击确定&am…

Flink Checkpoint 超时问题和解决办法

第一种、计算量大&#xff0c;CPU密集性&#xff0c;导致TM内线程一直在processElement&#xff0c;而没有时间做CP【过滤掉部分数据&#xff1b;增大并行度】 代表性作业为算法指标-用户偏好的计算&#xff0c;需要对用户在商城的曝光、点击、订单、出价、上下滑等所有事件进…

Linux--基础开发工具篇(1)(yum)

1.Linux 软件包管理器 yum 1.1yum是什么&#xff1f;什么是软件包&#xff1f; yum是什么&#xff1f; yum是一个软件下载安装管理的一个客户端&#xff0c;就如小米应用商店&#xff0c;华为应用商城。 Linux中软件包可能有依赖关系--yum会帮助我们解决依赖关系的问题。 什么是…

使用OpenCV实现一个简单的实时人脸跟踪

简介&#xff1a; 这个项目将通过使用OpenCV库来进行实时人脸跟踪。实时人脸跟踪是一项在实际应用中非常有用的技术&#xff0c;如视频通话、智能监控等。我们将使用OpenCV中的VideoCapture()函数来读取视频流&#xff0c;并使用之前加载的Haar特征级联分类器来进行人脸跟踪。 …

GPTs 英语老师 现在不能发布为Averyone了 翻译 时态 结构 例句 一清二楚

https://chat.openai.com/g/g-l3S5WDgP7-english-teacher The crowd began to shout, but the drunk was unaware of the danger. 翻译为中文: 人群开始大声喊叫&#xff0c;但那个醉酒的人没有意识到危险。 分析时态和句子语法: 时态&#xff1a;这个句子使用的是过去时。语法…