CF1837 A-D

article/2025/8/19 4:21:05

A题

题目链接:https://codeforces.com/problemset/problem/1837/A

 基本思路:

    要求计算蚂蚱到达位置 x最少需要多少次跳跃,并输出蚂蚱的跳跃方案。因为每次可以向左或向右跳跃一定距离(距离必须为整数),但是不能跳到距离为 k 的整数倍的位置上。又因为2\leq k\leq 100,所以分两种情况讨论。第一种情况:x%k==0,时,先跳x-1的距离,再跳1的距离,最后到达x点。第二种情况:x%k!=0时,可以直接跳到x点。

AC代码:

#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
typedef long double db;
void solve()
{int x, k;cin >> x >> k;if (x % k == 0){cout << 2 << endl;cout << x - 1 << " " << 1 << endl;}else{cout << 1 << endl;cout << x << endl;}
}
int main()
{int t;cin >> t;while (t--){solve();}return 0;
}

B题

题目链接:https://codeforces.com/problemset/problem/1837/B

 基本思路:

    因为要求出与 字符串s 相容的所有数列中花费最小的数列的花费。所以只需要求出连续子串“<<<......”或“>>>......”的最大的长度,最后再+1即可。

AC代码:

#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
using namespace std;
typedef long long ll;
typedef long double db;
void solve()
{int n;cin >> n;string s;cin >> s;int res = 0, maxx = 0;char op = s[0];for (int i = 0; i < n; i++){if (op == s[i]){res++;maxx = max(maxx, res);}else{maxx = max(maxx, res);res = 1;op = s[i];}}cout << maxx + 1 << endl;
}
int main()
{int t;cin >> t;while (t--){solve();}return 0;
}

C题

题目链接:https://codeforces.com/problemset/problem/1837/C

基本思路:

    因为构造的字符串要使通过“反转”操作使原字符串成为升序的操作次数尽可能的小。因此我们可以先求出从左到右第一个不是'?'的字符,并用变量op将其保存,之后从左到右依次遍历字符串s,当s[i]=='?'时,用op对其进行赋值,当碰到s[i]!='?'时,将s[i]赋值给变量op,起到更新的作用。最后将字符串s打印输出即可。

AC代码:

#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
using namespace std;
typedef long long ll;
typedef long double db;
void solve()
{string s;cin >> s;char op = '0';for (int i = 0; i < s.length(); i++){if (s[i] != '?'){op = s[i];break;}}for (int i = 0; i < s.length(); i++){if (s[i] == '?'){s[i] = op;}else{op = s[i];}}cout << s << endl;}
int main()
{int t;cin >> t;while (t--){solve();}return 0;
}

 D题

题目链接:https://codeforces.com/problemset/problem/1837/D

基本思路:

    因为一个括号序列是否优美,必须满足以下两个条件中的任意一个:

    1、序列的任意一个前缀中,左括号的个数不少于右括号的个数,且整个序列中,左括号的个数等于右括号的个数。

    2、序列的任意一个前缀中,右括号的个数不少于左括号的个数,且整个序列中,左括号的个数等于右括号的个数。

    题目要求:给定一个括号序列,你需要把它分成若干组,使得每一组的括号构成的序列都是优美的。求最少需要分成多少组,并输出分组方案。如果无解,输出 −1。

    首先,当“(”的数量和“)”的数量不相等时,一定无法构成优美的括号序列。

    当能构成优美的括号序列时,因为括号序列是否优美,需要满足上述两个条件中的任意一个,因此最多可以将序列分为2组,一组满足第一种情况,另一组满足第二种情况。

    因此,我们只需要从左到右遍历整个序列,op作为临时变量存储第一个出现的括号,以此来表示这个字符应该属于第一种还是第二种。maxx存储该字符属于第几种的数字。cnt代表最少需要分成多少组。res表示当前组是否划分完毕,如果等于0,表示当前序列已经划分到了maxx组中,之后再对后续序列进行判断划分。

AC代码:

