牛客周赛 Round 2

news/2025/1/16 5:45:39/

小红的环形字符串小红的环形字符串

题目描述
小红拿到了一个环形字符串s。所谓环形字符串,指首尾相接的字符串。
小红想顺时针截取其中一段连续子串正好等于t,一共有多少种截法?在这里插入图片描述在这里插入图片描述

思路分析

环形问题。

  • 将字符串 s 拼接自身,得到新的字符串 tem,用于处理环形问题

时间复杂度

O(n * m)

代码

#include <iostream>
#include <string>
using namespace std;int main() {string s, t;cin >> s >> t;int n = s.length(), m = t.length();string tem = s + s;int cnt = 0;for (int i = 0; i < n; i++) {if (tem.substr(i, m) == t) {cnt++;}}cout << cnt << endl;return 0;
}

相邻不同数字的标记

题目描述
小红拿到了一个数组,每个数字被染成了红色或蓝色。
小红有很多次操作,每次操作可以选择两个相邻的不同颜色的数字标记,并获得它们数字之和的得分。已经被标记的数字无法再次标记。
小红想知道,自己最多能获得多少分。
在这里插入图片描述在这里插入图片描述

思路分析

使用动态规划来解决该问题。定义一个数组 dp,其中 dp[i] 表示在第 i 个位置时,小红能够获得的最高得分。

  • 如果数组中第 i 和 i-1 个数字颜色相同,则不能进行标记操作,此时 dp[i] = dp[i-1]。
  • 如果数组中第 i 和 i-1 个数字颜色不同,则小红可以选择标记这两个数字,并获得它们的和作为得分。此时 dp[i] = dp[i-2] + a[i-1] + a[i]。

时间复杂度

O(n)

代码

#include <iostream>
using namespace std;
long long a[100005], dp[100005];
char b[100005];
int main() {int n;cin >> n;long long ans=0;for (int i = 1; i <= n; i++)cin >> a[i];cin >> b + 1;for (int i = 2; i <= n; i++) {if (b[i] == b[i-1])dp[i] = dp[i-1];elsedp[i] = max(dp[i-1],dp[i-2]+a[i-1]+a[i]);}cout << dp[n] << endl;return 0;
}

小红的俄罗斯方块

在这里插入图片描述在这里插入图片描述在这里插入图片描述

思路分析

模拟+找规律

时间复杂度

O(n)

代码

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;int main() {int n;cin >> n;vector<int> cols(9, 0);for (int i = 0; i < n; i++) {int a, b;cin >> a >> b;if (a == 0) {int low = max(cols[b], cols[b + 1]);cols[b] = low + 3;cols[b + 1] = low + 1;} else if (a == 90) {int t2 = max(cols[b + 1], cols[b + 2]);if (t2 >= cols[b] + 1) {cols[b] = t2 + 1;cols[b + 1] = t2 + 1;cols[b + 2] = t2 + 1;} else {t2 = cols[b];cols[b] = t2 + 2;cols[b + 1] = t2 + 2;cols[b + 2] = t2 + 2;}} else if (a == 180) {if (cols[b] >= cols[b + 1] + 2) {int low = cols[b];cols[b] = low + 1;cols[b + 1] = low + 1;} else {int low = cols[b + 1];cols[b] = low + 3;cols[b + 1] = low + 3;}} else if (a == 270) {int low = max({cols[b], cols[b + 1], cols[b + 2]});cols[b] = low + 1;cols[b + 1] = low + 1;cols[b + 2] = low + 2;}}string res = "";for (int i = 1; i < 9; i++) {res += to_string(cols[i]) + " ";}cout << res << endl;return 0;
}

更易理解代码(摘自牛客942535076号 ):

