强训专题

C++笔试强训12、13、14

文章目录 笔试强训12一、选择题1-5题6-10题 二、编程题题目一题目二 笔试强训13一、选择题1-5题6-10题 二、编程题题目一题目二 笔试强训14一、选择题1-5题6-10题 二、编程题题目一题目二 笔试强训12 一、选择题 1-5题 引用:是一个别名,与其被引用的实体公用一份内存空间,编译器不会给引用变量单独开辟新的空间。A错误 故选A。 A

笔试强训,[NOIP2002普及组]过河卒牛客.游游的水果大礼包牛客.买卖股票的最好时机(二)二叉树非递归前序遍历

目录 [NOIP2002普及组]过河卒 牛客.游游的水果大礼包 牛客.买卖股票的最好时机(二) 二叉树非递归前序遍历 [NOIP2002普及组]过河卒 题里面给的提示很有用,那个马的关系,后面就注意,dp需要作为long的类型。 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息publ

笔试强训day02

牛牛的快递 import matha,b = input().split()a = float(a)price = 20if a>1:price += math.ceil(a)-1if b=='y':price += 5print(price) 最小花费爬楼梯 #include <bits/stdc++.h>const int N = 1e5+10;int co

牛客笔试强训

牛客AB33.相差不超过k的最多数 (滑动窗口)  和之前那个空调吹风属于一道题的类型,当然滑动窗口,最大值-最小值,然后<=p即可 也可以双指针来取寻找最大值和最小值 import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息public class Main {public static void main(String[]

C++笔试强训day40

目录 1.游游的字母串 2.体育课测验(二) 3.合唱队形 1.游游的字母串 链接https://ac.nowcoder.com/acm/problem/255195 英文字母一共就26个,因此可以直接暴力枚举以每个字母作为最后的转变字母。最后去最小值即可 #include <iostream>#include <cmath>#include <string>u

C++笔试强训day39

目录 1.神奇的字母(二) 2.字符编码 3.最少的完全平方数 1.神奇的字母(二) 链接https://ac.nowcoder.com/acm/problem/205832 看输出描述即可知输出次数最多的那个字母即可。 哈希表直接秒了: #include <iostream>#include <string>using namespace std;int

比试强训介绍以及注意事项

强训不止一次,没有系统学过算法,不要着急参加,容易打击信心。 如何检验算法储备是否足够? 老师码云 检查自己看到每个算法标签时是否掌握下面三个问题: 是什么?如何实现?对应的经典例题能不能轻松解决?  现在算法储备还比较薄弱,先跟着题目不限时间和查阅慢慢跟,争取参加下次强训。

C++笔试强训day37

目录 1.旋转字符串 2.合并k个已排序的链表 3.滑雪 1.旋转字符串 链接https://www.nowcoder.com/practice/80b6bb8797644c83bc50ac761b72981c?tpId=196&tqId=37172&ru=/exam/oj 如果 A 字符串能够旋转之后得到 B 字符串的话,在 A 字符串倍增之后的新串中,⼀定是可以

C++笔试强训day36

目录 1.提取不重复的整数 2.【模板】哈夫曼编码 3.abb 1.提取不重复的整数 链接https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1?tpId=37&tqId=21232&ru=/exam/oj 按照题意模拟就行,记得从右往左遍历 #include <iostream>usin

C++笔试强训day35

目录 1.奇数位丢弃 2.求和 3.计算字符串的编辑距离 1.奇数位丢弃 链接https://www.nowcoder.com/practice/196141ecd6eb401da3111748d30e9141?tpId=128&tqId=33775&ru=/exam/oj 数据量不大,可以直接进行模拟: #include <iostream>#include <v

C++笔试强训day24

目录 1.判断是不是平衡⼆叉树 2.最大子矩阵 3.小葱的01串 1.判断是不是平衡⼆叉树 链接 简单递归即可。 class Solution {public:// 高度int hight(TreeNode* pRoot){if (pRoot == nullptr)return 0;int l = hight(pRoot->left);int r = hight(p

C++笔试强训day23

目录 1.打怪 2.字符串分类 3.城市群数量 1.打怪 链接 模拟题目,按题意进行模拟就行。 #include <iostream>using namespace std;// 简单模拟int solve(){int h, a, H, A;cin >> h >> a >> H >> A;if (a >= H)return -1;int cnt = 0;int

C++笔试强训day22

目录 1.添加字符 2.数组变换 3.装箱问题 常规一维优化: 1.添加字符 链接 因为lenA  <= lenB <= 50,因此可以无脑暴力解题: 遍历所有符合条件的匹配方法,找出最小的不同的数量,即最大的相同的数量 #include <iostream>using namespace std;int main() {string A;string B;c

【强训笔记】day22

NO.1 思路:将情况全部枚举出来。 代码实现: #include <iostream>#include<string>using namespace std;string a,b;int main(){cin>>a>>b;int m=a.size(),n=b.size();int ret=m;for(int i=0;i<=n-m;i++){int tmp=0;for(int j=

[笔试强训day08]

文章目录 HJ108 求最小公倍数NC95 数组中的最长连续子序列DP39 字母收集 HJ108 求最小公倍数 HJ108 求最小公倍数 #include<iostream>using namespace std;int a,b;int gcd(int a,int b){if(b==0) return a;return gcd(b,a%b);}int main(){

C++笔试强训day19

目录 1.小易的升级之路 2.礼物的最大价值 3.对称之美 1.小易的升级之路 链接 模拟就行,唯一可能是难点得就是gcd(最大公约数) #include <iostream>using namespace std;#define int long longconst int N = 1e5 + 10;int arr[N];int gcd(int a, in

【强训笔记】day20

NO.1 思路:先判断能对砍几个回合,取最小值,因为回合数是整数,所以可能存在都大于0的情况,再判断一下如果都存活就再对砍一次,直到一家存活或者都死亡。 代码实现: #include<iostream>using namespace std;typedef long long LL;LL a,h,b,k;int main(){cin>>a>>h>>b>>k;LL n=min(h/b,k/

【强训笔记】day18

NO.1 思路:双指针模拟。to_string将数字转化为字符。 代码实现: class Solution {public:string compressString(string param) {int left=0,right=0,n=param.size();string ret;while(right<n){while(right+1<n&&param[right]==param[

【强训笔记】day15

NO.1 代码实现: #include<iostream>#include<cmath>using namespace std;typedef long long ll;int main(){ll x;cin>>x;ll a=sqrt(x);ll x1=a*a,x2=(a+1)*(a+1);if(x-x1<x2-x) cout<<x1<<endl;else cout<<x2<<endl;

笔试强训Day18 字符串 排序 动态规划

[编程题]压缩字符串(一) 题目链接:压缩字符串(一)__牛客网 (nowcoder.com) 思路: 跟着思路写就完了。 AC code: #include <iostream>#include<string>using namespace std;string a;string ans;int main(){cin >> a;int j = 0;for(int i =

笔试强训Day19 数学知识 动态规划 模拟

[编程题]小易的升级之路 题目链接:小易的升级之路__牛客网 思路: 按题目写即可 注意辗转相除法。 AC code: #include<iostream>using namespace std;int gcd(int a, int b){return b ? gcd(b, a % b) : a;}int main() {int n, a;while (scanf("%d%

笔试强训Day16 字符串 基础算法 双指针

QR6 字符串替换 题目链接:字符串替换_牛客题霸_牛客网 (nowcoder.com) 思路:简单的字符串操作。 AC code: class StringFormat {public:string formatString(string A, int n, vector<char> arg, int m) {string ans;int pos = 0;for(int i =

【48天笔试强训】day18

题目1 描述 有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。 例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。 一月的时候有一只兔子,假如兔子都不死,问第n个月的兔子总数为多少? 数据范围:输入满足 1≤�≤31 1≤n≤31  输入描述: 输入一个int型整数表示第n个月 输出描述: 输出对应的兔子总数 示例1

笔试强训-day18_T1 NC101 压缩字符串(一)

一、题目链接 NC101 压缩字符串(一) 二、题目描述 利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2bc5a3。 1.如果只有一个字符,1不用写 2.字符串中只包含大小写英文字母(a至z)。 数据范围: 0<=字符串长度<=50000 要求:时间复杂度O(N) 示例1 输入:“aabcccccaaa” 返回值:“a2bc5a

笔试强训-day17_T2 十字爆破

一、题目链接 十字爆破 二、题目描述 牛牛在玩一个游戏: 一共有n行m列共nm个方格,每个方格中有一个整数。 牛牛选择一个方格,可以得到和这个方格同行、同列的所有数之和的得分。 例如:对于一个22的方格: 1 2 3 4 牛牛选择每个方格的得分如下: 6 7 8 9 因为1+2+3=6,1+2+4=7,1+3+4=8,2+3+4=9。 现在牛牛想知道下一步选择每个格子的得分情况,你可以帮帮他吗?

笔试强训-day17_T1 BC45 小乐乐改数字

一、题目链接 BC45 小乐乐改数字 二、题目描述 小乐乐喜欢数字,尤其喜欢0和1。他现在得到了一个数,想把每位的数变成0或1。如果某一位是奇数,就把它变成1,如果是偶数,那么就把它变成0。请你回答他最后得到的数是多少。 输入描述: 输入包含一个整数n (0 ≤ n ≤ 109) 输出描述: 输出一个整数,即小乐乐修改后得到的数字。 示例1 输入:222222 输出:0 示例2 输入:123 输