#include <iostream>
#include <algorithm>
#include <string>
#include <cmath>
using namespace std;
typedef long long ll;
typedef long double db;
void solve()
{int n, a[200005];cin >> n;string s;cin >> s;int ans1 = 0, ans2 = 0;for (int i = 0; i < n; i++){if (s[i] == '(')ans1++;else ans2++;}if (ans1 != ans2){cout << -1 << endl;}else{int res = 0, maxx = 1, cnt = 0;char op = s[0];for (int i = 0; i < n; i++){if (res == 0)op = s[i];if (s[i] == op){a[i] = maxx;cnt = max(cnt, maxx);res++;}else{if (res > 0){res--;a[i] = maxx;}if (res == 0 && i + 1 < n && s[i + 1] != op){if (maxx == 1){maxx++;}else{maxx--;}}}}cout << cnt << endl;for (int i = 0; i < n; i++){cout << a[i] << " ";}cout << endl;}
}
int main()
{int t;cin >> t;while (t--){solve();}return 0;
}

 


http://chatgpt.dhexx.cn/article/C1NNUAJQ.shtml

相关文章

npm不是内部命令或外部命令

如上&#xff0c;看到npm -v 或者安装软件时&#xff0c;经常跳出的问题。npm需要加入环境变量中。 如上图片&#xff0c;新建两个文件 node_global\npm&#xff0c;并加入环境变量中。 D:nodejs\node_modules\npm路径下找到.npmrc文件&#xff0c;将其内容改为 prefixD:\node…

启动VUE工程时,出现npm不是内部命令

出现npm不是内部命令&#xff0c;然后查询node -v&#xff0c;也发现node不是内部命令。 所以定位应该是nodejs的问题&#xff0c;因为我的nodejs已经安装了&#xff0c;所以最大的可能就是没有配置环境变量或者配置的不对。 解决步骤&#xff1a; 1.设置环境变量&#xff1…

nvm安装node后npm不是内部命令

nvm install时先下载node&#xff0c;然后下载npm&#xff0c; 下载npm时在node安装目录中会出现temp文件夹&#xff0c;其中有npm压缩包 1、及时将npm压缩包复制出来&#xff0c;不然过会就被删除了 2、解压缩 查看安装目录 使用11.0.0版本 node能够使用&#xff0c;npm不能…

'npm' 不是内部或外部命令,也不是可运行的程序

使用npm命令提示: ‘npm’ 不是内部或外部命令&#xff0c;也不是可运行的程序 在安装nodejs时候&#xff0c;有时候我们会把它安装在d盘或别的盘时&#xff0c;经常会遇到npm环境变量没有配好&#xff0c;需要自己手动去配置。 nodejs在nodejs官网下载后直接点击安装 在安装完…

解决办法‘npm‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

今天使用了nvm这个node的保姆级版本管理工具,的确很香。 首先打开官网nvm.uihtm.com/ 下载安装过程很顺利&#xff0c;但是验证node及npm是否安装成功时&#xff0c;出现下面错误提示。 C:\Users\Administrator>npm -v npm 不是内部或外部命令&#xff0c;也不是可运行的…

npm不是内部命令也不是外部可运用程序

在安装好nodejs之后发现每次执行npm命令的时候都会报错&#xff1a;npm不是内部命令也不是外部可运用程序 如下&#xff1a; 百度了很久了没有找到解决办法&#xff0c;最后通过https://blog.csdn.net/qq_41542894/article/details/80330108这篇文章才得以搞定 具体办法就是修…

idea中执行“npm”命令,提示‘node‘ 不是内部或外部命令,也不是可运行的程序

问题描述&#xff1a;idea中执行“npm”命令&#xff0c;提示‘node‘ 不是内部或外部命令&#xff0c;也不是可运行的程序 前提&#xff1a;首先确保自己安装的node.js 环境变量配置成功 解决办法&#xff1a; 重启idea&#xff0c;以管理员身份运行idea&#xff01;&#xf…

nvm安装node后,在使用npm指令时候显示不是内部或外部指令

问题回放 前段时间重装了电脑系统&#xff0c;重新下载了nvm来管理node版本&#xff0c;当时下载的时候可能没有注意&#xff0c;今天用npm的时候就报错npm不是内部或外部指令。 思来想去百度了看看&#xff0c;说是环境变量的问题&#xff0c;我安装nvm的时候改的D盘&#x…

nvm安装node后npm run dev一直报node不是内部或外部命令

