C++笔试强训day19

目录

1.小易的升级之路

2.礼物的最大价值

3.对称之美


1.小易的升级之路

链接

模拟就行,唯一可能是难点得就是gcd(最大公约数)

cpp 复制代码
#include <iostream>
using namespace std;
#define int long long
const int N = 1e5 + 10;
int arr[N];
int gcd(int a, int b)
{
	return b == 0 ? a : gcd(b, a % b);
}
signed main() {
	int n, init;
	cin >> n >> init;
	for (int i = 0; i < n; ++i)
		cin >> arr[i];
	for (int i = 0; i < n; ++i)
		if (init >= arr[i])
			init += arr[i];
		else
			init += gcd(init, arr[i]);
	cout << init << endl;
	return 0;
}

2.礼物的最大价值

链接

动态规划 - 路径问题。

cpp 复制代码
typedef long long LL;
class Solution {
public:
	const static int N = 300;
	LL dp[N][N] = { 0 };
	int maxValue(vector<vector<int>>& grid) {
		int n = grid.size();
		int m = grid[0].size();
		for (int i = 1; i <= n; ++i)
			for (int j = 1; j <= m; ++j)
				dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + grid[i - 1][j - 1];
		return dp[n][m];
	}
};

3.对称之美

链接

从第1个字符串一直到第n个字符串每个串取一个字母来构成一个新字符串,新字符串的第i个字母只能从第i行的字符串中选出。

根据题意:

我们可以从两边开始(一个下标为0, 一个下标为 n - 1)开始遍历,如果一路遍历下来,所有的两边两个字符串中都有相同的字符,则返回Yes,若有一个没有则No

详细代码:

cpp 复制代码
#include <iostream>
#include <vector>
using namespace std;
vector<string> vs(110);
// 哈希判断是否有相同字符
bool Check(string s, string t)
{
	int hash[128] = { 0 };
	for (auto c : s)
		hash[c]++;
	for (auto c : t)
		if (hash[c] != 0)
			return true;
	return false;
}
// 双指针
void solve()
{
	int n;
	cin >> n;
	for (int i = 0; i < n; ++i)
		cin >> vs[i];
	int flag = 1;
	int l = 0, r = n - 1;
	while (l < r)
	{
		if (!Check(vs[l], vs[r]))
			flag = 0;
		l++;
		r--;
	}
	if (flag == 1)
		cout << "Yes" << endl;
	else
		cout << "No" << endl;
}
int main() {
	int t;
	cin >> t;
	while (t--)
		solve();
}
相关推荐
Once_day1 分钟前
C++之《程序员自我修养》读书总结(1)
c语言·开发语言·c++·程序员自我修养
Trouvaille ~11 分钟前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
偷吃的耗子16 分钟前
【CNN算法理解】:CNN平移不变性详解:数学原理与实例
人工智能·算法·cnn
坚果派·白晓明22 分钟前
在鸿蒙设备上快速验证由lycium工具快速交叉编译的C/C++三方库
c语言·c++·harmonyos·鸿蒙·编程语言·openharmony·三方库
小镇敲码人29 分钟前
深入剖析华为CANN框架下的Ops-CV仓库:从入门到实战指南
c++·python·华为·cann
dazzle1 小时前
机器学习算法原理与实践-入门(三):使用数学方法实现KNN
人工智能·算法·机器学习
那个村的李富贵1 小时前
智能炼金术:CANN加速的新材料AI设计系统
人工智能·算法·aigc·cann
张张努力变强2 小时前
C++ STL string 类:常用接口 + auto + 范围 for全攻略,字符串操作效率拉满
开发语言·数据结构·c++·算法·stl
万岳科技系统开发2 小时前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
小镇敲码人2 小时前
探索CANN框架中TBE仓库:张量加速引擎的优化之道
c++·华为·acl·cann·ops-nn