#include<bits/stdc++.h>
using namespace std;
int main()
{int n,s[10]={0};cin>>n;for(int i=1;i<=n;i++){int a,b,h;cin>>a>>b;if(a==0){h=max({s[b],s[b+1]});s[b]=h+3,s[b+1]=h+1;}else if(a==90){h=max({s[b],s[b+1]-1,s[b+2]-1});s[b]=h+2,s[b+1]=h+2,s[b+2]=h+2;}else if(a==180){h=max({s[b]+1,s[b+1]+3});s[b]=h,s[b+1]=h;}else {h=max({s[b],s[b+1],s[b+2]});s[b]=h+1,s[b+1]=h+1,s[b+2]=h+2;}
//         for(int i=1;i<=8;i++)cout<<s[i]<<" ";
//         cout<<endl;}for(int i=1;i<=8;i++)cout<<s[i]<<" ";
}

http://www.ppmy.cn/news/834224.html

相关文章

css基础知识十九:让Chrome支持小于12px 的文字方式有哪些?区别?

一、背景 Chrome 中文版浏览器会默认设定页面的最小字号是12px&#xff0c;英文版没有限制 原由 Chrome 团队认为汉字小于12px就会增加识别难度 中文版浏览器 与网页语言无关&#xff0c;取决于用户在Chrome的设置里&#xff08;chrome://settings/languages&#xff09;把…

学术英语UNIT1~UNIT4知识点总结

目录 UNIT 1 1.Deciding on topic --AMI 2.Writing a working title 3.Literacy Skills--Avoiding plagiarism 4.Literacy Skills--citation and referring skills 5.Literacy Skills--quoting 6.Literacy Skills--summarizing UNIT2 1.Academic Writing -searching…

解决Pr在win10系统上安装不上问题 Pr2021版-Premiere Pro 2021中文正式版安装教程

Adobe Premiere Pro 2021 for mac 15.2 是一款专业的视频剪辑软件&#xff0c;Premiere Pro 2021 集成了视频采集、剪辑、调色、美化音频、添加字幕等功能&#xff0c;可以帮助你制作电影、宣传片或者抖音视频等。 ps&#xff1a;本次小编为用户们带来的pr2021中文正式版安装教…

anacoda里面安装包显示失败_Premiere2020安装包下载及安装教程(附pr2020配置要求)...

近两年随着短视频行业的兴起,视频剪辑以及后期制作成为炙手可热的职业。Premiere作为影视动画的必备软件,其功能功能强悍,拥有各种强大且丰富的视频编辑功能,可以帮助用户在一个无缝的集成工作流程中轻松编辑、调整颜色、调校音视频等,特意通过Premiere2020安装包下载及安…

git PR合并提交(rebase方式)

一、参考资料 Gitee 工作流说明 二、常用指令 # 继续添加提交 # 您可能会在前次提交的基础上&#xff0c;继续编辑构建并测试更多内容&#xff0c;可以使用 commit --amend 继续添加提交。 git commit --amendgit push -f三、合并提交&#xff08;rebase方式&#xff09; re…

电脑安装不了pr提示不满足系统要求怎么办?

最近有小伙伴反映&#xff0c;自己的电脑一安装pr就出现不满足系统要求&#xff0c;换了各种版本都不行&#xff0c;遇到这种情况要怎么解决呢&#xff1f;我们一起来看看吧&#xff01; 这种情况有可能是电脑配置太低&#xff0c;不满足PR安装的最低要求。 CPU型号较老&#x…

台式电脑网络连接配置异常_adobe pr软件编辑4k高清大码率视频的机器配置要求...

带hd610核显的处理器&#xff0c;pr编辑视频时可以流畅拉动进度条 最近一段时间&#xff0c;我遇到pr软件编辑4k视频的小麻烦&#xff0c;经过几次实验后终于基本理清了这里面的一些门道&#xff0c;对于即将或者已经遇到需要用pr软件编辑4k高清视频的朋友&#xff0c;应该有所…

c语言软件对电脑配置要求高吗,请问学软件工程需要高配置的电脑吗?

回答&#xff1a; 首先是处理器的选择上&#xff0c;按照Adobe的说法&#xff0c;PR是吃核心数的&#xff0c;而AE更依赖单核的性能&#xff0c;所以如果你主要用PR&#xff0c;那么多核心的处理器是必须的&#xff0c;而还有做AE特效的话&#xff0c;那么最好处理器的主频也要…