nvm安装包下载地址https://github.com/coreybutler/nvm-windows/releases 找到nvm-setup.zip&#xff0c;解压安装即可 如果打不开&#xff0c;也可以在这里下载 链接&#xff1a;https://pan.baidu.com/s/1EvC6oTff1uPD20_RRR9SGQ 提取码&#xff1a;9ztx 安装node nvm inst…

nvm管理node版本 nodenpm不是内部或外部命令,也不是可运行的程序

最近&#xff0c;有新老项目一起开发&#xff0c;node版本太高&#xff0c;老项目起不来&#xff1b;node版本太低&#xff0c;新项目还搭不起来…所以&#xff0c;一个nvm就显得很有必要了。这几个坑掉的&#xff0c;摔的我差点起不来… 废话少说就是&#xff1a; 用管理员身…

解决 npm‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件

按照网上的方法使用nvm install命令下载&#xff0c;出现 npm‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 显示npm安装完成缺报错。环境变量系统自己配好&#xff0c;也没问题。 打开mvn文件夹一看&#xff0c;npm并没有下好&#xff0c;怪不得报错&#xff0c;…

【无标题】cmd命令窗口显示‘npm‘ 不是内部或外部命令

在cmd命令窗口显示上图信息时&#xff0c;大部分是因为nodejs没有装上&#xff0c;如果装上了nodejs&#xff0c;那就是因为没有正确在环境变量里配置路径。配置路径&#xff1a; &#xff08;1&#xff09;新建变量 NODE_PATH D:\Program Files\nodejs; &#xff08;2&#…

使用nvm下载node版本之后,输入npm报错:“npm”不是内部或外部命令,也不是可运行的程序或批处理文件(nvm使用二)

在使用nvm安装node版本成功之后&#xff0c;输入npm发现npm并没有安装成功&#xff0c;在网上查阅资料&#xff0c;发现可能是由于安装的那个node版本是不带npm包的&#xff0c;可以尝试安装一下其他版本的node&#xff0c;我在安装了第二个node版本之后&#xff0c;发现npm已经…

解决“npm不是内部或外部命令“

在使用npm的时候&#xff0c;或者是通过npm下载了一些包&#xff0c;使用这些包的时候&#xff0c;有时候会遇到“npm 不是内部或外部命令”&#xff0c;或者“XXX 不是内部或外部命令”。这种情况一般都是由于安装node.js的时候&#xff0c;环境变量没有配置好。这里把如何配置…

安装nvm 后npm不是内部或外部命令,也不是可运行的程序的处理方法

全年无休&#xff0c;24小时待命 只要有朋友需要重装电脑&#xff0c;买新电脑&#xff0c;维修电脑&#xff0c;都会找程序员哥哥&#xff0c;他们是会写代码&#xff0c;不见的就会修理电脑啊。真是大家对程序员的错误认知。 学不完的新技术&#xff0c;三天不学习就感觉落…

通过管理员模式 解决idea中 “npm不是内部或外部命令“

这个前提一般就是你的nodejs其实已经是装好了&#xff0c;环境也设置好了&#xff0c;但是你的idea仍然无法使用这个npm的命令 那么原因很有可能是你用了utool之类的工具&#xff0c;导致打开软件的时候基本上是没有管理员权限的 解决方案&#xff1a; 就是你直接用win中找出…

解决安装了node.js在cmd中node npm不是内部命令

解决办法&#xff1a; 1、此电脑邮件选择高级系统设置-选择环境变量 2、在系统变量中找到path-编辑 3、把node.js安装的地址复制下来添加到环境变量中 4、点击确定&#xff0c;然后在cmd

Vscode编辑器使用npm 进行依赖安装出现npm 不是内部和外部命令

Vscode编辑器使用npm 进行依赖安装出现npm 不是内部和外部命令 问题描述——Vscode 使用不了 npm 命令 但是在win系统命令窗口可以使用npm命令 解决方法 vscode使用npm如上面 win系统使用命令查看如下面&#xff1a; 问题原因 vscode里面还是 ps命令终端&#xff0c;要改成…

$ npm 不是内部命令

$ npm 不是内部命令 这一天&#xff0c;上头来了命令 让我去搞搞移动端 难整啊 咱是后端人员哪儿懂这个 结果拉了个群 是个部门妹子带 你看看 那就学呗 工具&#xff1a;vscode 环境&#xff1a;node https://nodejs.org/zh-cn/download/ 框架环境&#xff1a;Ionic-cli 本来安…